1 line
3.7 MiB
1 line
3.7 MiB
{"version":"v2","builtAt":"2026-05-29T01:18:47.611Z","signature":"/Users/mike/Code/Kordant/web/drizzle.config.ts:330:1779803284249.3042|/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:1940:1779831246628.9053|/Users/mike/Code/Kordant/web/playwright.config.ts:990:1779831190114.5112|/Users/mike/Code/Kordant/web/public/instrument.server.mjs:200:1779829859730.4688|/Users/mike/Code/Kordant/web/src/app.tsx:2747:1779803284250.7285|/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:4634:1779803284252.9885|/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:2826:1779803284251.8901|/Users/mike/Code/Kordant/web/src/components/auth/index.ts:182:1779803284254.3203|/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:3442:1779803284252.0325|/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx:2371:1779803284252.6035|/Users/mike/Code/Kordant/web/src/components/Counter.tsx:286:1779803284251.2278|/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:3354:1779803284254.6443|/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:5968:1779803284254.9255|/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:14260:1779803284258.2385|/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:4903:1779803284255.1016|/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:4090:1779803284255.3394|/Users/mike/Code/Kordant/web/src/components/dashboard/index.ts:626:1779803284258.6082|/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx:1306:1779803284255.5808|/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx:3128:1779803284255.8757|/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:3667:1779803284256.0776|/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:5836:1779803284256.2642|/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:4079:1779803284256.689|/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx:1787:1779803284257.1472|/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:3796:1779803284257.2876|/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:4868:1779803284257.582|/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:4799:1779803284257.7502|/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:2256:1779816513380.226|/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:3193:1779838977047.1702|/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:14703:1779803284259.7847|/Users/mike/Code/Kordant/web/src/components/landing/index.ts:61:1779825458893.39|/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:989:1779803284263.767|/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:6994:1779803284264.4355|/Users/mike/Code/Kordant/web/src/components/layout/index.ts:239:1779803284265.6162|/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:2826:1779803284265.7336|/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:11398:1779815844873.3823|/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx:420:1779803284265.3037|/Users/mike/Code/Kordant/web/src/components/layout/useAuth.ts:41:1779803284265.8306|/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx:952:1779803284266.1272|/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:2403:1779803284266.4082|/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx:765:1779803284266.5715|/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx:1049:1779803284266.7163|/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:3296:1779803284267.0698|/Users/mike/Code/Kordant/web/src/components/ui/index.ts:544:1779803284268.225|/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:1988:1779803284267.2195|/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:4524:1779803284267.3965|/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:826:1779821639137.466|/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:2663:1779803284267.6602|/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:4070:1779803284267.8906|/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:5013:1779803284268.087|/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:17894:1779803284268.4177|/Users/mike/Code/Kordant/web/src/entry-client.tsx:479:1779829809322.6423|/Users/mike/Code/Kordant/web/src/entry-server.tsx:867:1779803284268.7124|/Users/mike/Code/Kordant/web/src/hooks/index.ts:189:1779803284269.0813|/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:581:1779803284269.173|/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:770:1779803284269.294|/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:2397:1779803284269.4026|/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:1642:1779824915386.4678|/Users/mike/Code/Kordant/web/src/lib/api.ts:953:1779803284269.739|/Users/mike/Code/Kordant/web/src/lib/auth.ts:1006:1779816765703.549|/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:3386:1779994379908.3162|/Users/mike/Code/Kordant/web/src/lib/html-utils.ts:828:1779994347345.3896|/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:8510:1779803284270.2415|/Users/mike/Code/Kordant/web/src/lib/theme.tsx:3309:1779803284270.3945|/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:4074:1779994702369.6116|/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:1844:1779994692121.9048|/Users/mike/Code/Kordant/web/src/lib/utils.ts:136:1779803284270.5266|/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:5387:1779803284270.6982|/Users/mike/Code/Kordant/web/src/lib/websocket.ts:5351:1779803284270.8855|/Users/mike/Code/Kordant/web/src/middleware.test.ts:2474:1779994795425.1086|/Users/mike/Code/Kordant/web/src/middleware.ts:3167:1779994776725.598|/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:8598:1779807687942.5193|/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:5682:1779808617087.3262|/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:8791:1779807541395.8289|/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:2561:1779804936335.5554|/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:2577:1779807421486.1924|/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:5620:1779808736684.6572|/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:3975:1779805374012.056|/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:9751:1779803284271.22|/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:4351:1779803284272.0042|/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:5656:1779803284272.5906|/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:15108:1779816845562.649|/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:5509:1779803284273.3413|/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:9030:1779803284273.5552|/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:5875:1779803284274.0974|/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx:2268:1779803284274.3887|/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:3931:1779803284274.5955|/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:5924:1779803284274.8645|/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:2443:1779803284275.23|/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:4434:1779803284275.3982|/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:3317:1779803284275.5435|/Users/mike/Code/Kordant/web/src/routes/[...404].tsx:1741:1779803284275.7053|/Users/mike/Code/Kordant/web/src/routes/about.tsx:163:1779803284276.3022|/Users/mike/Code/Kordant/web/src/routes/ads.tsx:15827:1779803284276.7786|/Users/mike/Code/Kordant/web/src/routes/api/health.ts:343:1779829512435.379|/Users/mike/Code/Kordant/web/src/routes/api/ready.ts:372:1779829519681.7434|/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts:1013:1779816727547.2202|/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:2664:1780002021789.045|/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:2065:1780002021789.3938|/Users/mike/Code/Kordant/web/src/routes/api/trpc/[trpc].ts:514:1779803284277.2998|/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx:157:1779803284277.7676|/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:3303:1779816639476.9346|/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:4982:1779816702810.5154|/Users/mike/Code/Kordant/web/src/routes/blog.tsx:9961:1779832812389.7742|/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:10871:1779994356677.0107|/Users/mike/Code/Kordant/web/src/routes/features.tsx:9746:1779807330382.5754|/Users/mike/Code/Kordant/web/src/routes/index.tsx:19729:1779825441081.4365|/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:20467:1779833358648.2017|/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:15045:1779825017593.3635|/Users/mike/Code/Kordant/web/src/routes/privacy.tsx:2683:1779831505520.623|/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts:1073:1779831573812.1372|/Users/mike/Code/Kordant/web/src/routes/terms.tsx:2416:1779831513213.1917|/Users/mike/Code/Kordant/web/src/server/api/root.ts:1375:1779804622992.3684|/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:5136:1779805214365.268|/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts:346:1779831614963.8792|/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:8130:1779816208920.701|/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:4920:1779824809877.1907|/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:2811:1779805051044.5076|/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:7853:1779803284283.319|/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:1517:1779803284283.461|/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:7364:1779803284283.813|/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:1840:1779803284283.9714|/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts:312:1779803284284.3062|/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:1943:1779803284284.4592|/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:6574:1779803284284.7905|/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:1678:1779803284284.917|/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:2504:1779803284285.2085|/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:7500:1779803284285.7876|/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:1740:1779803284286.2207|/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:6662:1779803284286.5476|/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:1506:1779803284286.8662|/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:2624:1779803284287.3284|/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:8233:1779803284287.5295|/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:2127:1779803284287.7354|/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:9154:1779803284287.926|/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:3337:1779803284288.4158|/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:7264:1779803284289.152|/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:1788:1779803284289.3074|/Users/mike/Code/Kordant/web/src/server/api/schemas/billing.ts:904:1779994601768.2043|/Users/mike/Code/Kordant/web/src/server/api/schemas/correlation.ts:997:1779803284289.6638|/Users/mike/Code/Kordant/web/src/server/api/schemas/darkwatch.ts:855:1779803284289.7944|/Users/mike/Code/Kordant/web/src/server/api/schemas/extension.ts:333:1779803284290.2795|/Users/mike/Code/Kordant/web/src/server/api/schemas/hometitle.ts:714:1779803284290.5789|/Users/mike/Code/Kordant/web/src/server/api/schemas/removebrokers.ts:1051:1779803284291.1328|/Users/mike/Code/Kordant/web/src/server/api/schemas/reports.ts:774:1779803284291.4824|/Users/mike/Code/Kordant/web/src/server/api/schemas/scheduler.ts:497:1779803284291.7698|/Users/mike/Code/Kordant/web/src/server/api/schemas/spamshield.ts:1092:1779803284292.4673|/Users/mike/Code/Kordant/web/src/server/api/schemas/user.ts:552:1779803284292.7976|/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:2121:1780017525770.7253|/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.ts:1309:1780016061750.7163|/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:4269:1780007787225.48|/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.ts:1291:1780006277148.0356|/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:3182:1779803284293.2405|/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:2164:1779803284293.6191|/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:3786:1779994750078.8528|/Users/mike/Code/Kordant/web/src/server/api/utils.ts:1667:1779994724877.2402|/Users/mike/Code/Kordant/web/src/server/api/validation.ts:1392:1779829318862.9258|/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:570:1779803284294.0808|/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:894:1779828960627.9836|/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:744:1779803284294.4348|/Users/mike/Code/Kordant/web/src/server/auth/password.ts:316:1779803284294.5364|/Users/mike/Code/Kordant/web/src/server/auth/session.ts:1000:1779803284294.6794|/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:617:1779803284294.969|/Users/mike/Code/Kordant/web/src/server/db/index.ts:475:1779803284295.1511|/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:614:1779803284295.3662|/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:15492:1779826923506.985|/Users/mike/Code/Kordant/web/src/server/db/schema.ts:32:1779803284295.945|/Users/mike/Code/Kordant/web/src/server/db/schema/alerts.ts:1440:1779803284296.0898|/Users/mike/Code/Kordant/web/src/server/db/schema/audit.ts:1459:1779803284296.1934|/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts:3694:1779803284296.3613|/Users/mike/Code/Kordant/web/src/server/db/schema/correlation.ts:2637:1779803284296.4863|/Users/mike/Code/Kordant/web/src/server/db/schema/darkwatch.ts:2472:1779803284296.6345|/Users/mike/Code/Kordant/web/src/server/db/schema/enums.ts:5099:1779803284296.934|/Users/mike/Code/Kordant/web/src/server/db/schema/hometitle.ts:3554:1779803284297.1147|/Users/mike/Code/Kordant/web/src/server/db/schema/index.ts:532:1779999090639.0303|/Users/mike/Code/Kordant/web/src/server/db/schema/invitation.ts:856:1779803284297.4902|/Users/mike/Code/Kordant/web/src/server/db/schema/marketing.ts:2199:1779803303735.9922|/Users/mike/Code/Kordant/web/src/server/db/schema/notifications.ts:823:1779803284297.738|/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts:8191:1779803284297.8757|/Users/mike/Code/Kordant/web/src/server/db/schema/removebrokers.ts:4140:1779803284297.9814|/Users/mike/Code/Kordant/web/src/server/db/schema/report-schedules.ts:1006:1779803284298.0896|/Users/mike/Code/Kordant/web/src/server/db/schema/reports.ts:1672:1779803284298.1978|/Users/mike/Code/Kordant/web/src/server/db/schema/spamshield.ts:2025:1779803284298.3213|/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts:3516:1779823742678.7666|/Users/mike/Code/Kordant/web/src/server/db/schema/voiceprint.ts:3478:1779803284298.5593|/Users/mike/Code/Kordant/web/src/server/db/schema/webhook-events.ts:525:1780002021788.5361|/Users/mike/Code/Kordant/web/src/server/db/seed.ts:20580:1779809331122.3884|/Users/mike/Code/Kordant/web/src/server/health.ts:1632:1779829501223.3374|/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:2022:1779803284299.0408|/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:1157:1779803284299.2961|/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:1194:1779803284299.4702|/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:1277:1779803284299.5984|/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:1894:1779803284299.9436|/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:961:1779803284300.39|/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:1780:1779803284300.9924|/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:2094:1779803284301.129|/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:1326:1779803284301.2617|/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:3349:1779803284301.3757|/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:6086:1779803284301.697|/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:4999:1779825127938.5166|/Users/mike/Code/Kordant/web/src/server/jobs/start.ts:336:1779808292767.423|/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:5774:1779803284301.9346|/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:2322:1779803284302.047|/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:2035:1779830895416.558|/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:1625:1779830944564.5066|/Users/mike/Code/Kordant/web/src/server/lib/env.ts:1851:1779828849668.1597|/Users/mike/Code/Kordant/web/src/server/lib/fcm.ts:550:1779803284302.3445|/Users/mike/Code/Kordant/web/src/server/lib/logger.ts:807:1779829678742.2678|/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:2330:1779829418702.6538|/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts:664:1779829725212.3699|/Users/mike/Code/Kordant/web/src/server/lib/resend.ts:102:1779803284302.4487|/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:2272:1779824049764.3613|/Users/mike/Code/Kordant/web/src/server/lib/twilio.ts:235:1779803284302.556|/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:3036:1779803284302.7356|/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:1769:1779803284302.8594|/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:9423:1780007787226.1682|/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:7812:1779995096922.521|/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:6131:1779803284303.3428|/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:13454:1779803284303.6584|/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:9202:1779803284303.839|/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:3759:1779803284303.9712|/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:5559:1779803284304.1287|/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:4680:1779803284304.341|/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:4447:1779803284304.533|/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:10796:1779824161064.3828|/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:4390:1779803284305.3857|/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:866:1779803284305.7495|/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:6166:1779803284305.9014|/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:2518:1779803284306.1582|/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:7203:1779803284306.3274|/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:7720:1779803284307.8018|/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:6120:1779803284308.5056|/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:14355:1779824466074.9214|/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:4116:1779803284309.0374|/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:3057:1779803284309.1602|/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:14056:1779803284309.478|/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:6137:1779803284309.6506|/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:9132:1779803284309.8066|/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:14884:1779803284310.0405|/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:14348:1779803284310.287|/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:2409:1779803284310.4097|/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:9293:1779825542963.7852|/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:6800:1779824578139.5684|/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:3679:1779994561931.2058|/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:11438:1779994503839.6943|/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:4774:1779803284312.3464|/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:9909:1779803284312.4895|/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:2873:1779803284312.6448|/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:2228:1779803284312.7537|/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:994:1779803284313.2297|/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:2849:1779803284313.4036|/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:4030:1779803284313.5776|/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:3022:1779803284313.7524|/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:9795:1780017588568.6372|/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:8800:1780017420034.1106|/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:1872:1779803284314.4377|/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:1189:1779803284314.5806|/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:3116:1779803284314.9514|/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:1288:1779803284315.135|/Users/mike/Code/Kordant/web/src/server/stripe.ts:170:1779803284315.3105|/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:6225:1780015357106.1548|/Users/mike/Code/Kordant/web/src/server/websocket.ts:7616:1780014537776.2446|/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js:100:1779839188770.5833|/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js:552:1779839103008.6477|/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:2304:1779841374015.8792|/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:900:1779840190231.1396|/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js:119:1779838879159.5737|/Users/mike/Code/Kordant/web/test/__mocks__/ws.js:297:1779838793133.988|/Users/mike/Code/Kordant/web/test/setup.ts:1713:1779838943045.9756|/Users/mike/Code/Kordant/web/vite.config.ts:302:1779803284316.2976|/Users/mike/Code/Kordant/web/vitest.config.ts:2323:1779840057470.3708","fileSignatures":[["/Users/mike/Code/Kordant/web/drizzle.config.ts","330:1779803284249.3042"],["/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","1940:1779831246628.9053"],["/Users/mike/Code/Kordant/web/playwright.config.ts","990:1779831190114.5112"],["/Users/mike/Code/Kordant/web/public/instrument.server.mjs","200:1779829859730.4688"],["/Users/mike/Code/Kordant/web/src/app.tsx","2747:1779803284250.7285"],["/Users/mike/Code/Kordant/web/src/components/Counter.tsx","286:1779803284251.2278"],["/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","2256:1779816513380.226"],["/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","2826:1779803284251.8901"],["/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx","3442:1779803284252.0325"],["/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx","2371:1779803284252.6035"],["/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","4634:1779803284252.9885"],["/Users/mike/Code/Kordant/web/src/components/auth/index.ts","182:1779803284254.3203"],["/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","3354:1779803284254.6443"],["/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","5968:1779803284254.9255"],["/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","4903:1779803284255.1016"],["/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","4090:1779803284255.3394"],["/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","1306:1779803284255.5808"],["/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","3128:1779803284255.8757"],["/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","3667:1779803284256.0776"],["/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","5836:1779803284256.2642"],["/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","4079:1779803284256.689"],["/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx","1787:1779803284257.1472"],["/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","3796:1779803284257.2876"],["/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","4868:1779803284257.582"],["/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","4799:1779803284257.7502"],["/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","14260:1779803284258.2385"],["/Users/mike/Code/Kordant/web/src/components/dashboard/index.ts","626:1779803284258.6082"],["/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","14703:1779803284259.7847"],["/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","3193:1779838977047.1702"],["/Users/mike/Code/Kordant/web/src/components/landing/index.ts","61:1779825458893.39"],["/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","989:1779803284263.767"],["/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","6994:1779803284264.4355"],["/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","11398:1779815844873.3823"],["/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx","420:1779803284265.3037"],["/Users/mike/Code/Kordant/web/src/components/layout/index.ts","239:1779803284265.6162"],["/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","2826:1779803284265.7336"],["/Users/mike/Code/Kordant/web/src/components/layout/useAuth.ts","41:1779803284265.8306"],["/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx","952:1779803284266.1272"],["/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","2403:1779803284266.4082"],["/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx","765:1779803284266.5715"],["/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx","1049:1779803284266.7163"],["/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","3296:1779803284267.0698"],["/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx","1988:1779803284267.2195"],["/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","4524:1779803284267.3965"],["/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","826:1779821639137.466"],["/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","2663:1779803284267.6602"],["/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","4070:1779803284267.8906"],["/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","5013:1779803284268.087"],["/Users/mike/Code/Kordant/web/src/components/ui/index.ts","544:1779803284268.225"],["/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","17894:1779803284268.4177"],["/Users/mike/Code/Kordant/web/src/entry-client.tsx","479:1779829809322.6423"],["/Users/mike/Code/Kordant/web/src/entry-server.tsx","867:1779803284268.7124"],["/Users/mike/Code/Kordant/web/src/hooks/index.ts","189:1779803284269.0813"],["/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","581:1779803284269.173"],["/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","770:1779803284269.294"],["/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","2397:1779803284269.4026"],["/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","1642:1779824915386.4678"],["/Users/mike/Code/Kordant/web/src/lib/api.ts","953:1779803284269.739"],["/Users/mike/Code/Kordant/web/src/lib/auth.ts","1006:1779816765703.549"],["/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","3386:1779994379908.3162"],["/Users/mike/Code/Kordant/web/src/lib/html-utils.ts","828:1779994347345.3896"],["/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","8510:1779803284270.2415"],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx","3309:1779803284270.3945"],["/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","4074:1779994702369.6116"],["/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","1844:1779994692121.9048"],["/Users/mike/Code/Kordant/web/src/lib/utils.ts","136:1779803284270.5266"],["/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","5387:1779803284270.6982"],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts","5351:1779803284270.8855"],["/Users/mike/Code/Kordant/web/src/middleware.test.ts","2474:1779994795425.1086"],["/Users/mike/Code/Kordant/web/src/middleware.ts","3167:1779994776725.598"],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","8598:1779807687942.5193"],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","5682:1779808617087.3262"],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","8791:1779807541395.8289"],["/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","2561:1779804936335.5554"],["/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","2577:1779807421486.1924"],["/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","5620:1779808736684.6572"],["/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","3975:1779805374012.056"],["/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","9751:1779803284271.22"],["/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","4351:1779803284272.0042"],["/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","5656:1779803284272.5906"],["/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","15108:1779816845562.649"],["/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","5509:1779803284273.3413"],["/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","9030:1779803284273.5552"],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","5875:1779803284274.0974"],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","2268:1779803284274.3887"],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","3931:1779803284274.5955"],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","5924:1779803284274.8645"],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","2443:1779803284275.23"],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","4434:1779803284275.3982"],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","3317:1779803284275.5435"],["/Users/mike/Code/Kordant/web/src/routes/[...404].tsx","1741:1779803284275.7053"],["/Users/mike/Code/Kordant/web/src/routes/about.tsx","163:1779803284276.3022"],["/Users/mike/Code/Kordant/web/src/routes/ads.tsx","15827:1779803284276.7786"],["/Users/mike/Code/Kordant/web/src/routes/api/health.ts","343:1779829512435.379"],["/Users/mike/Code/Kordant/web/src/routes/api/ready.ts","372:1779829519681.7434"],["/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts","1013:1779816727547.2202"],["/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","2664:1780002021789.045"],["/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","2065:1780002021789.3938"],["/Users/mike/Code/Kordant/web/src/routes/api/trpc/[trpc].ts","514:1779803284277.2998"],["/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx","157:1779803284277.7676"],["/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","3303:1779816639476.9346"],["/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","4982:1779816702810.5154"],["/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","10871:1779994356677.0107"],["/Users/mike/Code/Kordant/web/src/routes/blog.tsx","9961:1779832812389.7742"],["/Users/mike/Code/Kordant/web/src/routes/features.tsx","9746:1779807330382.5754"],["/Users/mike/Code/Kordant/web/src/routes/index.tsx","19729:1779825441081.4365"],["/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","20467:1779833358648.2017"],["/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","15045:1779825017593.3635"],["/Users/mike/Code/Kordant/web/src/routes/privacy.tsx","2683:1779831505520.623"],["/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts","1073:1779831573812.1372"],["/Users/mike/Code/Kordant/web/src/routes/terms.tsx","2416:1779831513213.1917"],["/Users/mike/Code/Kordant/web/src/server/api/root.ts","1375:1779804622992.3684"],["/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","5136:1779805214365.268"],["/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts","346:1779831614963.8792"],["/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","8130:1779816208920.701"],["/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","4920:1779824809877.1907"],["/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","2811:1779805051044.5076"],["/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","7853:1779803284283.319"],["/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","1517:1779803284283.461"],["/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","7364:1779803284283.813"],["/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","1840:1779803284283.9714"],["/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts","312:1779803284284.3062"],["/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","1943:1779803284284.4592"],["/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","6574:1779803284284.7905"],["/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","1678:1779803284284.917"],["/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","2504:1779803284285.2085"],["/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","7500:1779803284285.7876"],["/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","1740:1779803284286.2207"],["/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","6662:1779803284286.5476"],["/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","1506:1779803284286.8662"],["/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","2624:1779803284287.3284"],["/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","8233:1779803284287.5295"],["/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","2127:1779803284287.7354"],["/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","9154:1779803284287.926"],["/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","3337:1779803284288.4158"],["/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","7264:1779803284289.152"],["/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","1788:1779803284289.3074"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/billing.ts","904:1779994601768.2043"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/correlation.ts","997:1779803284289.6638"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/darkwatch.ts","855:1779803284289.7944"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/extension.ts","333:1779803284290.2795"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/hometitle.ts","714:1779803284290.5789"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/removebrokers.ts","1051:1779803284291.1328"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/reports.ts","774:1779803284291.4824"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/scheduler.ts","497:1779803284291.7698"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/spamshield.ts","1092:1779803284292.4673"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/user.ts","552:1779803284292.7976"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","2121:1780017525770.7253"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.ts","1309:1780016061750.7163"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","4269:1780007787225.48"],["/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.ts","1291:1780006277148.0356"],["/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","3182:1779803284293.2405"],["/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","2164:1779803284293.6191"],["/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","3786:1779994750078.8528"],["/Users/mike/Code/Kordant/web/src/server/api/utils.ts","1667:1779994724877.2402"],["/Users/mike/Code/Kordant/web/src/server/api/validation.ts","1392:1779829318862.9258"],["/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","570:1779803284294.0808"],["/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","894:1779828960627.9836"],["/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","744:1779803284294.4348"],["/Users/mike/Code/Kordant/web/src/server/auth/password.ts","316:1779803284294.5364"],["/Users/mike/Code/Kordant/web/src/server/auth/session.ts","1000:1779803284294.6794"],["/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","617:1779803284294.969"],["/Users/mike/Code/Kordant/web/src/server/db/index.ts","475:1779803284295.1511"],["/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","614:1779803284295.3662"],["/Users/mike/Code/Kordant/web/src/server/db/schema/alerts.ts","1440:1779803284296.0898"],["/Users/mike/Code/Kordant/web/src/server/db/schema/audit.ts","1459:1779803284296.1934"],["/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","3694:1779803284296.3613"],["/Users/mike/Code/Kordant/web/src/server/db/schema/correlation.ts","2637:1779803284296.4863"],["/Users/mike/Code/Kordant/web/src/server/db/schema/darkwatch.ts","2472:1779803284296.6345"],["/Users/mike/Code/Kordant/web/src/server/db/schema/enums.ts","5099:1779803284296.934"],["/Users/mike/Code/Kordant/web/src/server/db/schema/hometitle.ts","3554:1779803284297.1147"],["/Users/mike/Code/Kordant/web/src/server/db/schema/index.ts","532:1779999090639.0303"],["/Users/mike/Code/Kordant/web/src/server/db/schema/invitation.ts","856:1779803284297.4902"],["/Users/mike/Code/Kordant/web/src/server/db/schema/marketing.ts","2199:1779803303735.9922"],["/Users/mike/Code/Kordant/web/src/server/db/schema/notifications.ts","823:1779803284297.738"],["/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","8191:1779803284297.8757"],["/Users/mike/Code/Kordant/web/src/server/db/schema/removebrokers.ts","4140:1779803284297.9814"],["/Users/mike/Code/Kordant/web/src/server/db/schema/report-schedules.ts","1006:1779803284298.0896"],["/Users/mike/Code/Kordant/web/src/server/db/schema/reports.ts","1672:1779803284298.1978"],["/Users/mike/Code/Kordant/web/src/server/db/schema/spamshield.ts","2025:1779803284298.3213"],["/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","3516:1779823742678.7666"],["/Users/mike/Code/Kordant/web/src/server/db/schema/voiceprint.ts","3478:1779803284298.5593"],["/Users/mike/Code/Kordant/web/src/server/db/schema/webhook-events.ts","525:1780002021788.5361"],["/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","15492:1779826923506.985"],["/Users/mike/Code/Kordant/web/src/server/db/schema.ts","32:1779803284295.945"],["/Users/mike/Code/Kordant/web/src/server/db/seed.ts","20580:1779809331122.3884"],["/Users/mike/Code/Kordant/web/src/server/health.ts","1632:1779829501223.3374"],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","2022:1779803284299.0408"],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","1157:1779803284299.2961"],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts","1194:1779803284299.4702"],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","1277:1779803284299.5984"],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","1894:1779803284299.9436"],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts","961:1779803284300.39"],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","1780:1779803284300.9924"],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts","2094:1779803284301.129"],["/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","1326:1779803284301.2617"],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","3349:1779803284301.3757"],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","6086:1779803284301.697"],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","4999:1779825127938.5166"],["/Users/mike/Code/Kordant/web/src/server/jobs/start.ts","336:1779808292767.423"],["/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","5774:1779803284301.9346"],["/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","2322:1779803284302.047"],["/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","2035:1779830895416.558"],["/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","1625:1779830944564.5066"],["/Users/mike/Code/Kordant/web/src/server/lib/env.ts","1851:1779828849668.1597"],["/Users/mike/Code/Kordant/web/src/server/lib/fcm.ts","550:1779803284302.3445"],["/Users/mike/Code/Kordant/web/src/server/lib/logger.ts","807:1779829678742.2678"],["/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","2330:1779829418702.6538"],["/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts","664:1779829725212.3699"],["/Users/mike/Code/Kordant/web/src/server/lib/resend.ts","102:1779803284302.4487"],["/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","2272:1779824049764.3613"],["/Users/mike/Code/Kordant/web/src/server/lib/twilio.ts","235:1779803284302.556"],["/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","3036:1779803284302.7356"],["/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","1769:1779803284302.8594"],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","9423:1780007787226.1682"],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","7812:1779995096922.521"],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","9202:1779803284303.839"],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","3759:1779803284303.9712"],["/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","5559:1779803284304.1287"],["/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","4680:1779803284304.341"],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","6131:1779803284303.3428"],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","13454:1779803284303.6584"],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","4390:1779803284305.3857"],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","866:1779803284305.7495"],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","6166:1779803284305.9014"],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","4447:1779803284304.533"],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","10796:1779824161064.3828"],["/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","2518:1779803284306.1582"],["/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","7203:1779803284306.3274"],["/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","7720:1779803284307.8018"],["/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","6120:1779803284308.5056"],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","4116:1779803284309.0374"],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","3057:1779803284309.1602"],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","14355:1779824466074.9214"],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","14056:1779803284309.478"],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","6137:1779803284309.6506"],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","14348:1779803284310.287"],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","2409:1779803284310.4097"],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","9132:1779803284309.8066"],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","14884:1779803284310.0405"],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","3679:1779994561931.2058"],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","11438:1779994503839.6943"],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","9293:1779825542963.7852"],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","6800:1779824578139.5684"],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","2873:1779803284312.6448"],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","2228:1779803284312.7537"],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","994:1779803284313.2297"],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","2849:1779803284313.4036"],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","4774:1779803284312.3464"],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","9909:1779803284312.4895"],["/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","4030:1779803284313.5776"],["/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","3022:1779803284313.7524"],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","1872:1779803284314.4377"],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","1189:1779803284314.5806"],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","3116:1779803284314.9514"],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","1288:1779803284315.135"],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","9795:1780017588568.6372"],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","8800:1780017420034.1106"],["/Users/mike/Code/Kordant/web/src/server/stripe.ts","170:1779803284315.3105"],["/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","6225:1780015357106.1548"],["/Users/mike/Code/Kordant/web/src/server/websocket.ts","7616:1780014537776.2446"],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js","100:1779839188770.5833"],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js","552:1779839103008.6477"],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","2304:1779841374015.8792"],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","900:1779840190231.1396"],["/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js","119:1779838879159.5737"],["/Users/mike/Code/Kordant/web/test/__mocks__/ws.js","297:1779838793133.988"],["/Users/mike/Code/Kordant/web/test/setup.ts","1713:1779838943045.9756"],["/Users/mike/Code/Kordant/web/vite.config.ts","302:1779803284316.2976"],["/Users/mike/Code/Kordant/web/vitest.config.ts","2323:1779840057470.3708"]],"nodes":[["file:/Users/mike/Code/Kordant/web/drizzle.config.ts",{"id":"file:/Users/mike/Code/Kordant/web/drizzle.config.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/drizzle.config.ts","metadata":{"lineCount":12,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:drizzle-kit",{"id":"external:drizzle-kit","kind":"external","language":"jsts","metadata":{"source":"drizzle-kit"}}],["file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts",{"id":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","metadata":{"lineCount":63,"featureKind":"library","trustBoundaries":[]}}],["external:@playwright/test",{"id":"external:@playwright/test","kind":"external","language":"jsts","metadata":{"source":"@playwright/test"}}],["/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":54,"column":36,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:test",{"id":"symbol-name:test","kind":"symbol","language":"jsts","symbolName":"test","metadata":{"unresolvedName":"test"}}],["external:page.goto",{"id":"external:page.goto","kind":"external","language":"jsts","metadata":{"unresolvedName":"page.goto"}}],["external:expect(page).toHaveTitle",{"id":"external:expect(page).toHaveTitle","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(page).toHaveTitle"}}],["symbol-name:expect",{"id":"symbol-name:expect","kind":"symbol","language":"jsts","symbolName":"expect","metadata":{"unresolvedName":"expect"}}],["external:page.getByRole(\"link\", { name: /features/i }).click",{"id":"external:page.getByRole(\"link\", { name: /features/i }).click","kind":"external","language":"jsts","metadata":{"unresolvedName":"page.getByRole(\"link\", { name: /features/i }).click"}}],["external:page.getByRole",{"id":"external:page.getByRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"page.getByRole"}}],["external:expect(page).toHaveURL",{"id":"external:expect(page).toHaveURL","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(page).toHaveURL"}}],["external:expect(page.locator(\"form\")).toBeVisible",{"id":"external:expect(page.locator(\"form\")).toBeVisible","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(page.locator(\"form\")).toBeVisible"}}],["external:page.locator",{"id":"external:page.locator","kind":"external","language":"jsts","metadata":{"unresolvedName":"page.locator"}}],["external:expect(page).toBeURL",{"id":"external:expect(page).toBeURL","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(page).toBeURL"}}],["external:page.evaluate",{"id":"external:page.evaluate","kind":"external","language":"jsts","metadata":{"unresolvedName":"page.evaluate"}}],["external:document.querySelectorAll",{"id":"external:document.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.querySelectorAll"}}],["external:Array.from",{"id":"external:Array.from","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from"}}],["external:window.getComputedStyle",{"id":"external:window.getComputedStyle","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.getComputedStyle"}}],["external:issues.push",{"id":"external:issues.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"issues.push"}}],["external:expect(contrasts).toBeDefined",{"id":"external:expect(contrasts).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(contrasts).toBeDefined"}}],["external:page.locator(\"img\").all",{"id":"external:page.locator(\"img\").all","kind":"external","language":"jsts","metadata":{"unresolvedName":"page.locator(\"img\").all"}}],["external:img.getAttribute",{"id":"external:img.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"img.getAttribute"}}],["external:expect(alt).toBeDefined",{"id":"external:expect(alt).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(alt).toBeDefined"}}],["file:/Users/mike/Code/Kordant/web/playwright.config.ts",{"id":"file:/Users/mike/Code/Kordant/web/playwright.config.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/playwright.config.ts","metadata":{"lineCount":45,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/public/instrument.server.mjs",{"id":"file:/Users/mike/Code/Kordant/web/public/instrument.server.mjs","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/public/instrument.server.mjs","metadata":{"lineCount":9,"featureKind":"library","trustBoundaries":[]}}],["external:@sentry/solidstart",{"id":"external:@sentry/solidstart","kind":"external","language":"jsts","metadata":{"source":"@sentry/solidstart"}}],["file:/Users/mike/Code/Kordant/web/src/app.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/app.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/app.tsx","metadata":{"lineCount":98,"featureKind":"library","trustBoundaries":[]}}],["external:@solidjs/meta",{"id":"external:@solidjs/meta","kind":"external","language":"jsts","metadata":{"source":"@solidjs/meta"}}],["external:@solidjs/router",{"id":"external:@solidjs/router","kind":"external","language":"jsts","metadata":{"source":"@solidjs/router"}}],["external:@solidjs/start/router",{"id":"external:@solidjs/start/router","kind":"external","language":"jsts","metadata":{"source":"@solidjs/start/router"}}],["external:solid-js",{"id":"external:solid-js","kind":"external","language":"jsts","metadata":{"source":"solid-js"}}],["file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","metadata":{"lineCount":132,"featureKind":"library","trustBoundaries":[]}}],["external:clerk-solidjs/start",{"id":"external:clerk-solidjs/start","kind":"external","language":"jsts","metadata":{"source":"clerk-solidjs/start"}}],["external:clerk-solidjs",{"id":"external:clerk-solidjs","kind":"external","language":"jsts","metadata":{"source":"clerk-solidjs"}}],["file:/Users/mike/Code/Kordant/web/src/components/layout",{"id":"file:/Users/mike/Code/Kordant/web/src/components/layout","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout"}],["file:/Users/mike/Code/Kordant/web/src/components/ui",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui"}],["file:/Users/mike/Code/Kordant/web/src/app.css",{"id":"file:/Users/mike/Code/Kordant/web/src/app.css","kind":"file","language":"css","filePath":"/Users/mike/Code/Kordant/web/src/app.css"}],["/Users/mike/Code/Kordant/web/src/app.tsx:pathMatches",{"id":"/Users/mike/Code/Kordant/web/src/app.tsx:pathMatches","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/app.tsx","symbolName":"pathMatches","symbolKind":"function","exported":false,"metadata":{"line":15,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:prefixes.some",{"id":"external:prefixes.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"prefixes.some"}}],["external:pathname.startsWith",{"id":"external:pathname.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"pathname.startsWith"}}],["/Users/mike/Code/Kordant/web/src/app.tsx:RouteGuard",{"id":"/Users/mike/Code/Kordant/web/src/app.tsx:RouteGuard","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/app.tsx","symbolName":"RouteGuard","symbolKind":"function","exported":false,"metadata":{"line":21,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useLocation",{"id":"symbol-name:useLocation","kind":"symbol","language":"jsts","symbolName":"useLocation","metadata":{"unresolvedName":"useLocation"}}],["symbol-name:useAuth",{"id":"symbol-name:useAuth","kind":"symbol","language":"jsts","symbolName":"useAuth","metadata":{"unresolvedName":"useAuth"}}],["external:auth.isLoaded",{"id":"external:auth.isLoaded","kind":"external","language":"jsts","metadata":{"unresolvedName":"auth.isLoaded"}}],["external:auth.isSignedIn",{"id":"external:auth.isSignedIn","kind":"external","language":"jsts","metadata":{"unresolvedName":"auth.isSignedIn"}}],["symbol-name:pathMatches",{"id":"symbol-name:pathMatches","kind":"symbol","language":"jsts","symbolName":"pathMatches","metadata":{"unresolvedName":"pathMatches"}}],["symbol-name:redirect",{"id":"symbol-name:redirect","kind":"symbol","language":"jsts","symbolName":"redirect","metadata":{"unresolvedName":"redirect"}}],["/Users/mike/Code/Kordant/web/src/app.tsx:redirect",{"id":"/Users/mike/Code/Kordant/web/src/app.tsx:redirect","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/app.tsx","symbolName":"redirect","symbolKind":"function","exported":false,"metadata":{"line":25,"column":20,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/app.tsx:ClerkApp",{"id":"/Users/mike/Code/Kordant/web/src/app.tsx:ClerkApp","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/app.tsx","symbolName":"ClerkApp","symbolKind":"function","exported":false,"metadata":{"line":46,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/app.tsx:App",{"id":"/Users/mike/Code/Kordant/web/src/app.tsx:App","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/app.tsx","symbolName":"App","symbolKind":"function","exported":false,"metadata":{"line":64,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/Counter.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/Counter.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/Counter.tsx","metadata":{"lineCount":12,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/Counter.css",{"id":"file:/Users/mike/Code/Kordant/web/src/components/Counter.css","kind":"file","language":"css","filePath":"/Users/mike/Code/Kordant/web/src/components/Counter.css"}],["/Users/mike/Code/Kordant/web/src/components/Counter.tsx:Counter",{"id":"/Users/mike/Code/Kordant/web/src/components/Counter.tsx:Counter","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/Counter.tsx","symbolName":"Counter","symbolKind":"function","exported":false,"metadata":{"line":4,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createSignal",{"id":"symbol-name:createSignal","kind":"symbol","language":"jsts","symbolName":"createSignal","metadata":{"unresolvedName":"createSignal"}}],["symbol-name:setCount",{"id":"symbol-name:setCount","kind":"symbol","language":"jsts","symbolName":"setCount","metadata":{"unresolvedName":"setCount"}}],["symbol-name:count",{"id":"symbol-name:count","kind":"symbol","language":"jsts","symbolName":"count","metadata":{"unresolvedName":"count"}}],["file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","metadata":{"lineCount":80,"featureKind":"library","trustBoundaries":[]}}],["external:@stripe/stripe-js",{"id":"external:@stripe/stripe-js","kind":"external","language":"jsts","metadata":{"source":"@stripe/stripe-js"}}],["/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout",{"id":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","symbolName":"EmbeddedCheckout","symbolKind":"function","exported":false,"metadata":{"line":9,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:onMount",{"id":"symbol-name:onMount","kind":"symbol","language":"jsts","symbolName":"onMount","metadata":{"unresolvedName":"onMount"}}],["symbol-name:import",{"id":"symbol-name:import","kind":"symbol","language":"jsts","symbolName":"import","metadata":{"unresolvedName":"import"}}],["symbol-name:setError",{"id":"symbol-name:setError","kind":"symbol","language":"jsts","symbolName":"setError","metadata":{"unresolvedName":"setError"}}],["symbol-name:setLoading",{"id":"symbol-name:setLoading","kind":"symbol","language":"jsts","symbolName":"setLoading","metadata":{"unresolvedName":"setLoading"}}],["external:mod.loadStripe",{"id":"external:mod.loadStripe","kind":"external","language":"jsts","metadata":{"unresolvedName":"mod.loadStripe"}}],["external:stripe.createEmbeddedCheckoutPage",{"id":"external:stripe.createEmbeddedCheckoutPage","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripe.createEmbeddedCheckoutPage"}}],["external:props.onCheckoutComplete",{"id":"external:props.onCheckoutComplete","kind":"external","language":"jsts","metadata":{"unresolvedName":"props.onCheckoutComplete"}}],["external:embeddedCheckout.mount",{"id":"external:embeddedCheckout.mount","kind":"external","language":"jsts","metadata":{"unresolvedName":"embeddedCheckout.mount"}}],["external:embeddedCheckout?.destroy",{"id":"external:embeddedCheckout?.destroy","kind":"external","language":"jsts","metadata":{"unresolvedName":"embeddedCheckout?.destroy"}}],["symbol-name:loading",{"id":"symbol-name:loading","kind":"symbol","language":"jsts","symbolName":"loading","metadata":{"unresolvedName":"loading"}}],["symbol-name:error",{"id":"symbol-name:error","kind":"symbol","language":"jsts","symbolName":"error","metadata":{"unresolvedName":"error"}}],["/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":51,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:onComplete",{"id":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:onComplete","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","symbolName":"onComplete","symbolKind":"function","exported":false,"metadata":{"line":35,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","metadata":{"lineCount":87,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:~/components/layout",{"id":"external:~/components/layout","kind":"external","language":"jsts","metadata":{"source":"~/components/layout"}}],["/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout",{"id":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","symbolName":"AuthLayout","symbolKind":"function","exported":false,"metadata":{"line":36,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:setInterval",{"id":"symbol-name:setInterval","kind":"symbol","language":"jsts","symbolName":"setInterval","metadata":{"unresolvedName":"setInterval"}}],["symbol-name:setIndex",{"id":"symbol-name:setIndex","kind":"symbol","language":"jsts","symbolName":"setIndex","metadata":{"unresolvedName":"setIndex"}}],["symbol-name:onCleanup",{"id":"symbol-name:onCleanup","kind":"symbol","language":"jsts","symbolName":"onCleanup","metadata":{"unresolvedName":"onCleanup"}}],["symbol-name:clearInterval",{"id":"symbol-name:clearInterval","kind":"symbol","language":"jsts","symbolName":"clearInterval","metadata":{"unresolvedName":"clearInterval"}}],["symbol-name:index",{"id":"symbol-name:index","kind":"symbol","language":"jsts","symbolName":"index","metadata":{"unresolvedName":"index"}}],["symbol-name:t",{"id":"symbol-name:t","kind":"symbol","language":"jsts","symbolName":"t","metadata":{"unresolvedName":"t"}}],["/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":40,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx","metadata":{"lineCount":92,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:~/lib/utils",{"id":"external:~/lib/utils","kind":"external","language":"jsts","metadata":{"source":"~/lib/utils"}}],["/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput",{"id":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx","symbolName":"PasswordInput","symbolKind":"function","exported":false,"metadata":{"line":19,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:globalThis.crypto?.randomUUID",{"id":"external:globalThis.crypto?.randomUUID","kind":"external","language":"jsts","metadata":{"unresolvedName":"globalThis.crypto?.randomUUID"}}],["external:Math.random().toString(36).slice",{"id":"external:Math.random().toString(36).slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.random().toString(36).slice"}}],["external:Math.random().toString",{"id":"external:Math.random().toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.random().toString"}}],["external:Math.random",{"id":"external:Math.random","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.random"}}],["symbol-name:cn",{"id":"symbol-name:cn","kind":"symbol","language":"jsts","symbolName":"cn","metadata":{"unresolvedName":"cn"}}],["symbol-name:id",{"id":"symbol-name:id","kind":"symbol","language":"jsts","symbolName":"id","metadata":{"unresolvedName":"id"}}],["symbol-name:visible",{"id":"symbol-name:visible","kind":"symbol","language":"jsts","symbolName":"visible","metadata":{"unresolvedName":"visible"}}],["symbol-name:setVisible",{"id":"symbol-name:setVisible","kind":"symbol","language":"jsts","symbolName":"setVisible","metadata":{"unresolvedName":"setVisible"}}],["file:/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx","metadata":{"lineCount":47,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx:SocialAuthButtons",{"id":"/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx:SocialAuthButtons","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx","symbolName":"SocialAuthButtons","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","metadata":{"lineCount":150,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:vitest",{"id":"external:vitest","kind":"external","language":"jsts","metadata":{"source":"vitest"}}],["external:solid-js/web",{"id":"external:solid-js/web","kind":"external","language":"jsts","metadata":{"source":"solid-js/web"}}],["external:~/components/ui",{"id":"external:~/components/ui","kind":"external","language":"jsts","metadata":{"source":"~/components/ui"}}],["/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:mount",{"id":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:mount","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","symbolName":"mount","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:document.createElement",{"id":"external:document.createElement","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.createElement"}}],["external:document.body.appendChild",{"id":"external:document.body.appendChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.body.appendChild"}}],["symbol-name:render",{"id":"symbol-name:render","kind":"symbol","language":"jsts","symbolName":"render","metadata":{"unresolvedName":"render"}}],["symbol-name:comp",{"id":"symbol-name:comp","kind":"symbol","language":"jsts","symbolName":"comp","metadata":{"unresolvedName":"comp"}}],["/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":140,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:Object.defineProperty",{"id":"external:Object.defineProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.defineProperty"}}],["external:vi.fn",{"id":"external:vi.fn","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn"}}],["symbol-name:it",{"id":"symbol-name:it","kind":"symbol","language":"jsts","symbolName":"it","metadata":{"unresolvedName":"it"}}],["symbol-name:mount",{"id":"symbol-name:mount","kind":"symbol","language":"jsts","symbolName":"mount","metadata":{"unresolvedName":"mount"}}],["external:expect(document.body.textContent).toContain",{"id":"external:expect(document.body.textContent).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}}],["external:expect(document.querySelector(\"label\")).toBeTruthy",{"id":"external:expect(document.querySelector(\"label\")).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\"label\")).toBeTruthy"}}],["external:document.querySelector",{"id":"external:document.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.querySelector"}}],["external:expect(input.getAttribute(\"type\")).toBe",{"id":"external:expect(input.getAttribute(\"type\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(input.getAttribute(\"type\")).toBe"}}],["external:input.getAttribute",{"id":"external:input.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"input.getAttribute"}}],["external:expect(toggle.getAttribute(\"aria-label\")).toBe",{"id":"external:expect(toggle.getAttribute(\"aria-label\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toggle.getAttribute(\"aria-label\")).toBe"}}],["external:toggle.getAttribute",{"id":"external:toggle.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"toggle.getAttribute"}}],["external:toggle.dispatchEvent",{"id":"external:toggle.dispatchEvent","kind":"external","language":"jsts","metadata":{"unresolvedName":"toggle.dispatchEvent"}}],["external:expect(document.body.textContent).not.toContain",{"id":"external:expect(document.body.textContent).not.toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}}],["external:input.dispatchEvent",{"id":"external:input.dispatchEvent","kind":"external","language":"jsts","metadata":{"unresolvedName":"input.dispatchEvent"}}],["external:expect(onInput).toHaveBeenCalled",{"id":"external:expect(onInput).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onInput).toHaveBeenCalled"}}],["external:expect(buttons.length).toBe",{"id":"external:expect(buttons.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(buttons.length).toBe"}}],["external:expect(buttons[0].textContent).toContain",{"id":"external:expect(buttons[0].textContent).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(buttons[0].textContent).toContain"}}],["external:expect(buttons[1].textContent).toContain",{"id":"external:expect(buttons[1].textContent).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(buttons[1].textContent).toContain"}}],["external:expect(buttons[0].querySelector(\"svg\")).toBeTruthy",{"id":"external:expect(buttons[0].querySelector(\"svg\")).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(buttons[0].querySelector(\"svg\")).toBeTruthy"}}],["external:buttons[0].querySelector",{"id":"external:buttons[0].querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"buttons[0].querySelector"}}],["external:expect(buttons[1].querySelector(\"svg\")).toBeTruthy",{"id":"external:expect(buttons[1].querySelector(\"svg\")).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(buttons[1].querySelector(\"svg\")).toBeTruthy"}}],["external:buttons[1].querySelector",{"id":"external:buttons[1].querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"buttons[1].querySelector"}}],["external:expect(document.querySelector(\".gradient-card\")).toBeTruthy",{"id":"external:expect(document.querySelector(\".gradient-card\")).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\".gradient-card\")).toBeTruthy"}}],["file:/Users/mike/Code/Kordant/web/src/components/auth/index.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/components/auth/index.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/auth/index.ts","metadata":{"lineCount":4,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","metadata":{"lineCount":81,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:ActivityIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:ActivityIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","symbolName":"ActivityIcon","symbolKind":"function","exported":false,"metadata":{"line":25,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:ActivityFeed",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:ActivityFeed","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","symbolName":"ActivityFeed","symbolKind":"function","exported":false,"metadata":{"line":55,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","metadata":{"lineCount":165,"featureKind":"library","trustBoundaries":[]}}],["external:~/lib/api",{"id":"external:~/lib/api","kind":"external","language":"jsts","metadata":{"source":"~/lib/api"}}],["external:~/components/ui/Card",{"id":"external:~/components/ui/Card","kind":"external","language":"jsts","metadata":{"source":"~/components/ui/Card"}}],["external:~/components/ui/Badge",{"id":"external:~/components/ui/Badge","kind":"external","language":"jsts","metadata":{"source":"~/components/ui/Badge"}}],["external:~/components/ui/Button",{"id":"external:~/components/ui/Button","kind":"external","language":"jsts","metadata":{"source":"~/components/ui/Button"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:severityVariant",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:severityVariant","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","symbolName":"severityVariant","symbolKind":"function","exported":false,"metadata":{"line":13,"column":25,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:timeAgo",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:timeAgo","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","symbolName":"timeAgo","symbolKind":"function","exported":false,"metadata":{"line":25,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:Date.now",{"id":"external:Date.now","kind":"external","language":"jsts","metadata":{"unresolvedName":"Date.now"}}],["external:new Date(date).getTime",{"id":"external:new Date(date).getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(date).getTime"}}],["external:date.getTime",{"id":"external:date.getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getTime"}}],["external:Math.floor",{"id":"external:Math.floor","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.floor"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:SeverityIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:SeverityIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","symbolName":"SeverityIcon","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:color",{"id":"symbol-name:color","kind":"symbol","language":"jsts","symbolName":"color","metadata":{"unresolvedName":"color"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:color",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:color","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","symbolName":"color","symbolKind":"function","exported":false,"metadata":{"line":39,"column":17,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","symbolName":"AlertFeedWidget","symbolKind":"function","exported":false,"metadata":{"line":57,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setTick",{"id":"symbol-name:setTick","kind":"symbol","language":"jsts","symbolName":"setTick","metadata":{"unresolvedName":"setTick"}}],["symbol-name:createResource",{"id":"symbol-name:createResource","kind":"symbol","language":"jsts","symbolName":"createResource","metadata":{"unresolvedName":"createResource"}}],["external:api.correlation.getAlerts.query",{"id":"external:api.correlation.getAlerts.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.correlation.getAlerts.query"}}],["symbol-name:alerts",{"id":"symbol-name:alerts","kind":"symbol","language":"jsts","symbolName":"alerts","metadata":{"unresolvedName":"alerts"}}],["symbol-name:setResolving",{"id":"symbol-name:setResolving","kind":"symbol","language":"jsts","symbolName":"setResolving","metadata":{"unresolvedName":"setResolving"}}],["external:api.correlation.resolveAlert.mutate",{"id":"external:api.correlation.resolveAlert.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.correlation.resolveAlert.mutate"}}],["symbol-name:refetch",{"id":"symbol-name:refetch","kind":"symbol","language":"jsts","symbolName":"refetch","metadata":{"unresolvedName":"refetch"}}],["symbol-name:items",{"id":"symbol-name:items","kind":"symbol","language":"jsts","symbolName":"items","metadata":{"unresolvedName":"items"}}],["symbol-name:String",{"id":"symbol-name:String","kind":"symbol","language":"jsts","symbolName":"String","metadata":{"unresolvedName":"String"}}],["symbol-name:severityVariant",{"id":"symbol-name:severityVariant","kind":"symbol","language":"jsts","symbolName":"severityVariant","metadata":{"unresolvedName":"severityVariant"}}],["symbol-name:timeAgo",{"id":"symbol-name:timeAgo","kind":"symbol","language":"jsts","symbolName":"timeAgo","metadata":{"unresolvedName":"timeAgo"}}],["symbol-name:resolving",{"id":"symbol-name:resolving","kind":"symbol","language":"jsts","symbolName":"resolving","metadata":{"unresolvedName":"resolving"}}],["symbol-name:handleMarkRead",{"id":"symbol-name:handleMarkRead","kind":"symbol","language":"jsts","symbolName":"handleMarkRead","metadata":{"unresolvedName":"handleMarkRead"}}],["external:[1, 2, 3].map",{"id":"external:[1, 2, 3].map","kind":"external","language":"jsts","metadata":{"unresolvedName":"[1, 2, 3].map"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":97,"column":14,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:handleMarkRead",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:handleMarkRead","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","symbolName":"handleMarkRead","symbolKind":"function","exported":false,"metadata":{"line":72,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","metadata":{"lineCount":152,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityColor",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityColor","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","symbolName":"severityColor","symbolKind":"function","exported":false,"metadata":{"line":13,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityVariant",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityVariant","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","symbolName":"severityVariant","symbolKind":"function","exported":false,"metadata":{"line":21,"column":25,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityLabel",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityLabel","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","symbolName":"severityLabel","symbolKind":"function","exported":false,"metadata":{"line":29,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","symbolName":"ExposureWidget","symbolKind":"function","exported":false,"metadata":{"line":37,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.darkwatch.getExposures.query",{"id":"external:api.darkwatch.getExposures.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.darkwatch.getExposures.query"}}],["symbol-name:exposures",{"id":"symbol-name:exposures","kind":"symbol","language":"jsts","symbolName":"exposures","metadata":{"unresolvedName":"exposures"}}],["external:Object.entries(counts).map",{"id":"external:Object.entries(counts).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(counts).map"}}],["external:Object.entries",{"id":"external:Object.entries","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries"}}],["symbol-name:severityColor",{"id":"symbol-name:severityColor","kind":"symbol","language":"jsts","symbolName":"severityColor","metadata":{"unresolvedName":"severityColor"}}],["symbol-name:severityLabel",{"id":"symbol-name:severityLabel","kind":"symbol","language":"jsts","symbolName":"severityLabel","metadata":{"unresolvedName":"severityLabel"}}],["symbol-name:setScanning",{"id":"symbol-name:setScanning","kind":"symbol","language":"jsts","symbolName":"setScanning","metadata":{"unresolvedName":"setScanning"}}],["external:api.darkwatch.runScan.mutate",{"id":"external:api.darkwatch.runScan.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.darkwatch.runScan.mutate"}}],["symbol-name:scanning",{"id":"symbol-name:scanning","kind":"symbol","language":"jsts","symbolName":"scanning","metadata":{"unresolvedName":"scanning"}}],["symbol-name:severityBreakdown",{"id":"symbol-name:severityBreakdown","kind":"symbol","language":"jsts","symbolName":"severityBreakdown","metadata":{"unresolvedName":"severityBreakdown"}}],["symbol-name:latest",{"id":"symbol-name:latest","kind":"symbol","language":"jsts","symbolName":"latest","metadata":{"unresolvedName":"latest"}}],["symbol-name:l",{"id":"symbol-name:l","kind":"symbol","language":"jsts","symbolName":"l","metadata":{"unresolvedName":"l"}}],["external:new Date(data.detectedAt as string).toLocaleDateString",{"id":"external:new Date(data.detectedAt as string).toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(data.detectedAt as string).toLocaleDateString"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":101,"column":14,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","symbolName":"severityBreakdown","symbolKind":"function","exported":false,"metadata":{"line":52,"column":29,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:handleRunScan",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:handleRunScan","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","symbolName":"handleRunScan","symbolKind":"function","exported":false,"metadata":{"line":68,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","metadata":{"lineCount":121,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:severityVariant",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:severityVariant","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","symbolName":"severityVariant","symbolKind":"function","exported":false,"metadata":{"line":12,"column":25,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:severityLabel",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:severityLabel","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","symbolName":"severityLabel","symbolKind":"function","exported":false,"metadata":{"line":20,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","symbolName":"HomeTitleWidget","symbolKind":"function","exported":false,"metadata":{"line":28,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.hometitle.getProperties.query",{"id":"external:api.hometitle.getProperties.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.hometitle.getProperties.query"}}],["external:api.hometitle.getAlerts.query",{"id":"external:api.hometitle.getAlerts.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.hometitle.getAlerts.query"}}],["symbol-name:properties",{"id":"symbol-name:properties","kind":"symbol","language":"jsts","symbolName":"properties","metadata":{"unresolvedName":"properties"}}],["symbol-name:changes",{"id":"symbol-name:changes","kind":"symbol","language":"jsts","symbolName":"changes","metadata":{"unresolvedName":"changes"}}],["external:[1, 2].map",{"id":"external:[1, 2].map","kind":"external","language":"jsts","metadata":{"unresolvedName":"[1, 2].map"}}],["symbol-name:propertyCount",{"id":"symbol-name:propertyCount","kind":"symbol","language":"jsts","symbolName":"propertyCount","metadata":{"unresolvedName":"propertyCount"}}],["symbol-name:changeCount",{"id":"symbol-name:changeCount","kind":"symbol","language":"jsts","symbolName":"changeCount","metadata":{"unresolvedName":"changeCount"}}],["symbol-name:latestChange",{"id":"symbol-name:latestChange","kind":"symbol","language":"jsts","symbolName":"latestChange","metadata":{"unresolvedName":"latestChange"}}],["symbol-name:lc",{"id":"symbol-name:lc","kind":"symbol","language":"jsts","symbolName":"lc","metadata":{"unresolvedName":"lc"}}],["external:String(c.changeType ?? \"\").replace",{"id":"external:String(c.changeType ?? \"\").replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"String(c.changeType ?? \"\").replace"}}],["external:new Date(c.detectedAt as string).toLocaleDateString",{"id":"external:new Date(c.detectedAt as string).toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(c.detectedAt as string).toLocaleDateString"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":79,"column":14,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","metadata":{"lineCount":41,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx:QuickActions",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx:QuickActions","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","symbolName":"QuickActions","symbolKind":"function","exported":false,"metadata":{"line":16,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":24,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","metadata":{"lineCount":71,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx:ActionSVG",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx:ActionSVG","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","symbolName":"ActionSVG","symbolKind":"function","exported":false,"metadata":{"line":31,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx:QuickActionsWidget",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx:QuickActionsWidget","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","symbolName":"QuickActionsWidget","symbolKind":"function","exported":false,"metadata":{"line":39,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:actions.map",{"id":"external:actions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"actions.map"}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","metadata":{"lineCount":103,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","symbolName":"RemoveBrokersWidget","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.removebrokers.getStats.query",{"id":"external:api.removebrokers.getStats.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.removebrokers.getStats.query"}}],["external:api.removebrokers.getBrokerRegistry.query",{"id":"external:api.removebrokers.getBrokerRegistry.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.removebrokers.getBrokerRegistry.query"}}],["symbol-name:registry",{"id":"symbol-name:registry","kind":"symbol","language":"jsts","symbolName":"registry","metadata":{"unresolvedName":"registry"}}],["symbol-name:stats",{"id":"symbol-name:stats","kind":"symbol","language":"jsts","symbolName":"stats","metadata":{"unresolvedName":"stats"}}],["symbol-name:totalBrokers",{"id":"symbol-name:totalBrokers","kind":"symbol","language":"jsts","symbolName":"totalBrokers","metadata":{"unresolvedName":"totalBrokers"}}],["symbol-name:pending",{"id":"symbol-name:pending","kind":"symbol","language":"jsts","symbolName":"pending","metadata":{"unresolvedName":"pending"}}],["symbol-name:completed",{"id":"symbol-name:completed","kind":"symbol","language":"jsts","symbolName":"completed","metadata":{"unresolvedName":"completed"}}],["symbol-name:completionRate",{"id":"symbol-name:completionRate","kind":"symbol","language":"jsts","symbolName":"completionRate","metadata":{"unresolvedName":"completionRate"}}],["symbol-name:totalRequests",{"id":"symbol-name:totalRequests","kind":"symbol","language":"jsts","symbolName":"totalRequests","metadata":{"unresolvedName":"totalRequests"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":14,"column":11,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:pending",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:pending","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","symbolName":"pending","symbolKind":"function","exported":false,"metadata":{"line":29,"column":19,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","metadata":{"lineCount":147,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:OverviewIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:OverviewIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","symbolName":"OverviewIcon","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:DarkWatchIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:DarkWatchIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","symbolName":"DarkWatchIcon","symbolKind":"function","exported":false,"metadata":{"line":22,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:VoicePrintIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:VoicePrintIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","symbolName":"VoicePrintIcon","symbolKind":"function","exported":false,"metadata":{"line":30,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:SpamShieldIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:SpamShieldIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","symbolName":"SpamShieldIcon","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:HomeTitleIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:HomeTitleIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","symbolName":"HomeTitleIcon","symbolKind":"function","exported":false,"metadata":{"line":46,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:RemoveBrokersIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:RemoveBrokersIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","symbolName":"RemoveBrokersIcon","symbolKind":"function","exported":false,"metadata":{"line":54,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:SettingsIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:SettingsIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","symbolName":"SettingsIcon","symbolKind":"function","exported":false,"metadata":{"line":62,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:Sidebar",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:Sidebar","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","symbolName":"Sidebar","symbolKind":"function","exported":false,"metadata":{"line":89,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:sidebarLinks.map",{"id":"external:sidebarLinks.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"sidebarLinks.map"}}],["external:location.pathname.startsWith",{"id":"external:location.pathname.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"location.pathname.startsWith"}}],["external:props.onClose",{"id":"external:props.onClose","kind":"external","language":"jsts","metadata":{"unresolvedName":"props.onClose"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":116,"column":29,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","metadata":{"lineCount":114,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","symbolName":"SpamShieldWidget","symbolKind":"function","exported":false,"metadata":{"line":12,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.spamshield.getStats.query",{"id":"external:api.spamshield.getStats.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.spamshield.getStats.query"}}],["external:api.spamshield.getRules.query",{"id":"external:api.spamshield.getRules.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.spamshield.getRules.query"}}],["symbol-name:rules",{"id":"symbol-name:rules","kind":"symbol","language":"jsts","symbolName":"rules","metadata":{"unresolvedName":"rules"}}],["external:userRules.slice(0, 3).map",{"id":"external:userRules.slice(0, 3).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"userRules.slice(0, 3).map"}}],["external:userRules.slice",{"id":"external:userRules.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"userRules.slice"}}],["symbol-name:blockedToday",{"id":"symbol-name:blockedToday","kind":"symbol","language":"jsts","symbolName":"blockedToday","metadata":{"unresolvedName":"blockedToday"}}],["symbol-name:totalDetections",{"id":"symbol-name:totalDetections","kind":"symbol","language":"jsts","symbolName":"totalDetections","metadata":{"unresolvedName":"totalDetections"}}],["symbol-name:accuracy",{"id":"symbol-name:accuracy","kind":"symbol","language":"jsts","symbolName":"accuracy","metadata":{"unresolvedName":"accuracy"}}],["symbol-name:topSources",{"id":"symbol-name:topSources","kind":"symbol","language":"jsts","symbolName":"topSources","metadata":{"unresolvedName":"topSources"}}],["symbol-name:rulesCount",{"id":"symbol-name:rulesCount","kind":"symbol","language":"jsts","symbolName":"rulesCount","metadata":{"unresolvedName":"rulesCount"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":15,"column":11,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:topSources",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:topSources","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","symbolName":"topSources","symbolKind":"function","exported":false,"metadata":{"line":33,"column":22,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx","metadata":{"lineCount":55,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx:StatCard",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx:StatCard","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx","symbolName":"StatCard","symbolKind":"function","exported":false,"metadata":{"line":13,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","metadata":{"lineCount":106,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:scoreColor",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:scoreColor","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","symbolName":"scoreColor","symbolKind":"function","exported":false,"metadata":{"line":12,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:scoreLabel",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:scoreLabel","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","symbolName":"scoreLabel","symbolKind":"function","exported":false,"metadata":{"line":18,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","symbolName":"ThreatScoreWidget","symbolKind":"function","exported":false,"metadata":{"line":24,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.correlation.getStats.query",{"id":"external:api.correlation.getStats.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.correlation.getStats.query"}}],["symbol-name:score",{"id":"symbol-name:score","kind":"symbol","language":"jsts","symbolName":"score","metadata":{"unresolvedName":"score"}}],["symbol-name:prevScore",{"id":"symbol-name:prevScore","kind":"symbol","language":"jsts","symbolName":"prevScore","metadata":{"unresolvedName":"prevScore"}}],["symbol-name:setPrevScore",{"id":"symbol-name:setPrevScore","kind":"symbol","language":"jsts","symbolName":"setPrevScore","metadata":{"unresolvedName":"setPrevScore"}}],["symbol-name:scoreColor",{"id":"symbol-name:scoreColor","kind":"symbol","language":"jsts","symbolName":"scoreColor","metadata":{"unresolvedName":"scoreColor"}}],["symbol-name:scoreLabel",{"id":"symbol-name:scoreLabel","kind":"symbol","language":"jsts","symbolName":"scoreLabel","metadata":{"unresolvedName":"scoreLabel"}}],["symbol-name:dashOffset",{"id":"symbol-name:dashOffset","kind":"symbol","language":"jsts","symbolName":"dashOffset","metadata":{"unresolvedName":"dashOffset"}}],["symbol-name:label",{"id":"symbol-name:label","kind":"symbol","language":"jsts","symbolName":"label","metadata":{"unresolvedName":"label"}}],["symbol-name:trend",{"id":"symbol-name:trend","kind":"symbol","language":"jsts","symbolName":"trend","metadata":{"unresolvedName":"trend"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":28,"column":11,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:score",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:score","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","symbolName":"score","symbolKind":"function","exported":false,"metadata":{"line":35,"column":17,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:trend",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:trend","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","symbolName":"trend","symbolKind":"function","exported":false,"metadata":{"line":41,"column":17,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","metadata":{"lineCount":107,"featureKind":"library","trustBoundaries":[]}}],["external:~/hooks",{"id":"external:~/hooks","kind":"external","language":"jsts","metadata":{"source":"~/hooks"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","symbolName":"TopBar","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useNotifications",{"id":"symbol-name:useNotifications","kind":"symbol","language":"jsts","symbolName":"useNotifications","metadata":{"unresolvedName":"useNotifications"}}],["external:auth.user",{"id":"external:auth.user","kind":"external","language":"jsts","metadata":{"unresolvedName":"auth.user"}}],["external:name\n .split(\" \")\n .map((n: string) => n[0])\n .join",{"id":"external:name\n .split(\" \")\n .map((n: string) => n[0])\n .join","kind":"external","language":"jsts","metadata":{"unresolvedName":"name\n .split(\" \")\n .map((n: string) => n[0])\n .join"}}],["external:name\n .split(\" \")\n .map",{"id":"external:name\n .split(\" \")\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"name\n .split(\" \")\n .map"}}],["external:name\n .split",{"id":"external:name\n .split","kind":"external","language":"jsts","metadata":{"unresolvedName":"name\n .split"}}],["external:props.onMenuToggle",{"id":"external:props.onMenuToggle","kind":"external","language":"jsts","metadata":{"unresolvedName":"props.onMenuToggle"}}],["external:notifications.unreadCount",{"id":"external:notifications.unreadCount","kind":"external","language":"jsts","metadata":{"unresolvedName":"notifications.unreadCount"}}],["symbol-name:setShowDropdown",{"id":"symbol-name:setShowDropdown","kind":"symbol","language":"jsts","symbolName":"setShowDropdown","metadata":{"unresolvedName":"setShowDropdown"}}],["symbol-name:initials",{"id":"symbol-name:initials","kind":"symbol","language":"jsts","symbolName":"initials","metadata":{"unresolvedName":"initials"}}],["symbol-name:showDropdown",{"id":"symbol-name:showDropdown","kind":"symbol","language":"jsts","symbolName":"showDropdown","metadata":{"unresolvedName":"showDropdown"}}],["external:auth.logout",{"id":"external:auth.logout","kind":"external","language":"jsts","metadata":{"unresolvedName":"auth.logout"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:initials",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:initials","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","symbolName":"initials","symbolKind":"function","exported":false,"metadata":{"line":15,"column":20,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":95,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","metadata":{"lineCount":128,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","symbolName":"VoicePrintWidget","symbolKind":"function","exported":false,"metadata":{"line":12,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.voiceprint.getEnrollments.query",{"id":"external:api.voiceprint.getEnrollments.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.voiceprint.getEnrollments.query"}}],["external:api.voiceprint.getAnalyses.query",{"id":"external:api.voiceprint.getAnalyses.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.voiceprint.getAnalyses.query"}}],["symbol-name:enrollments",{"id":"symbol-name:enrollments","kind":"symbol","language":"jsts","symbolName":"enrollments","metadata":{"unresolvedName":"enrollments"}}],["symbol-name:analyses",{"id":"symbol-name:analyses","kind":"symbol","language":"jsts","symbolName":"analyses","metadata":{"unresolvedName":"analyses"}}],["symbol-name:analysisItems",{"id":"symbol-name:analysisItems","kind":"symbol","language":"jsts","symbolName":"analysisItems","metadata":{"unresolvedName":"analysisItems"}}],["external:items.filter",{"id":"external:items.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"items.filter"}}],["external:Math.round",{"id":"external:Math.round","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.round"}}],["external:Math.max",{"id":"external:Math.max","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.max"}}],["external:items.map",{"id":"external:items.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"items.map"}}],["symbol-name:Number",{"id":"symbol-name:Number","kind":"symbol","language":"jsts","symbolName":"Number","metadata":{"unresolvedName":"Number"}}],["symbol-name:enrollmentCount",{"id":"symbol-name:enrollmentCount","kind":"symbol","language":"jsts","symbolName":"enrollmentCount","metadata":{"unresolvedName":"enrollmentCount"}}],["symbol-name:analysisCount",{"id":"symbol-name:analysisCount","kind":"symbol","language":"jsts","symbolName":"analysisCount","metadata":{"unresolvedName":"analysisCount"}}],["symbol-name:syntheticRate",{"id":"symbol-name:syntheticRate","kind":"symbol","language":"jsts","symbolName":"syntheticRate","metadata":{"unresolvedName":"syntheticRate"}}],["external:analysisItems().slice",{"id":"external:analysisItems().slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"analysisItems().slice"}}],["symbol-name:maxConfidence",{"id":"symbol-name:maxConfidence","kind":"symbol","language":"jsts","symbolName":"maxConfidence","metadata":{"unresolvedName":"maxConfidence"}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":82,"column":18,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:syntheticRate",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:syntheticRate","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","symbolName":"syntheticRate","symbolKind":"function","exported":false,"metadata":{"line":32,"column":25,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:maxConfidence",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:maxConfidence","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","symbolName":"maxConfidence","symbolKind":"function","exported":false,"metadata":{"line":39,"column":25,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","metadata":{"lineCount":408,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":397,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mount",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mount","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","symbolName":"mount","symbolKind":"function","exported":false,"metadata":{"line":69,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter",{"id":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","symbolName":"mountWithRouter","symbolKind":"function","exported":false,"metadata":{"line":76,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"library","trustBoundaries":[]}}],["external:vi.clearAllMocks",{"id":"external:vi.clearAllMocks","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.clearAllMocks"}}],["symbol-name:beforeEach",{"id":"symbol-name:beforeEach","kind":"symbol","language":"jsts","symbolName":"beforeEach","metadata":{"unresolvedName":"beforeEach"}}],["external:mockGetStats.mockResolvedValue",{"id":"external:mockGetStats.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetStats.mockResolvedValue"}}],["symbol-name:setTimeout",{"id":"symbol-name:setTimeout","kind":"symbol","language":"jsts","symbolName":"setTimeout","metadata":{"unresolvedName":"setTimeout"}}],["external:expect(mockGetStats).toHaveBeenCalledTimes",{"id":"external:expect(mockGetStats).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockGetStats).toHaveBeenCalledTimes"}}],["external:mockGetAlerts.mockResolvedValue",{"id":"external:mockGetAlerts.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetAlerts.mockResolvedValue"}}],["external:new Date().toISOString",{"id":"external:new Date().toISOString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date().toISOString"}}],["symbol-name:mountWithRouter",{"id":"symbol-name:mountWithRouter","kind":"symbol","language":"jsts","symbolName":"mountWithRouter","metadata":{"unresolvedName":"mountWithRouter"}}],["external:expect(buttons.length).toBeGreaterThanOrEqual",{"id":"external:expect(buttons.length).toBeGreaterThanOrEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(buttons.length).toBeGreaterThanOrEqual"}}],["external:expect(mockGetAlerts).toHaveBeenCalledWith",{"id":"external:expect(mockGetAlerts).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockGetAlerts).toHaveBeenCalledWith"}}],["external:mockResolveAlert.mockResolvedValue",{"id":"external:mockResolveAlert.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockResolveAlert.mockResolvedValue"}}],["external:button.click",{"id":"external:button.click","kind":"external","language":"jsts","metadata":{"unresolvedName":"button.click"}}],["external:expect(mockResolveAlert).toHaveBeenCalled",{"id":"external:expect(mockResolveAlert).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockResolveAlert).toHaveBeenCalled"}}],["external:mockGetExposures.mockResolvedValue",{"id":"external:mockGetExposures.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetExposures.mockResolvedValue"}}],["external:expect(mockGetExposures).toHaveBeenCalledWith",{"id":"external:expect(mockGetExposures).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockGetExposures).toHaveBeenCalledWith"}}],["external:mockGetEnrollments.mockResolvedValue",{"id":"external:mockGetEnrollments.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetEnrollments.mockResolvedValue"}}],["external:mockGetAnalyses.mockResolvedValue",{"id":"external:mockGetAnalyses.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetAnalyses.mockResolvedValue"}}],["external:mockGetSpamStats.mockResolvedValue",{"id":"external:mockGetSpamStats.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetSpamStats.mockResolvedValue"}}],["external:mockGetRules.mockResolvedValue",{"id":"external:mockGetRules.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetRules.mockResolvedValue"}}],["external:mockGetProperties.mockResolvedValue",{"id":"external:mockGetProperties.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetProperties.mockResolvedValue"}}],["external:mockGetAlertsHT.mockResolvedValue",{"id":"external:mockGetAlertsHT.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetAlertsHT.mockResolvedValue"}}],["external:mockGetRemoveStats.mockResolvedValue",{"id":"external:mockGetRemoveStats.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetRemoveStats.mockResolvedValue"}}],["external:mockGetBrokerRegistry.mockResolvedValue",{"id":"external:mockGetBrokerRegistry.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetBrokerRegistry.mockResolvedValue"}}],["external:Array.from(links).map",{"id":"external:Array.from(links).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(links).map"}}],["external:l.getAttribute",{"id":"external:l.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"l.getAttribute"}}],["external:expect(hrefs).toContain",{"id":"external:expect(hrefs).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(hrefs).toContain"}}],["file:/Users/mike/Code/Kordant/web/src/components/dashboard/index.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/index.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/dashboard/index.ts","metadata":{"lineCount":11,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","metadata":{"lineCount":489,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:easeOutQuart",{"id":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:easeOutQuart","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","symbolName":"easeOutQuart","symbolKind":"function","exported":false,"metadata":{"line":295,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:Math.pow",{"id":"external:Math.pow","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.pow"}}],["/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground",{"id":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","symbolName":"ColorWaveBackground","symbolKind":"function","exported":true,"metadata":{"line":305,"column":1,"cyclomaticComplexity":17,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:window.matchMedia",{"id":"external:window.matchMedia","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.matchMedia"}}],["external:renderer.setClearColor",{"id":"external:renderer.setClearColor","kind":"external","language":"jsts","metadata":{"unresolvedName":"renderer.setClearColor"}}],["external:renderer.setPixelRatio",{"id":"external:renderer.setPixelRatio","kind":"external","language":"jsts","metadata":{"unresolvedName":"renderer.setPixelRatio"}}],["external:Math.min",{"id":"external:Math.min","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.min"}}],["external:renderer.setSize",{"id":"external:renderer.setSize","kind":"external","language":"jsts","metadata":{"unresolvedName":"renderer.setSize"}}],["external:containerRef.appendChild",{"id":"external:containerRef.appendChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"containerRef.appendChild"}}],["external:camera.updateProjectionMatrix",{"id":"external:camera.updateProjectionMatrix","kind":"external","language":"jsts","metadata":{"unresolvedName":"camera.updateProjectionMatrix"}}],["external:geometry.computeVertexNormals",{"id":"external:geometry.computeVertexNormals","kind":"external","language":"jsts","metadata":{"unresolvedName":"geometry.computeVertexNormals"}}],["external:geometry.setAttribute",{"id":"external:geometry.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"geometry.setAttribute"}}],["external:mesh.rotation.set",{"id":"external:mesh.rotation.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"mesh.rotation.set"}}],["external:mesh.scale.set",{"id":"external:mesh.scale.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"mesh.scale.set"}}],["external:mesh.scale.multiplyScalar",{"id":"external:mesh.scale.multiplyScalar","kind":"external","language":"jsts","metadata":{"unresolvedName":"mesh.scale.multiplyScalar"}}],["symbol-name:setPlaneTransform",{"id":"symbol-name:setPlaneTransform","kind":"symbol","language":"jsts","symbolName":"setPlaneTransform","metadata":{"unresolvedName":"setPlaneTransform"}}],["external:scene.add",{"id":"external:scene.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"scene.add"}}],["external:timer.update",{"id":"external:timer.update","kind":"external","language":"jsts","metadata":{"unresolvedName":"timer.update"}}],["external:timer.getDelta",{"id":"external:timer.getDelta","kind":"external","language":"jsts","metadata":{"unresolvedName":"timer.getDelta"}}],["external:timer.getElapsed",{"id":"external:timer.getElapsed","kind":"external","language":"jsts","metadata":{"unresolvedName":"timer.getElapsed"}}],["external:Math.sin",{"id":"external:Math.sin","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.sin"}}],["symbol-name:easeOutQuart",{"id":"symbol-name:easeOutQuart","kind":"symbol","language":"jsts","symbolName":"easeOutQuart","metadata":{"unresolvedName":"easeOutQuart"}}],["external:renderer.render",{"id":"external:renderer.render","kind":"external","language":"jsts","metadata":{"unresolvedName":"renderer.render"}}],["symbol-name:requestAnimationFrame",{"id":"symbol-name:requestAnimationFrame","kind":"symbol","language":"jsts","symbolName":"requestAnimationFrame","metadata":{"unresolvedName":"requestAnimationFrame"}}],["external:window.addEventListener",{"id":"external:window.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.addEventListener"}}],["external:document.addEventListener",{"id":"external:document.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.addEventListener"}}],["symbol-name:cancelAnimationFrame",{"id":"symbol-name:cancelAnimationFrame","kind":"symbol","language":"jsts","symbolName":"cancelAnimationFrame","metadata":{"unresolvedName":"cancelAnimationFrame"}}],["external:window.removeEventListener",{"id":"external:window.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.removeEventListener"}}],["external:document.removeEventListener",{"id":"external:document.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.removeEventListener"}}],["external:geometry.dispose",{"id":"external:geometry.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"geometry.dispose"}}],["external:material.dispose",{"id":"external:material.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"material.dispose"}}],["external:renderer.dispose",{"id":"external:renderer.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"renderer.dispose"}}],["/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":471,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:setPlaneTransform",{"id":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:setPlaneTransform","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","symbolName":"setPlaneTransform","symbolKind":"function","exported":false,"metadata":{"line":389,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate",{"id":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","symbolName":"animate","symbolKind":"function","exported":false,"metadata":{"line":410,"column":5,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onResize",{"id":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onResize","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","symbolName":"onResize","symbolKind":"function","exported":false,"metadata":{"line":453,"column":5,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onVisibilityChange",{"id":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onVisibilityChange","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","symbolName":"onVisibilityChange","symbolKind":"function","exported":false,"metadata":{"line":464,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","metadata":{"lineCount":103,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount",{"id":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","symbolName":"mount","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:vi.waitFor",{"id":"external:vi.waitFor","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.waitFor"}}],["external:expect(document.querySelector(\"canvas\")).toBeTruthy",{"id":"external:expect(document.querySelector(\"canvas\")).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\"canvas\")).toBeTruthy"}}],["/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":83,"column":41,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(canvas).toBeTruthy",{"id":"external:expect(canvas).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(canvas).toBeTruthy"}}],["external:expect(canvas.style.position).toBe",{"id":"external:expect(canvas.style.position).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(canvas.style.position).toBe"}}],["external:expect(canvas.style.top).toMatch",{"id":"external:expect(canvas.style.top).toMatch","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(canvas.style.top).toMatch"}}],["external:expect(canvas.style.left).toMatch",{"id":"external:expect(canvas.style.left).toMatch","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(canvas.style.left).toMatch"}}],["external:expect(canvas.style.width).toBe",{"id":"external:expect(canvas.style.width).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(canvas.style.width).toBe"}}],["external:expect(canvas.style.height).toBe",{"id":"external:expect(canvas.style.height).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(canvas.style.height).toBe"}}],["external:expect(container).toBeTruthy",{"id":"external:expect(container).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(container).toBeTruthy"}}],["external:expect(container!.className).toContain",{"id":"external:expect(container!.className).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(container!.className).toContain"}}],["file:/Users/mike/Code/Kordant/web/src/components/landing/index.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/components/landing/index.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/landing/index.ts","metadata":{"lineCount":2,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","metadata":{"lineCount":44,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","metadata":{"lineCount":354,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","metadata":{"lineCount":193,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","symbolName":"AppShell","symbolKind":"function","exported":false,"metadata":{"line":12,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:window.scrollTo",{"id":"external:window.scrollTo","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.scrollTo"}}],["symbol-name:onRouteChange",{"id":"symbol-name:onRouteChange","kind":"symbol","language":"jsts","symbolName":"onRouteChange","metadata":{"unresolvedName":"onRouteChange"}}],["external:observer.observe",{"id":"external:observer.observe","kind":"external","language":"jsts","metadata":{"unresolvedName":"observer.observe"}}],["external:observer.disconnect",{"id":"external:observer.disconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"observer.disconnect"}}],["symbol-name:title",{"id":"symbol-name:title","kind":"symbol","language":"jsts","symbolName":"title","metadata":{"unresolvedName":"title"}}],["/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":28,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:onRouteChange",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:onRouteChange","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","symbolName":"onRouteChange","symbolKind":"function","exported":false,"metadata":{"line":16,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:ShieldLogo",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:ShieldLogo","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","symbolName":"ShieldLogo","symbolKind":"function","exported":false,"metadata":{"line":4,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:GithubIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:GithubIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","symbolName":"GithubIcon","symbolKind":"function","exported":false,"metadata":{"line":80,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:TwitterIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:TwitterIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","symbolName":"TwitterIcon","symbolKind":"function","exported":false,"metadata":{"line":88,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:LinkedInIcon",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:LinkedInIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","symbolName":"LinkedInIcon","symbolKind":"function","exported":false,"metadata":{"line":96,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:Footer",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:Footer","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","symbolName":"Footer","symbolKind":"function","exported":false,"metadata":{"line":110,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:new Date().getFullYear",{"id":"external:new Date().getFullYear","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date().getFullYear"}}],["external:~/components/ui/Typewriter",{"id":"external:~/components/ui/Typewriter","kind":"external","language":"jsts","metadata":{"source":"~/components/ui/Typewriter"}}],["external:~/lib/theme",{"id":"external:~/lib/theme","kind":"external","language":"jsts","metadata":{"source":"~/lib/theme"}}],["external:~/hooks/useRealtimeAlerts",{"id":"external:~/hooks/useRealtimeAlerts","kind":"external","language":"jsts","metadata":{"source":"~/hooks/useRealtimeAlerts"}}],["/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ShieldLogo",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ShieldLogo","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","symbolName":"ShieldLogo","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ThemeToggle",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ThemeToggle","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","symbolName":"ThemeToggle","symbolKind":"function","exported":false,"metadata":{"line":47,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useTheme",{"id":"symbol-name:useTheme","kind":"symbol","language":"jsts","symbolName":"useTheme","metadata":{"unresolvedName":"useTheme"}}],["symbol-name:setMounted",{"id":"symbol-name:setMounted","kind":"symbol","language":"jsts","symbolName":"setMounted","metadata":{"unresolvedName":"setMounted"}}],["symbol-name:mounted",{"id":"symbol-name:mounted","kind":"symbol","language":"jsts","symbolName":"mounted","metadata":{"unresolvedName":"mounted"}}],["symbol-name:resolved",{"id":"symbol-name:resolved","kind":"symbol","language":"jsts","symbolName":"resolved","metadata":{"unresolvedName":"resolved"}}],["/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":194,"column":11,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:RealtimeIndicator",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:RealtimeIndicator","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","symbolName":"RealtimeIndicator","symbolKind":"function","exported":false,"metadata":{"line":137,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useRealtimeAlerts",{"id":"symbol-name:useRealtimeAlerts","kind":"symbol","language":"jsts","symbolName":"useRealtimeAlerts","metadata":{"unresolvedName":"useRealtimeAlerts"}}],["symbol-name:unreadCount",{"id":"symbol-name:unreadCount","kind":"symbol","language":"jsts","symbolName":"unreadCount","metadata":{"unresolvedName":"unreadCount"}}],["symbol-name:connectionStatus",{"id":"symbol-name:connectionStatus","kind":"symbol","language":"jsts","symbolName":"connectionStatus","metadata":{"unresolvedName":"connectionStatus"}}],["/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","symbolName":"Navbar","symbolKind":"function","exported":false,"metadata":{"line":189,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setScrolled",{"id":"symbol-name:setScrolled","kind":"symbol","language":"jsts","symbolName":"setScrolled","metadata":{"unresolvedName":"setScrolled"}}],["symbol-name:isActive",{"id":"symbol-name:isActive","kind":"symbol","language":"jsts","symbolName":"isActive","metadata":{"unresolvedName":"isActive"}}],["symbol-name:setMobileOpen",{"id":"symbol-name:setMobileOpen","kind":"symbol","language":"jsts","symbolName":"setMobileOpen","metadata":{"unresolvedName":"setMobileOpen"}}],["symbol-name:scrolled",{"id":"symbol-name:scrolled","kind":"symbol","language":"jsts","symbolName":"scrolled","metadata":{"unresolvedName":"scrolled"}}],["external:marketingLinks.map",{"id":"external:marketingLinks.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"marketingLinks.map"}}],["external:productLinks.map",{"id":"external:productLinks.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"productLinks.map"}}],["symbol-name:mobileOpen",{"id":"symbol-name:mobileOpen","kind":"symbol","language":"jsts","symbolName":"mobileOpen","metadata":{"unresolvedName":"mobileOpen"}}],["/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:onScroll",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:onScroll","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","symbolName":"onScroll","symbolKind":"function","exported":false,"metadata":{"line":195,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:isActive",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:isActive","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","symbolName":"isActive","symbolKind":"function","exported":false,"metadata":{"line":202,"column":20,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx","metadata":{"lineCount":23,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx:PageContainer",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx:PageContainer","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx","symbolName":"PageContainer","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/layout/index.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/components/layout/index.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/index.ts","metadata":{"lineCount":6,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","metadata":{"lineCount":87,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:mount",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:mount","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","symbolName":"mount","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":82,"column":46,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(container.className).toContain",{"id":"external:expect(container.className).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(container.className).toContain"}}],["external:expect(typeof mod.useAuth).toBe",{"id":"external:expect(typeof mod.useAuth).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(typeof mod.useAuth).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/components/layout/useAuth.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/components/layout/useAuth.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/layout/useAuth.ts","metadata":{"lineCount":2,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx","metadata":{"lineCount":33,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx:Badge",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx:Badge","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx","symbolName":"Badge","symbolKind":"function","exported":false,"metadata":{"line":20,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","metadata":{"lineCount":84,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Spinner",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Spinner","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","symbolName":"Spinner","symbolKind":"function","exported":false,"metadata":{"line":36,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Button",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Button","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","symbolName":"Button","symbolKind":"function","exported":false,"metadata":{"line":61,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:isDisabled",{"id":"symbol-name:isDisabled","kind":"symbol","language":"jsts","symbolName":"isDisabled","metadata":{"unresolvedName":"isDisabled"}}],["symbol-name:variant",{"id":"symbol-name:variant","kind":"symbol","language":"jsts","symbolName":"variant","metadata":{"unresolvedName":"variant"}}],["symbol-name:size",{"id":"symbol-name:size","kind":"symbol","language":"jsts","symbolName":"size","metadata":{"unresolvedName":"size"}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx","metadata":{"lineCount":33,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx:Card",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx:Card","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx","symbolName":"Card","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx","metadata":{"lineCount":45,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx:EmptyState",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx:EmptyState","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx","symbolName":"EmptyState","symbolKind":"function","exported":false,"metadata":{"line":16,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","metadata":{"lineCount":115,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ShieldLogo",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ShieldLogo","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","symbolName":"ShieldLogo","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","symbolName":"ErrorFallback","symbolKind":"function","exported":false,"metadata":{"line":47,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:console.error",{"id":"external:console.error","kind":"external","language":"jsts","metadata":{"unresolvedName":"console.error"}}],["external:URL.createObjectURL",{"id":"external:URL.createObjectURL","kind":"external","language":"jsts","metadata":{"unresolvedName":"URL.createObjectURL"}}],["external:a.click",{"id":"external:a.click","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.click"}}],["external:URL.revokeObjectURL",{"id":"external:URL.revokeObjectURL","kind":"external","language":"jsts","metadata":{"unresolvedName":"URL.revokeObjectURL"}}],["symbol-name:setExpanded",{"id":"symbol-name:setExpanded","kind":"symbol","language":"jsts","symbolName":"setExpanded","metadata":{"unresolvedName":"setExpanded"}}],["symbol-name:expanded",{"id":"symbol-name:expanded","kind":"symbol","language":"jsts","symbolName":"expanded","metadata":{"unresolvedName":"expanded"}}],["/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:handleReport",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:handleReport","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","symbolName":"handleReport","symbolKind":"function","exported":false,"metadata":{"line":50,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorBoundary",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorBoundary","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","symbolName":"ErrorBoundary","symbolKind":"function","exported":false,"metadata":{"line":104,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx","metadata":{"lineCount":67,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:Input",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:Input","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx","symbolName":"Input","symbolKind":"function","exported":false,"metadata":{"line":19,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","metadata":{"lineCount":145,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","symbolName":"Modal","symbolKind":"function","exported":false,"metadata":{"line":23,"column":1,"cyclomaticComplexity":19,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createEffect",{"id":"symbol-name:createEffect","kind":"symbol","language":"jsts","symbolName":"createEffect","metadata":{"unresolvedName":"createEffect"}}],["symbol-name:setAnimating",{"id":"symbol-name:setAnimating","kind":"symbol","language":"jsts","symbolName":"setAnimating","metadata":{"unresolvedName":"setAnimating"}}],["symbol-name:clearTimeout",{"id":"symbol-name:clearTimeout","kind":"symbol","language":"jsts","symbolName":"clearTimeout","metadata":{"unresolvedName":"clearTimeout"}}],["external:contentRef.querySelectorAll",{"id":"external:contentRef.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"contentRef.querySelectorAll"}}],["external:e.preventDefault",{"id":"external:e.preventDefault","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.preventDefault"}}],["external:last?.focus",{"id":"external:last?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"last?.focus"}}],["external:first?.focus",{"id":"external:first?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"first?.focus"}}],["external:focusable[0]?.focus",{"id":"external:focusable[0]?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusable[0]?.focus"}}],["symbol-name:animating",{"id":"symbol-name:animating","kind":"symbol","language":"jsts","symbolName":"animating","metadata":{"unresolvedName":"animating"}}],["/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":76,"column":16,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleBackdropClick",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleBackdropClick","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","symbolName":"handleBackdropClick","symbolKind":"function","exported":false,"metadata":{"line":49,"column":31,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleKeyDown",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleKeyDown","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","symbolName":"handleKeyDown","symbolKind":"function","exported":false,"metadata":{"line":55,"column":25,"cyclomaticComplexity":8,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","metadata":{"lineCount":35,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","symbolName":"PageTransition","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setEntering",{"id":"symbol-name:setEntering","kind":"symbol","language":"jsts","symbolName":"setEntering","metadata":{"unresolvedName":"setEntering"}}],["symbol-name:entering",{"id":"symbol-name:entering","kind":"symbol","language":"jsts","symbolName":"entering","metadata":{"unresolvedName":"entering"}}],["/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":17,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","metadata":{"lineCount":97,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonText",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonText","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","symbolName":"SkeletonText","symbolKind":"function","exported":true,"metadata":{"line":10,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:lines",{"id":"symbol-name:lines","kind":"symbol","language":"jsts","symbolName":"lines","metadata":{"unresolvedName":"lines"}}],["symbol-name:i",{"id":"symbol-name:i","kind":"symbol","language":"jsts","symbolName":"i","metadata":{"unresolvedName":"i"}}],["/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonCard",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonCard","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","symbolName":"SkeletonCard","symbolKind":"function","exported":true,"metadata":{"line":30,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonAvatar",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonAvatar","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","symbolName":"SkeletonAvatar","symbolKind":"function","exported":true,"metadata":{"line":57,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonTable",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonTable","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","symbolName":"SkeletonTable","symbolKind":"function","exported":true,"metadata":{"line":75,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:rows",{"id":"symbol-name:rows","kind":"symbol","language":"jsts","symbolName":"rows","metadata":{"unresolvedName":"rows"}}],["symbol-name:columns",{"id":"symbol-name:columns","kind":"symbol","language":"jsts","symbolName":"columns","metadata":{"unresolvedName":"columns"}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","metadata":{"lineCount":147,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","symbolName":"useToast","symbolKind":"function","exported":true,"metadata":{"line":33,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useContext",{"id":"symbol-name:useContext","kind":"symbol","language":"jsts","symbolName":"useContext","metadata":{"unresolvedName":"useContext"}}],["/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","symbolName":"ToastProvider","symbolKind":"function","exported":true,"metadata":{"line":39,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setToasts",{"id":"symbol-name:setToasts","kind":"symbol","language":"jsts","symbolName":"setToasts","metadata":{"unresolvedName":"setToasts"}}],["symbol-name:dismissToast",{"id":"symbol-name:dismissToast","kind":"symbol","language":"jsts","symbolName":"dismissToast","metadata":{"unresolvedName":"dismissToast"}}],["external:timers.set",{"id":"external:timers.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"timers.set"}}],["external:timers.get",{"id":"external:timers.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"timers.get"}}],["external:timers.delete",{"id":"external:timers.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"timers.delete"}}],["external:prev.filter",{"id":"external:prev.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.filter"}}],["external:timers.values",{"id":"external:timers.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"timers.values"}}],["external:timers.clear",{"id":"external:timers.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"timers.clear"}}],["/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","symbolName":"showToast","symbolKind":"function","exported":false,"metadata":{"line":43,"column":21,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","symbolName":"dismissToast","symbolKind":"function","exported":false,"metadata":{"line":60,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":69,"column":13,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastContainer",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastContainer","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","symbolName":"ToastContainer","symbolKind":"function","exported":false,"metadata":{"line":100,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useToast",{"id":"symbol-name:useToast","kind":"symbol","language":"jsts","symbolName":"useToast","metadata":{"unresolvedName":"useToast"}}],["symbol-name:toasts",{"id":"symbol-name:toasts","kind":"symbol","language":"jsts","symbolName":"toasts","metadata":{"unresolvedName":"toasts"}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","metadata":{"lineCount":176,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","symbolName":"Typewriter","symbolKind":"function","exported":true,"metadata":{"line":3,"column":1,"cyclomaticComplexity":26,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:children",{"id":"symbol-name:children","kind":"symbol","language":"jsts","symbolName":"children","metadata":{"unresolvedName":"children"}}],["external:text.trim",{"id":"external:text.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.trim"}}],["external:document.createDocumentFragment",{"id":"external:document.createDocumentFragment","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.createDocumentFragment"}}],["external:text.split(\"\").forEach",{"id":"external:text.split(\"\").forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.split(\"\").forEach"}}],["external:text.split",{"id":"external:text.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.split"}}],["external:charElements.push",{"id":"external:charElements.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"charElements.push"}}],["external:span.appendChild",{"id":"external:span.appendChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"span.appendChild"}}],["external:fragment.appendChild",{"id":"external:fragment.appendChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"fragment.appendChild"}}],["external:node.parentNode?.replaceChild",{"id":"external:node.parentNode?.replaceChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"node.parentNode?.replaceChild"}}],["external:Array.from(node.childNodes).forEach",{"id":"external:Array.from(node.childNodes).forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(node.childNodes).forEach"}}],["symbol-name:walkDOM",{"id":"symbol-name:walkDOM","kind":"symbol","language":"jsts","symbolName":"walkDOM","metadata":{"unresolvedName":"walkDOM"}}],["symbol-name:setAnimated",{"id":"symbol-name:setAnimated","kind":"symbol","language":"jsts","symbolName":"setAnimated","metadata":{"unresolvedName":"setAnimated"}}],["external:containerRef.setAttribute",{"id":"external:containerRef.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"containerRef.setAttribute"}}],["symbol-name:setShouldHide",{"id":"symbol-name:setShouldHide","kind":"symbol","language":"jsts","symbolName":"setShouldHide","metadata":{"unresolvedName":"setShouldHide"}}],["external:cursorRef?.removeEventListener",{"id":"external:cursorRef?.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"cursorRef?.removeEventListener"}}],["symbol-name:setIsTyping",{"id":"symbol-name:setIsTyping","kind":"symbol","language":"jsts","symbolName":"setIsTyping","metadata":{"unresolvedName":"setIsTyping"}}],["external:performance.now",{"id":"external:performance.now","kind":"external","language":"jsts","metadata":{"unresolvedName":"performance.now"}}],["external:charSpan.getBoundingClientRect",{"id":"external:charSpan.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"charSpan.getBoundingClientRect"}}],["external:containerRef?.getBoundingClientRect",{"id":"external:containerRef?.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"containerRef?.getBoundingClientRect"}}],["external:cursorRef?.addEventListener",{"id":"external:cursorRef?.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"cursorRef?.addEventListener"}}],["external:Math.ceil",{"id":"external:Math.ceil","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.ceil"}}],["symbol-name:setIsDelaying",{"id":"symbol-name:setIsDelaying","kind":"symbol","language":"jsts","symbolName":"setIsDelaying","metadata":{"unresolvedName":"setIsDelaying"}}],["symbol-name:startReveal",{"id":"symbol-name:startReveal","kind":"symbol","language":"jsts","symbolName":"startReveal","metadata":{"unresolvedName":"startReveal"}}],["external:entries.forEach",{"id":"external:entries.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.forEach"}}],["symbol-name:cleanupAnimation",{"id":"symbol-name:cleanupAnimation","kind":"symbol","language":"jsts","symbolName":"cleanupAnimation","metadata":{"unresolvedName":"cleanupAnimation"}}],["symbol-name:isDelaying",{"id":"symbol-name:isDelaying","kind":"symbol","language":"jsts","symbolName":"isDelaying","metadata":{"unresolvedName":"isDelaying"}}],["symbol-name:isTyping",{"id":"symbol-name:isTyping","kind":"symbol","language":"jsts","symbolName":"isTyping","metadata":{"unresolvedName":"isTyping"}}],["symbol-name:shouldHide",{"id":"symbol-name:shouldHide","kind":"symbol","language":"jsts","symbolName":"shouldHide","metadata":{"unresolvedName":"shouldHide"}}],["symbol-name:animated",{"id":"symbol-name:animated","kind":"symbol","language":"jsts","symbolName":"animated","metadata":{"unresolvedName":"animated"}}],["symbol-name:getCursorClass",{"id":"symbol-name:getCursorClass","kind":"symbol","language":"jsts","symbolName":"getCursorClass","metadata":{"unresolvedName":"getCursorClass"}}],["/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":149,"column":15,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","symbolName":"walkDOM","symbolKind":"function","exported":false,"metadata":{"line":27,"column":21,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:handleAnimationEnd",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:handleAnimationEnd","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","symbolName":"handleAnimationEnd","symbolKind":"function","exported":false,"metadata":{"line":58,"column":32,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","symbolName":"startReveal","symbolKind":"function","exported":false,"metadata":{"line":65,"column":25,"cyclomaticComplexity":10,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:revealNextChar",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:revealNextChar","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","symbolName":"revealNextChar","symbolKind":"function","exported":false,"metadata":{"line":74,"column":30,"cyclomaticComplexity":8,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:getCursorClass",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:getCursorClass","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","symbolName":"getCursorClass","symbolKind":"function","exported":false,"metadata":{"line":157,"column":26,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/index.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/index.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/index.ts","metadata":{"lineCount":16,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","metadata":{"lineCount":612,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:mount",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:mount","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","symbolName":"mount","symbolKind":"function","exported":false,"metadata":{"line":21,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":602,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(btn.textContent).toContain",{"id":"external:expect(btn.textContent).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(btn.textContent).toContain"}}],["external:expect(btn.getAttribute(\"type\")).toBe",{"id":"external:expect(btn.getAttribute(\"type\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(btn.getAttribute(\"type\")).toBe"}}],["external:btn.getAttribute",{"id":"external:btn.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"btn.getAttribute"}}],["external:expect(btn.className).toContain",{"id":"external:expect(btn.className).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(btn.className).toContain"}}],["external:expect(document.querySelector(\"button\")!.disabled).toBe",{"id":"external:expect(document.querySelector(\"button\")!.disabled).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\"button\")!.disabled).toBe"}}],["external:expect(btn.disabled).toBe",{"id":"external:expect(btn.disabled).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(btn.disabled).toBe"}}],["external:expect(btn.querySelector(\"svg\")).toBeTruthy",{"id":"external:expect(btn.querySelector(\"svg\")).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(btn.querySelector(\"svg\")).toBeTruthy"}}],["external:btn.querySelector",{"id":"external:btn.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"btn.querySelector"}}],["external:document.querySelector(\"button\")!.click",{"id":"external:document.querySelector(\"button\")!.click","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.querySelector(\"button\")!.click"}}],["external:expect(onClick).toHaveBeenCalledTimes",{"id":"external:expect(onClick).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onClick).toHaveBeenCalledTimes"}}],["external:expect(onClick).not.toHaveBeenCalled",{"id":"external:expect(onClick).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onClick).not.toHaveBeenCalled"}}],["external:expect(document.querySelector(\"button\")!.className).toContain",{"id":"external:expect(document.querySelector(\"button\")!.className).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\"button\")!.className).toContain"}}],["external:expect(document.body.querySelector(\".my-card\")).toBeTruthy",{"id":"external:expect(document.body.querySelector(\".my-card\")).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.body.querySelector(\".my-card\")).toBeTruthy"}}],["external:document.body.querySelector",{"id":"external:document.body.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.body.querySelector"}}],["external:expect(input.className).toContain",{"id":"external:expect(input.className).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(input.className).toContain"}}],["external:expect(document.querySelector(\"input\")!.getAttribute(\"type\")).toBe",{"id":"external:expect(document.querySelector(\"input\")!.getAttribute(\"type\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\"input\")!.getAttribute(\"type\")).toBe"}}],["external:document.querySelector(\"input\")!.getAttribute",{"id":"external:document.querySelector(\"input\")!.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.querySelector(\"input\")!.getAttribute"}}],["external:expect(document.querySelector(\"input\")!.id).toBe",{"id":"external:expect(document.querySelector(\"input\")!.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\"input\")!.id).toBe"}}],["external:expect(document.querySelector(\"label\")!.getAttribute(\"for\")).toBe",{"id":"external:expect(document.querySelector(\"label\")!.getAttribute(\"for\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\"label\")!.getAttribute(\"for\")).toBe"}}],["external:document.querySelector(\"label\")!.getAttribute",{"id":"external:document.querySelector(\"label\")!.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.querySelector(\"label\")!.getAttribute"}}],["external:expect(badge.textContent).toContain",{"id":"external:expect(badge.textContent).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(badge.textContent).toContain"}}],["external:expect(badge.className).toContain",{"id":"external:expect(badge.className).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(badge.className).toContain"}}],["external:expect(document.querySelector(\"span\")!.className).toContain",{"id":"external:expect(document.querySelector(\"span\")!.className).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\"span\")!.className).toContain"}}],["external:vi.useFakeTimers",{"id":"external:vi.useFakeTimers","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.useFakeTimers"}}],["symbol-name:afterEach",{"id":"symbol-name:afterEach","kind":"symbol","language":"jsts","symbolName":"afterEach","metadata":{"unresolvedName":"afterEach"}}],["external:vi.useRealTimers",{"id":"external:vi.useRealTimers","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.useRealTimers"}}],["external:vi.advanceTimersByTime",{"id":"external:vi.advanceTimersByTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.advanceTimersByTime"}}],["external:overlay.dispatchEvent",{"id":"external:overlay.dispatchEvent","kind":"external","language":"jsts","metadata":{"unresolvedName":"overlay.dispatchEvent"}}],["external:expect(onClose).toHaveBeenCalled",{"id":"external:expect(onClose).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalled"}}],["external:dialog.dispatchEvent",{"id":"external:dialog.dispatchEvent","kind":"external","language":"jsts","metadata":{"unresolvedName":"dialog.dispatchEvent"}}],["external:expect(onClose).not.toHaveBeenCalled",{"id":"external:expect(onClose).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onClose).not.toHaveBeenCalled"}}],["external:expect(dialog.getAttribute(\"aria-modal\")).toBe",{"id":"external:expect(dialog.getAttribute(\"aria-modal\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(dialog.getAttribute(\"aria-modal\")).toBe"}}],["external:dialog.getAttribute",{"id":"external:dialog.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"dialog.getAttribute"}}],["external:expect(dialog.getAttribute(\"aria-label\")).toBe",{"id":"external:expect(dialog.getAttribute(\"aria-label\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(dialog.getAttribute(\"aria-label\")).toBe"}}],["external:container.remove",{"id":"external:container.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"container.remove"}}],["external:expect(captured).toBeDefined",{"id":"external:expect(captured).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(captured).toBeDefined"}}],["external:expect(typeof captured!.showToast).toBe",{"id":"external:expect(typeof captured!.showToast).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(typeof captured!.showToast).toBe"}}],["external:expect(typeof captured!.dismissToast).toBe",{"id":"external:expect(typeof captured!.dismissToast).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(typeof captured!.dismissToast).toBe"}}],["external:toast.showToast",{"id":"external:toast.showToast","kind":"external","language":"jsts","metadata":{"unresolvedName":"toast.showToast"}}],["symbol-name:show",{"id":"symbol-name:show","kind":"symbol","language":"jsts","symbolName":"show","metadata":{"unresolvedName":"show"}}],["external:toast.dismissToast",{"id":"external:toast.dismissToast","kind":"external","language":"jsts","metadata":{"unresolvedName":"toast.dismissToast"}}],["symbol-name:dismiss",{"id":"symbol-name:dismiss","kind":"symbol","language":"jsts","symbolName":"dismiss","metadata":{"unresolvedName":"dismiss"}}],["external:toast.toasts",{"id":"external:toast.toasts","kind":"external","language":"jsts","metadata":{"unresolvedName":"toast.toasts"}}],["external:expect(toastEl.className).toContain",{"id":"external:expect(toastEl.className).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toastEl.className).toContain"}}],["/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","symbolName":"Child","symbolKind":"function","exported":false,"metadata":{"line":495,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Bad",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Bad","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","symbolName":"Bad","symbolKind":"function","exported":false,"metadata":{"line":396,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Throwing",{"id":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Throwing","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","symbolName":"Throwing","symbolKind":"function","exported":false,"metadata":{"line":526,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(el).toBeTruthy",{"id":"external:expect(el).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(el).toBeTruthy"}}],["external:expect(el.getAttribute(\"aria-label\")).toBe",{"id":"external:expect(el.getAttribute(\"aria-label\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(el.getAttribute(\"aria-label\")).toBe"}}],["external:el.getAttribute",{"id":"external:el.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.getAttribute"}}],["external:expect(bars.length).toBe",{"id":"external:expect(bars.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(bars.length).toBe"}}],["external:expect(el.style.width).toBe",{"id":"external:expect(el.style.width).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(el.style.width).toBe"}}],["external:expect(el.style.height).toBe",{"id":"external:expect(el.style.height).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(el.style.height).toBe"}}],["external:expect(rows.length).toBe",{"id":"external:expect(rows.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(rows.length).toBe"}}],["external:expect(btn).toBeTruthy",{"id":"external:expect(btn).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(btn).toBeTruthy"}}],["external:btn.click",{"id":"external:btn.click","kind":"external","language":"jsts","metadata":{"unresolvedName":"btn.click"}}],["external:expect(document.querySelector(\"[data-testid='test-icon']\")).toBeTruthy",{"id":"external:expect(document.querySelector(\"[data-testid='test-icon']\")).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\"[data-testid='test-icon']\")).toBeTruthy"}}],["file:/Users/mike/Code/Kordant/web/src/entry-client.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/entry-client.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/entry-client.tsx","metadata":{"lineCount":15,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:@solidjs/start/client",{"id":"external:@solidjs/start/client","kind":"external","language":"jsts","metadata":{"source":"@solidjs/start/client"}}],["file:/Users/mike/Code/Kordant/web/src/entry-server.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/entry-server.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/entry-server.tsx","metadata":{"lineCount":25,"featureKind":"library","trustBoundaries":[]}}],["external:@solidjs/start/server",{"id":"external:@solidjs/start/server","kind":"external","language":"jsts","metadata":{"source":"@solidjs/start/server"}}],["file:/Users/mike/Code/Kordant/web/src/hooks/index.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/hooks/index.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/index.ts","metadata":{"lineCount":5,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","metadata":{"lineCount":26,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","symbolName":"useAuth","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:api.user.me.query",{"id":"external:api.user.me.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.user.me.query"}}],["symbol-name:user",{"id":"symbol-name:user","kind":"symbol","language":"jsts","symbolName":"user","metadata":{"unresolvedName":"user"}}],["external:localStorage.removeItem",{"id":"external:localStorage.removeItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"localStorage.removeItem"}}],["/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":5,"column":33,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:logout",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:logout","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","symbolName":"logout","symbolKind":"function","exported":false,"metadata":{"line":17,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","metadata":{"lineCount":33,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","symbolName":"useNotifications","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:result",{"id":"symbol-name:result","kind":"symbol","language":"jsts","symbolName":"result","metadata":{"unresolvedName":"result"}}],["/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":9,"column":11,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:markRead",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:markRead","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","symbolName":"markRead","symbolKind":"function","exported":false,"metadata":{"line":17,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","metadata":{"lineCount":92,"featureKind":"library","trustBoundaries":[]}}],["external:~/lib/websocket",{"id":"external:~/lib/websocket","kind":"external","language":"jsts","metadata":{"source":"~/lib/websocket"}}],["/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:loadUnreadCount",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:loadUnreadCount","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","symbolName":"loadUnreadCount","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:parseInt",{"id":"symbol-name:parseInt","kind":"symbol","language":"jsts","symbolName":"parseInt","metadata":{"unresolvedName":"parseInt"}}],["external:localStorage.getItem",{"id":"external:localStorage.getItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"localStorage.getItem"}}],["/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:saveUnreadCount",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:saveUnreadCount","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","symbolName":"saveUnreadCount","symbolKind":"function","exported":false,"metadata":{"line":15,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:localStorage.setItem",{"id":"external:localStorage.setItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"localStorage.setItem"}}],["/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:prefersReducedMotion",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:prefersReducedMotion","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","symbolName":"prefersReducedMotion","symbolKind":"function","exported":false,"metadata":{"line":23,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","symbolName":"useRealtimeAlerts","symbolKind":"function","exported":true,"metadata":{"line":28,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:loadUnreadCount",{"id":"symbol-name:loadUnreadCount","kind":"symbol","language":"jsts","symbolName":"loadUnreadCount","metadata":{"unresolvedName":"loadUnreadCount"}}],["symbol-name:createWebSocketClient",{"id":"symbol-name:createWebSocketClient","kind":"symbol","language":"jsts","symbolName":"createWebSocketClient","metadata":{"unresolvedName":"createWebSocketClient"}}],["symbol-name:prefersReducedMotion",{"id":"symbol-name:prefersReducedMotion","kind":"symbol","language":"jsts","symbolName":"prefersReducedMotion","metadata":{"unresolvedName":"prefersReducedMotion"}}],["symbol-name:setUnreadCount",{"id":"symbol-name:setUnreadCount","kind":"symbol","language":"jsts","symbolName":"setUnreadCount","metadata":{"unresolvedName":"setUnreadCount"}}],["symbol-name:saveUnreadCount",{"id":"symbol-name:saveUnreadCount","kind":"symbol","language":"jsts","symbolName":"saveUnreadCount","metadata":{"unresolvedName":"saveUnreadCount"}}],["symbol-name:showToast",{"id":"symbol-name:showToast","kind":"symbol","language":"jsts","symbolName":"showToast","metadata":{"unresolvedName":"showToast"}}],["symbol-name:setConnectionStatus",{"id":"symbol-name:setConnectionStatus","kind":"symbol","language":"jsts","symbolName":"setConnectionStatus","metadata":{"unresolvedName":"setConnectionStatus"}}],["external:client.onAlert",{"id":"external:client.onAlert","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.onAlert"}}],["external:client.onStatusChange",{"id":"external:client.onStatusChange","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.onStatusChange"}}],["external:client.connect",{"id":"external:client.connect","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.connect"}}],["symbol-name:removeAlertListener",{"id":"symbol-name:removeAlertListener","kind":"symbol","language":"jsts","symbolName":"removeAlertListener","metadata":{"unresolvedName":"removeAlertListener"}}],["symbol-name:removeStatusListener",{"id":"symbol-name:removeStatusListener","kind":"symbol","language":"jsts","symbolName":"removeStatusListener","metadata":{"unresolvedName":"removeStatusListener"}}],["external:client.cleanup",{"id":"external:client.cleanup","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.cleanup"}}],["/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleAlert",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","symbolName":"handleAlert","symbolKind":"function","exported":false,"metadata":{"line":35,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":74,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleStatusChange",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleStatusChange","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","symbolName":"handleStatusChange","symbolKind":"function","exported":false,"metadata":{"line":58,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:clearUnread",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:clearUnread","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","symbolName":"clearUnread","symbolKind":"function","exported":false,"metadata":{"line":80,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","metadata":{"lineCount":55,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","symbolName":"useSubscription","symbolKind":"function","exported":true,"metadata":{"line":14,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.billing.getSubscription.query",{"id":"external:api.billing.getSubscription.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.billing.getSubscription.query"}}],["symbol-name:subscription",{"id":"symbol-name:subscription","kind":"symbol","language":"jsts","symbolName":"subscription","metadata":{"unresolvedName":"subscription"}}],["symbol-name:effectiveTier",{"id":"symbol-name:effectiveTier","kind":"symbol","language":"jsts","symbolName":"effectiveTier","metadata":{"unresolvedName":"effectiveTier"}}],["external:trials().some",{"id":"external:trials().some","kind":"external","language":"jsts","metadata":{"unresolvedName":"trials().some"}}],["symbol-name:trials",{"id":"symbol-name:trials","kind":"symbol","language":"jsts","symbolName":"trials","metadata":{"unresolvedName":"trials"}}],["/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:hasFeature",{"id":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:hasFeature","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","symbolName":"hasFeature","symbolKind":"function","exported":false,"metadata":{"line":24,"column":22,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/lib/api.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/api.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/api.ts","metadata":{"lineCount":38,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:@trpc/client",{"id":"external:@trpc/client","kind":"external","language":"jsts","metadata":{"source":"@trpc/client"}}],["external:~/server/api/root",{"id":"external:~/server/api/root","kind":"external","language":"jsts","metadata":{"source":"~/server/api/root"}}],["/Users/mike/Code/Kordant/web/src/lib/api.ts:getBaseUrl",{"id":"/Users/mike/Code/Kordant/web/src/lib/api.ts:getBaseUrl","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/api.ts","symbolName":"getBaseUrl","symbolKind":"function","exported":false,"metadata":{"line":8,"column":20,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/lib/api.ts:getAuthToken",{"id":"/Users/mike/Code/Kordant/web/src/lib/api.ts:getAuthToken","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/api.ts","symbolName":"getAuthToken","symbolKind":"function","exported":false,"metadata":{"line":14,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:document.cookie.match",{"id":"external:document.cookie.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.cookie.match"}}],["/Users/mike/Code/Kordant/web/src/lib/api.ts:headers",{"id":"/Users/mike/Code/Kordant/web/src/lib/api.ts:headers","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/api.ts","symbolName":"headers","symbolKind":"function","exported":false,"metadata":{"line":30,"column":16,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getAuthToken",{"id":"symbol-name:getAuthToken","kind":"symbol","language":"jsts","symbolName":"getAuthToken","metadata":{"unresolvedName":"getAuthToken"}}],["file:/Users/mike/Code/Kordant/web/src/lib/auth.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/auth.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/auth.ts","metadata":{"lineCount":38,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/lib/auth.ts:getCheckoutUrl",{"id":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:getCheckoutUrl","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/auth.ts","symbolName":"getCheckoutUrl","symbolKind":"function","exported":true,"metadata":{"line":7,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/lib/auth.ts:submitOnboarding",{"id":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:submitOnboarding","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/auth.ts","symbolName":"submitOnboarding","symbolKind":"function","exported":true,"metadata":{"line":18,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:item.includes",{"id":"external:item.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"item.includes"}}],["external:api.darkwatch.addWatchlistItem.mutate",{"id":"external:api.darkwatch.addWatchlistItem.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.darkwatch.addWatchlistItem.mutate"}}],["external:api.user.inviteFamilyMember.mutate",{"id":"external:api.user.inviteFamilyMember.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.user.inviteFamilyMember.mutate"}}],["file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","metadata":{"lineCount":91,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/lib/html-utils.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/html-utils.ts","metadata":{"lineCount":32,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":87,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:sanitizeHtml",{"id":"symbol-name:sanitizeHtml","kind":"symbol","language":"jsts","symbolName":"sanitizeHtml","metadata":{"unresolvedName":"sanitizeHtml"}}],["external:expect(output).not.toContain",{"id":"external:expect(output).not.toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(output).not.toContain"}}],["external:expect(output).toContain",{"id":"external:expect(output).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(output).toContain"}}],["external:expect(sanitizeHtml(\"\")).toBe",{"id":"external:expect(sanitizeHtml(\"\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sanitizeHtml(\"\")).toBe"}}],["external:expect(sanitizeHtml(\"plain text\")).toBe",{"id":"external:expect(sanitizeHtml(\"plain text\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sanitizeHtml(\"plain text\")).toBe"}}],["external:isomorphic-dompurify",{"id":"external:isomorphic-dompurify","kind":"external","language":"jsts","metadata":{"source":"isomorphic-dompurify"}}],["/Users/mike/Code/Kordant/web/src/lib/html-utils.ts:sanitizeHtml",{"id":"/Users/mike/Code/Kordant/web/src/lib/html-utils.ts:sanitizeHtml","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/html-utils.ts","symbolName":"sanitizeHtml","symbolKind":"function","exported":true,"metadata":{"line":8,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:DOMPurify.sanitize",{"id":"external:DOMPurify.sanitize","kind":"external","language":"jsts","metadata":{"unresolvedName":"DOMPurify.sanitize"}}],["file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","metadata":{"lineCount":289,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createLocalStorageMock",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createLocalStorageMock","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","symbolName":"createLocalStorageMock","symbolKind":"function","exported":false,"metadata":{"line":13,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:store.get",{"id":"external:store.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.get"}}],["external:store.set",{"id":"external:store.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.set"}}],["external:store.delete",{"id":"external:store.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.delete"}}],["external:store.clear",{"id":"external:store.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.clear"}}],["/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","symbolName":"setupDOM","symbolKind":"function","exported":false,"metadata":{"line":23,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:document.documentElement.classList.remove",{"id":"external:document.documentElement.classList.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.documentElement.classList.remove"}}],["external:document\n .querySelectorAll('meta[name=\"theme-color\"]')\n .forEach",{"id":"external:document\n .querySelectorAll('meta[name=\"theme-color\"]')\n .forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"document\n .querySelectorAll('meta[name=\"theme-color\"]')\n .forEach"}}],["external:document\n .querySelectorAll",{"id":"external:document\n .querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"document\n .querySelectorAll"}}],["external:el.remove",{"id":"external:el.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.remove"}}],["symbol-name:createLocalStorageMock",{"id":"symbol-name:createLocalStorageMock","kind":"symbol","language":"jsts","symbolName":"createLocalStorageMock","metadata":{"unresolvedName":"createLocalStorageMock"}}],["external:vi.stubGlobal",{"id":"external:vi.stubGlobal","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.stubGlobal"}}],["/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","symbolName":"createMatchMediaMock","symbolKind":"function","exported":false,"metadata":{"line":32,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:vi.fn().mockImplementation",{"id":"external:vi.fn().mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn().mockImplementation"}}],["/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:runWithRoot",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:runWithRoot","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","symbolName":"runWithRoot","symbolKind":"function","exported":false,"metadata":{"line":45,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createRoot",{"id":"symbol-name:createRoot","kind":"symbol","language":"jsts","symbolName":"createRoot","metadata":{"unresolvedName":"createRoot"}}],["symbol-name:fn",{"id":"symbol-name:fn","kind":"symbol","language":"jsts","symbolName":"fn","metadata":{"unresolvedName":"fn"}}],["/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":279,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createMatchMediaMock",{"id":"symbol-name:createMatchMediaMock","kind":"symbol","language":"jsts","symbolName":"createMatchMediaMock","metadata":{"unresolvedName":"createMatchMediaMock"}}],["external:expect(getSystemTheme()).toBe",{"id":"external:expect(getSystemTheme()).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getSystemTheme()).toBe"}}],["symbol-name:getSystemTheme",{"id":"symbol-name:getSystemTheme","kind":"symbol","language":"jsts","symbolName":"getSystemTheme","metadata":{"unresolvedName":"getSystemTheme"}}],["symbol-name:setupDOM",{"id":"symbol-name:setupDOM","kind":"symbol","language":"jsts","symbolName":"setupDOM","metadata":{"unresolvedName":"setupDOM"}}],["external:expect(getStoredTheme()).toBe",{"id":"external:expect(getStoredTheme()).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getStoredTheme()).toBe"}}],["symbol-name:getStoredTheme",{"id":"symbol-name:getStoredTheme","kind":"symbol","language":"jsts","symbolName":"getStoredTheme","metadata":{"unresolvedName":"getStoredTheme"}}],["external:expect(getResolvedTheme(\"light\")).toBe",{"id":"external:expect(getResolvedTheme(\"light\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getResolvedTheme(\"light\")).toBe"}}],["symbol-name:getResolvedTheme",{"id":"symbol-name:getResolvedTheme","kind":"symbol","language":"jsts","symbolName":"getResolvedTheme","metadata":{"unresolvedName":"getResolvedTheme"}}],["external:expect(getResolvedTheme(\"dark\")).toBe",{"id":"external:expect(getResolvedTheme(\"dark\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getResolvedTheme(\"dark\")).toBe"}}],["external:expect(getResolvedTheme(\"system\")).toBe",{"id":"external:expect(getResolvedTheme(\"system\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getResolvedTheme(\"system\")).toBe"}}],["external:document.documentElement.classList.add",{"id":"external:document.documentElement.classList.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.documentElement.classList.add"}}],["symbol-name:applyThemeClass",{"id":"symbol-name:applyThemeClass","kind":"symbol","language":"jsts","symbolName":"applyThemeClass","metadata":{"unresolvedName":"applyThemeClass"}}],["external:expect(document.documentElement.classList.contains(\"light\")).toBe",{"id":"external:expect(document.documentElement.classList.contains(\"light\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.documentElement.classList.contains(\"light\")).toBe"}}],["external:document.documentElement.classList.contains",{"id":"external:document.documentElement.classList.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.documentElement.classList.contains"}}],["external:expect(document.documentElement.classList.contains(\"dark\")).toBe",{"id":"external:expect(document.documentElement.classList.contains(\"dark\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.documentElement.classList.contains(\"dark\")).toBe"}}],["symbol-name:updateMetaThemeColor",{"id":"symbol-name:updateMetaThemeColor","kind":"symbol","language":"jsts","symbolName":"updateMetaThemeColor","metadata":{"unresolvedName":"updateMetaThemeColor"}}],["external:expect(meta).not.toBeNull",{"id":"external:expect(meta).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(meta).not.toBeNull"}}],["external:expect(meta!.getAttribute(\"content\")).toBe",{"id":"external:expect(meta!.getAttribute(\"content\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(meta!.getAttribute(\"content\")).toBe"}}],["external:meta!.getAttribute",{"id":"external:meta!.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"meta!.getAttribute"}}],["external:expect(metas.length).toBe",{"id":"external:expect(metas.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(metas.length).toBe"}}],["external:expect(metas[0].getAttribute(\"content\")).toBe",{"id":"external:expect(metas[0].getAttribute(\"content\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(metas[0].getAttribute(\"content\")).toBe"}}],["external:metas[0].getAttribute",{"id":"external:metas[0].getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"metas[0].getAttribute"}}],["symbol-name:persistTheme",{"id":"symbol-name:persistTheme","kind":"symbol","language":"jsts","symbolName":"persistTheme","metadata":{"unresolvedName":"persistTheme"}}],["external:expect(localStorage.getItem(\"kordant-theme\")).toBe",{"id":"external:expect(localStorage.getItem(\"kordant-theme\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem(\"kordant-theme\")).toBe"}}],["symbol-name:describe",{"id":"symbol-name:describe","kind":"symbol","language":"jsts","symbolName":"describe","metadata":{"unresolvedName":"describe"}}],["symbol-name:runWithRoot",{"id":"symbol-name:runWithRoot","kind":"symbol","language":"jsts","symbolName":"runWithRoot","metadata":{"unresolvedName":"runWithRoot"}}],["symbol-name:createThemeState",{"id":"symbol-name:createThemeState","kind":"symbol","language":"jsts","symbolName":"createThemeState","metadata":{"unresolvedName":"createThemeState"}}],["external:expect(theme()).toBe",{"id":"external:expect(theme()).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(theme()).toBe"}}],["symbol-name:theme",{"id":"symbol-name:theme","kind":"symbol","language":"jsts","symbolName":"theme","metadata":{"unresolvedName":"theme"}}],["external:expect(resolved()).toBe",{"id":"external:expect(resolved()).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(resolved()).toBe"}}],["symbol-name:setTheme",{"id":"symbol-name:setTheme","kind":"symbol","language":"jsts","symbolName":"setTheme","metadata":{"unresolvedName":"setTheme"}}],["symbol-name:toggle",{"id":"symbol-name:toggle","kind":"symbol","language":"jsts","symbolName":"toggle","metadata":{"unresolvedName":"toggle"}}],["external:vi.fn().mockReturnValue",{"id":"external:vi.fn().mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}}],["external:expect(addEventListener).toHaveBeenCalledWith",{"id":"external:expect(addEventListener).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(addEventListener).toHaveBeenCalledWith"}}],["external:expect.any",{"id":"external:expect.any","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect.any"}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:useTheme",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:useTheme","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"useTheme","symbolKind":"function","exported":true,"metadata":{"line":25,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"getSystemTheme","symbolKind":"function","exported":true,"metadata":{"line":33,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"getStoredTheme","symbolKind":"function","exported":true,"metadata":{"line":40,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:globalThis.localStorage?.getItem",{"id":"external:globalThis.localStorage?.getItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"globalThis.localStorage?.getItem"}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getResolvedTheme",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getResolvedTheme","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"getResolvedTheme","symbolKind":"function","exported":true,"metadata":{"line":50,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"applyThemeClass","symbolKind":"function","exported":true,"metadata":{"line":54,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:root.classList.remove",{"id":"external:root.classList.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"root.classList.remove"}}],["external:root.classList.add",{"id":"external:root.classList.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"root.classList.add"}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"updateMetaThemeColor","symbolKind":"function","exported":true,"metadata":{"line":61,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:document.head.appendChild",{"id":"external:document.head.appendChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.head.appendChild"}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:persistTheme",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:persistTheme","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"persistTheme","symbolKind":"function","exported":true,"metadata":{"line":75,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:globalThis.localStorage?.setItem",{"id":"external:globalThis.localStorage?.setItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"globalThis.localStorage?.setItem"}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"createThemeState","symbolKind":"function","exported":true,"metadata":{"line":83,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:mediaQuery.addEventListener",{"id":"external:mediaQuery.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"mediaQuery.addEventListener"}}],["external:mediaQuery.removeEventListener",{"id":"external:mediaQuery.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"mediaQuery.removeEventListener"}}],["symbol-name:setThemeSignal",{"id":"symbol-name:setThemeSignal","kind":"symbol","language":"jsts","symbolName":"setThemeSignal","metadata":{"unresolvedName":"setThemeSignal"}}],["symbol-name:setAndPersist",{"id":"symbol-name:setAndPersist","kind":"symbol","language":"jsts","symbolName":"setAndPersist","metadata":{"unresolvedName":"setAndPersist"}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":89,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"listener","symbolKind":"function","exported":false,"metadata":{"line":97,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:setAndPersist",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:setAndPersist","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"setAndPersist","symbolKind":"function","exported":false,"metadata":{"line":108,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"toggle","symbolKind":"function","exported":false,"metadata":{"line":113,"column":18,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/theme.tsx:ThemeProvider",{"id":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:ThemeProvider","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx","symbolName":"ThemeProvider","symbolKind":"function","exported":true,"metadata":{"line":121,"column":47,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","metadata":{"lineCount":103,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/lib/url-validation.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","metadata":{"lineCount":70,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":95,"column":44,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(validateReturnUrl(\"https://app.kordant.com/success\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://app.kordant.com/success\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/success\")).toBe"}}],["symbol-name:validateReturnUrl",{"id":"symbol-name:validateReturnUrl","kind":"symbol","language":"jsts","symbolName":"validateReturnUrl","metadata":{"unresolvedName":"validateReturnUrl"}}],["external:expect(validateReturnUrl(\"https://admin.kordant.com/callback\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://admin.kordant.com/callback\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://admin.kordant.com/callback\")).toBe"}}],["external:expect(validateReturnUrl(\"https://app.kordant.com/\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://app.kordant.com/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/\")).toBe"}}],["external:expect(validateReturnUrl(\"http://localhost:3000/callback\")).toBe",{"id":"external:expect(validateReturnUrl(\"http://localhost:3000/callback\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:3000/callback\")).toBe"}}],["external:expect(validateReturnUrl(\"http://localhost:5173/success\")).toBe",{"id":"external:expect(validateReturnUrl(\"http://localhost:5173/success\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:5173/success\")).toBe"}}],["external:expect(validateReturnUrl(\"http://127.0.0.1:3000/callback\")).toBe",{"id":"external:expect(validateReturnUrl(\"http://127.0.0.1:3000/callback\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://127.0.0.1:3000/callback\")).toBe"}}],["external:expect(validateReturnUrl(\"https://checkout.app.kordant.com/success\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://checkout.app.kordant.com/success\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://checkout.app.kordant.com/success\")).toBe"}}],["external:expect(validateReturnUrl(\"https://billing.admin.kordant.com/return\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://billing.admin.kordant.com/return\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://billing.admin.kordant.com/return\")).toBe"}}],["external:expect(validateReturnUrl(\"http://localhost:3000\")).toBe",{"id":"external:expect(validateReturnUrl(\"http://localhost:3000\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:3000\")).toBe"}}],["external:expect(validateReturnUrl(\"https://evil.com/phishing\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://evil.com/phishing\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com/phishing\")).toBe"}}],["external:expect(validateReturnUrl(\"https://malware.net/steal\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://malware.net/steal\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://malware.net/steal\")).toBe"}}],["external:expect(validateReturnUrl(\"https://example.com/return\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://example.com/return\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://example.com/return\")).toBe"}}],["external:expect(validateReturnUrl(\"//evil.com\")).toBe",{"id":"external:expect(validateReturnUrl(\"//evil.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//evil.com\")).toBe"}}],["external:expect(validateReturnUrl(\"//app.kordant.com.evil.com\")).toBe",{"id":"external:expect(validateReturnUrl(\"//app.kordant.com.evil.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//app.kordant.com.evil.com\")).toBe"}}],["external:expect(validateReturnUrl(\"https://kordant.com.evil.com\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://kordant.com.evil.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://kordant.com.evil.com\")).toBe"}}],["external:expect(validateReturnUrl(\"https://notkordant.com\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://notkordant.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://notkordant.com\")).toBe"}}],["external:expect(validateReturnUrl(\"https://evil.com.app.kordant.com\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://evil.com.app.kordant.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com.app.kordant.com\")).toBe"}}],["external:expect(validateReturnUrl(\"https://checkout.admin.kordant.com\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://checkout.admin.kordant.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://checkout.admin.kordant.com\")).toBe"}}],["external:expect(validateReturnUrl(\"%2F%2Fevil.com\")).toBe",{"id":"external:expect(validateReturnUrl(\"%2F%2Fevil.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"%2F%2Fevil.com\")).toBe"}}],["external:expect(validateReturnUrl(\"//%65vil.com\")).toBe",{"id":"external:expect(validateReturnUrl(\"//%65vil.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//%65vil.com\")).toBe"}}],["external:expect(validateReturnUrl(\"ftp://example.com/file\")).toBe",{"id":"external:expect(validateReturnUrl(\"ftp://example.com/file\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"ftp://example.com/file\")).toBe"}}],["external:expect(validateReturnUrl(\"javascript:alert(1)\")).toBe",{"id":"external:expect(validateReturnUrl(\"javascript:alert(1)\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"javascript:alert(1)\")).toBe"}}],["external:expect(validateReturnUrl(\"data:text/html,<script>alert(1)</script>\")).toBe",{"id":"external:expect(validateReturnUrl(\"data:text/html,<script>alert(1)</script>\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"data:text/html,<script>alert(1)</script>\")).toBe"}}],["external:expect(validateReturnUrl(\"mailto:test@test.com\")).toBe",{"id":"external:expect(validateReturnUrl(\"mailto:test@test.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"mailto:test@test.com\")).toBe"}}],["external:expect(validateReturnUrl(\"\")).toBe",{"id":"external:expect(validateReturnUrl(\"\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"\")).toBe"}}],["external:expect(validateReturnUrl(\" \")).toBe",{"id":"external:expect(validateReturnUrl(\" \")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\" \")).toBe"}}],["external:expect(validateReturnUrl(\"\\t\")).toBe",{"id":"external:expect(validateReturnUrl(\"\\t\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"\\t\")).toBe"}}],["external:expect(validateReturnUrl(\"not a url\")).toBe",{"id":"external:expect(validateReturnUrl(\"not a url\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"not a url\")).toBe"}}],["external:expect(validateReturnUrl(\"://missing-protocol\")).toBe",{"id":"external:expect(validateReturnUrl(\"://missing-protocol\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"://missing-protocol\")).toBe"}}],["external:expect(validateReturnUrl(\"https://myapp.example.com/return\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://myapp.example.com/return\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://myapp.example.com/return\")).toBe"}}],["external:expect(validateReturnUrl(\"https://app.kordant.com/return\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://app.kordant.com/return\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/return\")).toBe"}}],["external:expect(validateReturnUrl(\"https://app.example.com/\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://app.example.com/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.example.com/\")).toBe"}}],["external:expect(validateReturnUrl(\"https://admin.example.com/\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://admin.example.com/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://admin.example.com/\")).toBe"}}],["external:expect(validateReturnUrl(\"https://evil.com/\")).toBe",{"id":"external:expect(validateReturnUrl(\"https://evil.com/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com/\")).toBe"}}],["external:valibot",{"id":"external:valibot","kind":"external","language":"jsts","metadata":{"source":"valibot"}}],["/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:getAllowlist",{"id":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:getAllowlist","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","symbolName":"getAllowlist","symbolKind":"function","exported":false,"metadata":{"line":3,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:raw\n .split(\",\")\n .map((d) => d.trim().toLowerCase())\n .filter",{"id":"external:raw\n .split(\",\")\n .map((d) => d.trim().toLowerCase())\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"raw\n .split(\",\")\n .map((d) => d.trim().toLowerCase())\n .filter"}}],["external:raw\n .split(\",\")\n .map",{"id":"external:raw\n .split(\",\")\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"raw\n .split(\",\")\n .map"}}],["external:raw\n .split",{"id":"external:raw\n .split","kind":"external","language":"jsts","metadata":{"unresolvedName":"raw\n .split"}}],["external:d.trim().toLowerCase",{"id":"external:d.trim().toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"d.trim().toLowerCase"}}],["external:d.trim",{"id":"external:d.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"d.trim"}}],["/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl",{"id":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","symbolName":"validateReturnUrl","symbolKind":"function","exported":true,"metadata":{"line":17,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:url.trim",{"id":"external:url.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"url.trim"}}],["symbol-name:decodeURIComponent",{"id":"symbol-name:decodeURIComponent","kind":"symbol","language":"jsts","symbolName":"decodeURIComponent","metadata":{"unresolvedName":"decodeURIComponent"}}],["external:/^\\/\\//.test",{"id":"external:/^\\/\\//.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^\\/\\//.test"}}],["external:[\"http:\", \"https:\"].includes",{"id":"external:[\"http:\", \"https:\"].includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"[\"http:\", \"https:\"].includes"}}],["external:parsed.hostname.toLowerCase",{"id":"external:parsed.hostname.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"parsed.hostname.toLowerCase"}}],["symbol-name:getAllowlist",{"id":"symbol-name:getAllowlist","kind":"symbol","language":"jsts","symbolName":"getAllowlist","metadata":{"unresolvedName":"getAllowlist"}}],["external:hostname.endsWith",{"id":"external:hostname.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"hostname.endsWith"}}],["/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":60,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/lib/utils.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/utils.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/utils.ts","metadata":{"lineCount":4,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn",{"id":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/utils.ts","symbolName":"cn","symbolKind":"function","exported":true,"metadata":{"line":1,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:classes.filter(Boolean).join",{"id":"external:classes.filter(Boolean).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"classes.filter(Boolean).join"}}],["external:classes.filter",{"id":"external:classes.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"classes.filter"}}],["file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","metadata":{"lineCount":175,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:createMockWs",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:createMockWs","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","symbolName":"createMockWs","symbolKind":"function","exported":false,"metadata":{"line":4,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:onclose",{"id":"symbol-name:onclose","kind":"symbol","language":"jsts","symbolName":"onclose","metadata":{"unresolvedName":"onclose"}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":169,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createMockWs",{"id":"symbol-name:createMockWs","kind":"symbol","language":"jsts","symbolName":"createMockWs","metadata":{"unresolvedName":"createMockWs"}}],["external:wsConstructorUrls.push",{"id":"external:wsConstructorUrls.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"wsConstructorUrls.push"}}],["external:mockWs.onopen",{"id":"external:mockWs.onopen","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockWs.onopen"}}],["external:expect(wsConstructorUrls).toHaveLength",{"id":"external:expect(wsConstructorUrls).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(wsConstructorUrls).toHaveLength"}}],["external:expect(wsConstructorUrls[0]).toContain",{"id":"external:expect(wsConstructorUrls[0]).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(wsConstructorUrls[0]).toContain"}}],["external:expect(ws).toBe",{"id":"external:expect(ws).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(ws).toBe"}}],["external:expect(client.connectionStatus()).toBe",{"id":"external:expect(client.connectionStatus()).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(client.connectionStatus()).toBe"}}],["external:client.connectionStatus",{"id":"external:client.connectionStatus","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.connectionStatus"}}],["external:client.disconnect",{"id":"external:client.disconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.disconnect"}}],["external:mockWs.onclose",{"id":"external:mockWs.onclose","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockWs.onclose"}}],["external:alerts.push",{"id":"external:alerts.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"alerts.push"}}],["external:mockWs.onmessage",{"id":"external:mockWs.onmessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockWs.onmessage"}}],["external:JSON.stringify",{"id":"external:JSON.stringify","kind":"external","language":"jsts","metadata":{"unresolvedName":"JSON.stringify"}}],["external:expect(alerts).toHaveLength",{"id":"external:expect(alerts).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(alerts).toHaveLength"}}],["external:expect(alerts[0].title).toBe",{"id":"external:expect(alerts[0].title).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(alerts[0].title).toBe"}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:MockWebSocket",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:MockWebSocket","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","symbolName":"MockWebSocket","symbolKind":"function","exported":false,"metadata":{"line":42,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:runWithRoot",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:runWithRoot","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","symbolName":"runWithRoot","symbolKind":"function","exported":false,"metadata":{"line":66,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","metadata":{"lineCount":222,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:getAuthToken",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:getAuthToken","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"getAuthToken","symbolKind":"function","exported":false,"metadata":{"line":21,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"createWebSocketClient","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":23,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setLastAlert",{"id":"symbol-name:setLastAlert","kind":"symbol","language":"jsts","symbolName":"setLastAlert","metadata":{"unresolvedName":"setLastAlert"}}],["symbol-name:listener",{"id":"symbol-name:listener","kind":"symbol","language":"jsts","symbolName":"listener","metadata":{"unresolvedName":"listener"}}],["symbol-name:stopHeartbeat",{"id":"symbol-name:stopHeartbeat","kind":"symbol","language":"jsts","symbolName":"stopHeartbeat","metadata":{"unresolvedName":"stopHeartbeat"}}],["external:ws.send",{"id":"external:ws.send","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws.send"}}],["external:ws?.close",{"id":"external:ws?.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws?.close"}}],["symbol-name:notifyStatus",{"id":"symbol-name:notifyStatus","kind":"symbol","language":"jsts","symbolName":"notifyStatus","metadata":{"unresolvedName":"notifyStatus"}}],["symbol-name:connect",{"id":"symbol-name:connect","kind":"symbol","language":"jsts","symbolName":"connect","metadata":{"unresolvedName":"connect"}}],["symbol-name:encodeURIComponent",{"id":"symbol-name:encodeURIComponent","kind":"symbol","language":"jsts","symbolName":"encodeURIComponent","metadata":{"unresolvedName":"encodeURIComponent"}}],["symbol-name:startHeartbeat",{"id":"symbol-name:startHeartbeat","kind":"symbol","language":"jsts","symbolName":"startHeartbeat","metadata":{"unresolvedName":"startHeartbeat"}}],["external:JSON.parse",{"id":"external:JSON.parse","kind":"external","language":"jsts","metadata":{"unresolvedName":"JSON.parse"}}],["symbol-name:notifyAlert",{"id":"symbol-name:notifyAlert","kind":"symbol","language":"jsts","symbolName":"notifyAlert","metadata":{"unresolvedName":"notifyAlert"}}],["symbol-name:scheduleReconnect",{"id":"symbol-name:scheduleReconnect","kind":"symbol","language":"jsts","symbolName":"scheduleReconnect","metadata":{"unresolvedName":"scheduleReconnect"}}],["external:ws.close",{"id":"external:ws.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws.close"}}],["external:listeners.push",{"id":"external:listeners.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"listeners.push"}}],["external:listeners.filter",{"id":"external:listeners.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"listeners.filter"}}],["external:statusListeners.push",{"id":"external:statusListeners.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"statusListeners.push"}}],["external:statusListeners.filter",{"id":"external:statusListeners.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"statusListeners.filter"}}],["symbol-name:disconnect",{"id":"symbol-name:disconnect","kind":"symbol","language":"jsts","symbolName":"disconnect","metadata":{"unresolvedName":"disconnect"}}],["symbol-name:c",{"id":"symbol-name:c","kind":"symbol","language":"jsts","symbolName":"c","metadata":{"unresolvedName":"c"}}],["symbol-name:cleanup",{"id":"symbol-name:cleanup","kind":"symbol","language":"jsts","symbolName":"cleanup","metadata":{"unresolvedName":"cleanup"}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyAlert",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"notifyAlert","symbolKind":"function","exported":false,"metadata":{"line":46,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"notifyStatus","symbolKind":"function","exported":false,"metadata":{"line":57,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:startHeartbeat",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:startHeartbeat","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"startHeartbeat","symbolKind":"function","exported":false,"metadata":{"line":68,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":193,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:stopHeartbeat",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:stopHeartbeat","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"stopHeartbeat","symbolKind":"function","exported":false,"metadata":{"line":81,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:scheduleReconnect",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:scheduleReconnect","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"scheduleReconnect","symbolKind":"function","exported":false,"metadata":{"line":92,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"connect","symbolKind":"function","exported":false,"metadata":{"line":110,"column":3,"cyclomaticComplexity":10,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:disconnect",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:disconnect","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"disconnect","symbolKind":"function","exported":false,"metadata":{"line":170,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onAlert",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"onAlert","symbolKind":"function","exported":false,"metadata":{"line":184,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onStatusChange",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onStatusChange","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"onStatusChange","symbolKind":"function","exported":false,"metadata":{"line":191,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/lib/websocket.ts:cleanup",{"id":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:cleanup","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts","symbolName":"cleanup","symbolKind":"function","exported":false,"metadata":{"line":198,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/middleware.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/middleware.test.ts","metadata":{"lineCount":74,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/middleware.test.ts:isValidCorsOrigin",{"id":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:isValidCorsOrigin","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/middleware.test.ts","symbolName":"isValidCorsOrigin","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:origin.trim",{"id":"external:origin.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"origin.trim"}}],["external:parsed.protocol.match",{"id":"external:parsed.protocol.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"parsed.protocol.match"}}],["/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/middleware.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":68,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(isValidCorsOrigin(\"https://app.kordant.com\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"https://app.kordant.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com\")).toBe"}}],["symbol-name:isValidCorsOrigin",{"id":"symbol-name:isValidCorsOrigin","kind":"symbol","language":"jsts","symbolName":"isValidCorsOrigin","metadata":{"unresolvedName":"isValidCorsOrigin"}}],["external:expect(isValidCorsOrigin(\"https://admin.kordant.com\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"https://admin.kordant.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://admin.kordant.com\")).toBe"}}],["external:expect(isValidCorsOrigin(\"https://localhost:3000\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"https://localhost:3000\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://localhost:3000\")).toBe"}}],["external:expect(isValidCorsOrigin(\"http://localhost:3000\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"http://localhost:3000\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:3000\")).toBe"}}],["external:expect(isValidCorsOrigin(\"http://localhost:3001\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"http://localhost:3001\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:3001\")).toBe"}}],["external:expect(isValidCorsOrigin(\"http://127.0.0.1:8080\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"http://127.0.0.1:8080\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://127.0.0.1:8080\")).toBe"}}],["external:expect(isValidCorsOrigin(\"https://app.kordant.com:8443\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"https://app.kordant.com:8443\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com:8443\")).toBe"}}],["external:expect(isValidCorsOrigin(\"http://localhost:5173\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"http://localhost:5173\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:5173\")).toBe"}}],["external:expect(isValidCorsOrigin(\"https://app.kordant.com/api\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"https://app.kordant.com/api\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com/api\")).toBe"}}],["external:expect(isValidCorsOrigin(\"*\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"*\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"*\")).toBe"}}],["external:expect(isValidCorsOrigin(\"evil.com\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"evil.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"evil.com\")).toBe"}}],["external:expect(isValidCorsOrigin(\"localhost\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"localhost\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"localhost\")).toBe"}}],["external:expect(isValidCorsOrigin(\"app.kordant.com\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"app.kordant.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"app.kordant.com\")).toBe"}}],["external:expect(isValidCorsOrigin(\"ftp://evil.com\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"ftp://evil.com\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"ftp://evil.com\")).toBe"}}],["external:expect(isValidCorsOrigin(\"file:///etc/passwd\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"file:///etc/passwd\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"file:///etc/passwd\")).toBe"}}],["external:expect(isValidCorsOrigin(\"javascript:alert(1)\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"javascript:alert(1)\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"javascript:alert(1)\")).toBe"}}],["external:expect(isValidCorsOrigin(\"data:text/html,test\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"data:text/html,test\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"data:text/html,test\")).toBe"}}],["external:expect(isValidCorsOrigin(\"\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"\")).toBe"}}],["external:expect(isValidCorsOrigin(\" \")).toBe",{"id":"external:expect(isValidCorsOrigin(\" \")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\" \")).toBe"}}],["external:expect(isValidCorsOrigin(\"\\t\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"\\t\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"\\t\")).toBe"}}],["external:expect(isValidCorsOrigin(\"not a url\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"not a url\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"not a url\")).toBe"}}],["external:expect(isValidCorsOrigin(\"://missing-protocol\")).toBe",{"id":"external:expect(isValidCorsOrigin(\"://missing-protocol\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"://missing-protocol\")).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/middleware.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/middleware.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/middleware.ts","metadata":{"lineCount":89,"featureKind":"library","trustBoundaries":[]}}],["external:@solidjs/start/middleware",{"id":"external:@solidjs/start/middleware","kind":"external","language":"jsts","metadata":{"source":"@solidjs/start/middleware"}}],["external:clerk-solidjs/start/server",{"id":"external:clerk-solidjs/start/server","kind":"external","language":"jsts","metadata":{"source":"clerk-solidjs/start/server"}}],["external:~/server/lib/request-logger",{"id":"external:~/server/lib/request-logger","kind":"external","language":"jsts","metadata":{"source":"~/server/lib/request-logger"}}],["/Users/mike/Code/Kordant/web/src/middleware.ts:securityHeaders",{"id":"/Users/mike/Code/Kordant/web/src/middleware.ts:securityHeaders","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/middleware.ts","symbolName":"securityHeaders","symbolKind":"function","exported":false,"metadata":{"line":5,"column":44,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:h.set",{"id":"external:h.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"h.set"}}],["/Users/mike/Code/Kordant/web/src/middleware.ts:isValidCorsOrigin",{"id":"/Users/mike/Code/Kordant/web/src/middleware.ts:isValidCorsOrigin","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/middleware.ts","symbolName":"isValidCorsOrigin","symbolKind":"function","exported":false,"metadata":{"line":25,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/middleware.ts:corsHeaders",{"id":"/Users/mike/Code/Kordant/web/src/middleware.ts:corsHeaders","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/middleware.ts","symbolName":"corsHeaders","symbolKind":"function","exported":false,"metadata":{"line":41,"column":40,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:event.request.headers.get",{"id":"external:event.request.headers.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.request.headers.get"}}],["external:allowedOrigins.push",{"id":"external:allowedOrigins.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"allowedOrigins.push"}}],["external:console.warn",{"id":"external:console.warn","kind":"external","language":"jsts","metadata":{"unresolvedName":"console.warn"}}],["external:allowedOrigins.includes",{"id":"external:allowedOrigins.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"allowedOrigins.includes"}}],["external:event.response.headers.set",{"id":"external:event.response.headers.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.response.headers.set"}}],["file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","metadata":{"lineCount":164,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","symbolName":"AdminBlogEdit","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":19,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useParams",{"id":"symbol-name:useParams","kind":"symbol","language":"jsts","symbolName":"useParams","metadata":{"unresolvedName":"useParams"}}],["external:api.admin.blogGet.query({ id: params.slug }).then",{"id":"external:api.admin.blogGet.query({ id: params.slug }).then","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.blogGet.query({ id: params.slug }).then"}}],["external:api.admin.blogGet.query",{"id":"external:api.admin.blogGet.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.blogGet.query"}}],["symbol-name:setPost",{"id":"symbol-name:setPost","kind":"symbol","language":"jsts","symbolName":"setPost","metadata":{"unresolvedName":"setPost"}}],["symbol-name:setTitle",{"id":"symbol-name:setTitle","kind":"symbol","language":"jsts","symbolName":"setTitle","metadata":{"unresolvedName":"setTitle"}}],["symbol-name:setSlug",{"id":"symbol-name:setSlug","kind":"symbol","language":"jsts","symbolName":"setSlug","metadata":{"unresolvedName":"setSlug"}}],["symbol-name:setExcerpt",{"id":"symbol-name:setExcerpt","kind":"symbol","language":"jsts","symbolName":"setExcerpt","metadata":{"unresolvedName":"setExcerpt"}}],["symbol-name:setContent",{"id":"symbol-name:setContent","kind":"symbol","language":"jsts","symbolName":"setContent","metadata":{"unresolvedName":"setContent"}}],["symbol-name:setAuthorName",{"id":"symbol-name:setAuthorName","kind":"symbol","language":"jsts","symbolName":"setAuthorName","metadata":{"unresolvedName":"setAuthorName"}}],["symbol-name:setCoverImageUrl",{"id":"symbol-name:setCoverImageUrl","kind":"symbol","language":"jsts","symbolName":"setCoverImageUrl","metadata":{"unresolvedName":"setCoverImageUrl"}}],["symbol-name:setTags",{"id":"symbol-name:setTags","kind":"symbol","language":"jsts","symbolName":"setTags","metadata":{"unresolvedName":"setTags"}}],["external:Array.isArray",{"id":"external:Array.isArray","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.isArray"}}],["symbol-name:setPublished",{"id":"symbol-name:setPublished","kind":"symbol","language":"jsts","symbolName":"setPublished","metadata":{"unresolvedName":"setPublished"}}],["symbol-name:setFeatured",{"id":"symbol-name:setFeatured","kind":"symbol","language":"jsts","symbolName":"setFeatured","metadata":{"unresolvedName":"setFeatured"}}],["symbol-name:setSaving",{"id":"symbol-name:setSaving","kind":"symbol","language":"jsts","symbolName":"setSaving","metadata":{"unresolvedName":"setSaving"}}],["external:api.admin.blogUpdate.mutate",{"id":"external:api.admin.blogUpdate.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.blogUpdate.mutate"}}],["symbol-name:slug",{"id":"symbol-name:slug","kind":"symbol","language":"jsts","symbolName":"slug","metadata":{"unresolvedName":"slug"}}],["symbol-name:excerpt",{"id":"symbol-name:excerpt","kind":"symbol","language":"jsts","symbolName":"excerpt","metadata":{"unresolvedName":"excerpt"}}],["symbol-name:content",{"id":"symbol-name:content","kind":"symbol","language":"jsts","symbolName":"content","metadata":{"unresolvedName":"content"}}],["symbol-name:authorName",{"id":"symbol-name:authorName","kind":"symbol","language":"jsts","symbolName":"authorName","metadata":{"unresolvedName":"authorName"}}],["symbol-name:coverImageUrl",{"id":"symbol-name:coverImageUrl","kind":"symbol","language":"jsts","symbolName":"coverImageUrl","metadata":{"unresolvedName":"coverImageUrl"}}],["external:tags().join",{"id":"external:tags().join","kind":"external","language":"jsts","metadata":{"unresolvedName":"tags().join"}}],["symbol-name:tags",{"id":"symbol-name:tags","kind":"symbol","language":"jsts","symbolName":"tags","metadata":{"unresolvedName":"tags"}}],["symbol-name:published",{"id":"symbol-name:published","kind":"symbol","language":"jsts","symbolName":"published","metadata":{"unresolvedName":"published"}}],["symbol-name:featured",{"id":"symbol-name:featured","kind":"symbol","language":"jsts","symbolName":"featured","metadata":{"unresolvedName":"featured"}}],["symbol-name:setSuccess",{"id":"symbol-name:setSuccess","kind":"symbol","language":"jsts","symbolName":"setSuccess","metadata":{"unresolvedName":"setSuccess"}}],["external:tags().includes",{"id":"external:tags().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"tags().includes"}}],["external:tags().filter",{"id":"external:tags().filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"tags().filter"}}],["symbol-name:success",{"id":"symbol-name:success","kind":"symbol","language":"jsts","symbolName":"success","metadata":{"unresolvedName":"success"}}],["external:ALL_TAGS.map",{"id":"external:ALL_TAGS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"ALL_TAGS.map"}}],["symbol-name:toggleTag",{"id":"symbol-name:toggleTag","kind":"symbol","language":"jsts","symbolName":"toggleTag","metadata":{"unresolvedName":"toggleTag"}}],["symbol-name:saving",{"id":"symbol-name:saving","kind":"symbol","language":"jsts","symbolName":"saving","metadata":{"unresolvedName":"saving"}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":25,"column":55,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":42,"column":24,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:toggleTag",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:toggleTag","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","symbolName":"toggleTag","symbolKind":"function","exported":false,"metadata":{"line":67,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","metadata":{"lineCount":127,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","symbolName":"AdminBlog","symbolKind":"function","exported":false,"metadata":{"line":5,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.admin.blogList.query().then(setPosts).finally",{"id":"external:api.admin.blogList.query().then(setPosts).finally","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.blogList.query().then(setPosts).finally"}}],["external:api.admin.blogList.query().then",{"id":"external:api.admin.blogList.query().then","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.blogList.query().then"}}],["external:api.admin.blogList.query",{"id":"external:api.admin.blogList.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.blogList.query"}}],["symbol-name:loadPosts",{"id":"symbol-name:loadPosts","kind":"symbol","language":"jsts","symbolName":"loadPosts","metadata":{"unresolvedName":"loadPosts"}}],["symbol-name:confirm",{"id":"symbol-name:confirm","kind":"symbol","language":"jsts","symbolName":"confirm","metadata":{"unresolvedName":"confirm"}}],["symbol-name:setDeletingId",{"id":"symbol-name:setDeletingId","kind":"symbol","language":"jsts","symbolName":"setDeletingId","metadata":{"unresolvedName":"setDeletingId"}}],["external:api.admin.blogDelete.mutate",{"id":"external:api.admin.blogDelete.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.blogDelete.mutate"}}],["symbol-name:setPosts",{"id":"symbol-name:setPosts","kind":"symbol","language":"jsts","symbolName":"setPosts","metadata":{"unresolvedName":"setPosts"}}],["external:posts().filter",{"id":"external:posts().filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"posts().filter"}}],["symbol-name:posts",{"id":"symbol-name:posts","kind":"symbol","language":"jsts","symbolName":"posts","metadata":{"unresolvedName":"posts"}}],["symbol-name:alert",{"id":"symbol-name:alert","kind":"symbol","language":"jsts","symbolName":"alert","metadata":{"unresolvedName":"alert"}}],["symbol-name:setRedirect",{"id":"symbol-name:setRedirect","kind":"symbol","language":"jsts","symbolName":"setRedirect","metadata":{"unresolvedName":"setRedirect"}}],["external:new Date(post.publishedAt).toLocaleDateString",{"id":"external:new Date(post.publishedAt).toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(post.publishedAt).toLocaleDateString"}}],["symbol-name:handleDelete",{"id":"symbol-name:handleDelete","kind":"symbol","language":"jsts","symbolName":"handleDelete","metadata":{"unresolvedName":"handleDelete"}}],["symbol-name:deletingId",{"id":"symbol-name:deletingId","kind":"symbol","language":"jsts","symbolName":"deletingId","metadata":{"unresolvedName":"deletingId"}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:loadPosts",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:loadPosts","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","symbolName":"loadPosts","symbolKind":"function","exported":false,"metadata":{"line":11,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":15,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":19,"column":24,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","metadata":{"lineCount":211,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:slugify",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:slugify","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","symbolName":"slugify","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:text\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace",{"id":"external:text\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"text\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace"}}],["external:text\n .toLowerCase()\n .replace",{"id":"external:text\n .toLowerCase()\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"text\n .toLowerCase()\n .replace"}}],["external:text\n .toLowerCase",{"id":"external:text\n .toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"text\n .toLowerCase"}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","symbolName":"AdminBlogNew","symbolKind":"function","exported":false,"metadata":{"line":14,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:slugify",{"id":"symbol-name:slugify","kind":"symbol","language":"jsts","symbolName":"slugify","metadata":{"unresolvedName":"slugify"}}],["external:api.admin.blogCreate.mutate",{"id":"external:api.admin.blogCreate.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.blogCreate.mutate"}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":28,"column":16,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":35,"column":24,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:toggleTag",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:toggleTag","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","symbolName":"toggleTag","symbolKind":"function","exported":false,"metadata":{"line":59,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","metadata":{"lineCount":61,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:StatCard",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:StatCard","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","symbolName":"StatCard","symbolKind":"function","exported":false,"metadata":{"line":4,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","symbolName":"AdminDashboard","symbolKind":"function","exported":false,"metadata":{"line":18,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.admin.stats.query().then(setStats).finally",{"id":"external:api.admin.stats.query().then(setStats).finally","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.stats.query().then(setStats).finally"}}],["external:api.admin.stats.query().then",{"id":"external:api.admin.stats.query().then","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.stats.query().then"}}],["external:api.admin.stats.query",{"id":"external:api.admin.stats.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.stats.query"}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":22,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","metadata":{"lineCount":71,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","symbolName":"AdminLayout","symbolKind":"function","exported":true,"metadata":{"line":12,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setIsAuthorized",{"id":"symbol-name:setIsAuthorized","kind":"symbol","language":"jsts","symbolName":"setIsAuthorized","metadata":{"unresolvedName":"setIsAuthorized"}}],["symbol-name:isAuthorized",{"id":"symbol-name:isAuthorized","kind":"symbol","language":"jsts","symbolName":"isAuthorized","metadata":{"unresolvedName":"isAuthorized"}}],["external:props.children",{"id":"external:props.children","kind":"external","language":"jsts","metadata":{"unresolvedName":"props.children"}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":17,"column":16,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","metadata":{"lineCount":117,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:StatusBadge",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:StatusBadge","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","symbolName":"StatusBadge","symbolKind":"function","exported":false,"metadata":{"line":23,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:props.status.charAt(0).toUpperCase",{"id":"external:props.status.charAt(0).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"props.status.charAt(0).toUpperCase"}}],["external:props.status.charAt",{"id":"external:props.status.charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"props.status.charAt"}}],["external:props.status.slice",{"id":"external:props.status.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"props.status.slice"}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:AdminServices",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:AdminServices","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","symbolName":"AdminServices","symbolKind":"function","exported":false,"metadata":{"line":36,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:setRefreshing",{"id":"symbol-name:setRefreshing","kind":"symbol","language":"jsts","symbolName":"setRefreshing","metadata":{"unresolvedName":"setRefreshing"}}],["external:services.filter",{"id":"external:services.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"services.filter"}}],["symbol-name:refreshing",{"id":"symbol-name:refreshing","kind":"symbol","language":"jsts","symbolName":"refreshing","metadata":{"unresolvedName":"refreshing"}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:handleRefresh",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:handleRefresh","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","symbolName":"handleRefresh","symbolKind":"function","exported":false,"metadata":{"line":39,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","symbolName":"stats","symbolKind":"function","exported":false,"metadata":{"line":45,"column":17,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","metadata":{"lineCount":91,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","symbolName":"AdminUsers","symbolKind":"function","exported":false,"metadata":{"line":4,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.admin.userList.query().then(setUsers).finally",{"id":"external:api.admin.userList.query().then(setUsers).finally","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.userList.query().then(setUsers).finally"}}],["external:api.admin.userList.query().then",{"id":"external:api.admin.userList.query().then","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.userList.query().then"}}],["external:api.admin.userList.query",{"id":"external:api.admin.userList.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.userList.query"}}],["external:api.admin.userUpdateRole.mutate",{"id":"external:api.admin.userUpdateRole.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.admin.userUpdateRole.mutate"}}],["symbol-name:refresh",{"id":"symbol-name:refresh","kind":"symbol","language":"jsts","symbolName":"refresh","metadata":{"unresolvedName":"refresh"}}],["symbol-name:users",{"id":"symbol-name:users","kind":"symbol","language":"jsts","symbolName":"users","metadata":{"unresolvedName":"users"}}],["external:new Date(user.createdAt).toLocaleDateString",{"id":"external:new Date(user.createdAt).toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(user.createdAt).toLocaleDateString"}}],["symbol-name:handleRoleChange",{"id":"symbol-name:handleRoleChange","kind":"symbol","language":"jsts","symbolName":"handleRoleChange","metadata":{"unresolvedName":"handleRoleChange"}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":8,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:refresh",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:refresh","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","symbolName":"refresh","symbolKind":"function","exported":false,"metadata":{"line":12,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:handleRoleChange",{"id":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:handleRoleChange","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","symbolName":"handleRoleChange","symbolKind":"function","exported":false,"metadata":{"line":16,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","metadata":{"lineCount":277,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","metadata":{"lineCount":170,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","metadata":{"lineCount":270,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","metadata":{"lineCount":135,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","metadata":{"lineCount":414,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:mount",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:mount","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","symbolName":"mount","symbolKind":"function","exported":false,"metadata":{"line":29,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":266,"column":53,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:mockCreateSignIn.mockReset",{"id":"external:mockCreateSignIn.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCreateSignIn.mockReset"}}],["external:mockCreateSignUp.mockReset",{"id":"external:mockCreateSignUp.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCreateSignUp.mockReset"}}],["external:mockSetActive.mockReset",{"id":"external:mockSetActive.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSetActive.mockReset"}}],["external:mockCreateSignIn.mockResolvedValue",{"id":"external:mockCreateSignIn.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCreateSignIn.mockResolvedValue"}}],["external:mockCreateSignUp.mockResolvedValue",{"id":"external:mockCreateSignUp.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCreateSignUp.mockResolvedValue"}}],["external:vi.restoreAllMocks",{"id":"external:vi.restoreAllMocks","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.restoreAllMocks"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","symbolName":"setInputValue","symbolKind":"function","exported":false,"metadata":{"line":56,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:expect(document.querySelector(\"input[type='email']\")).toBeTruthy",{"id":"external:expect(document.querySelector(\"input[type='email']\")).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.querySelector(\"input[type='email']\")).toBeTruthy"}}],["external:form.dispatchEvent",{"id":"external:form.dispatchEvent","kind":"external","language":"jsts","metadata":{"unresolvedName":"form.dispatchEvent"}}],["symbol-name:setInputValue",{"id":"symbol-name:setInputValue","kind":"symbol","language":"jsts","symbolName":"setInputValue","metadata":{"unresolvedName":"setInputValue"}}],["external:mockCreateSignIn.mockRejectedValueOnce",{"id":"external:mockCreateSignIn.mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCreateSignIn.mockRejectedValueOnce"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedLogin",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedLogin","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","symbolName":"WrappedLogin","symbolKind":"function","exported":false,"metadata":{"line":64,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedSignup",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedSignup","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","symbolName":"WrappedSignup","symbolKind":"function","exported":false,"metadata":{"line":136,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:it.skip",{"id":"external:it.skip","kind":"external","language":"jsts","metadata":{"unresolvedName":"it.skip"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedForgot",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedForgot","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","symbolName":"WrappedForgot","symbolKind":"function","exported":false,"metadata":{"line":205,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:[...document.querySelectorAll(\"button\")].find",{"id":"external:[...document.querySelectorAll(\"button\")].find","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...document.querySelectorAll(\"button\")].find"}}],["external:b.textContent?.includes",{"id":"external:b.textContent?.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"b.textContent?.includes"}}],["external:continueBtn.dispatchEvent",{"id":"external:continueBtn.dispatchEvent","kind":"external","language":"jsts","metadata":{"unresolvedName":"continueBtn.dispatchEvent"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedOnboarding",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedOnboarding","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","symbolName":"WrappedOnboarding","symbolKind":"function","exported":false,"metadata":{"line":247,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:~/components/auth",{"id":"external:~/components/auth","kind":"external","language":"jsts","metadata":{"source":"~/components/auth"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","symbolName":"ForgotPasswordPage","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:useSignIn",{"id":"symbol-name:useSignIn","kind":"symbol","language":"jsts","symbolName":"useSignIn","metadata":{"unresolvedName":"useSignIn"}}],["external:email().trim",{"id":"external:email().trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"email().trim"}}],["symbol-name:email",{"id":"symbol-name:email","kind":"symbol","language":"jsts","symbolName":"email","metadata":{"unresolvedName":"email"}}],["external:EMAIL_REGEX.test",{"id":"external:EMAIL_REGEX.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"EMAIL_REGEX.test"}}],["symbol-name:validate",{"id":"symbol-name:validate","kind":"symbol","language":"jsts","symbolName":"validate","metadata":{"unresolvedName":"validate"}}],["symbol-name:isLoaded",{"id":"symbol-name:isLoaded","kind":"symbol","language":"jsts","symbolName":"isLoaded","metadata":{"unresolvedName":"isLoaded"}}],["symbol-name:signIn",{"id":"symbol-name:signIn","kind":"symbol","language":"jsts","symbolName":"signIn","metadata":{"unresolvedName":"signIn"}}],["external:signIn()!.create",{"id":"external:signIn()!.create","kind":"external","language":"jsts","metadata":{"unresolvedName":"signIn()!.create"}}],["symbol-name:setSent",{"id":"symbol-name:setSent","kind":"symbol","language":"jsts","symbolName":"setSent","metadata":{"unresolvedName":"setSent"}}],["symbol-name:sent",{"id":"symbol-name:sent","kind":"symbol","language":"jsts","symbolName":"sent","metadata":{"unresolvedName":"sent"}}],["symbol-name:setEmail",{"id":"symbol-name:setEmail","kind":"symbol","language":"jsts","symbolName":"setEmail","metadata":{"unresolvedName":"setEmail"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:validate",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:validate","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","symbolName":"validate","symbolKind":"function","exported":false,"metadata":{"line":17,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":30,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":109,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","symbolName":"LoginPage","symbolKind":"function","exported":false,"metadata":{"line":16,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:useNavigate",{"id":"symbol-name:useNavigate","kind":"symbol","language":"jsts","symbolName":"useNavigate","metadata":{"unresolvedName":"useNavigate"}}],["symbol-name:password",{"id":"symbol-name:password","kind":"symbol","language":"jsts","symbolName":"password","metadata":{"unresolvedName":"password"}}],["symbol-name:setErrors",{"id":"symbol-name:setErrors","kind":"symbol","language":"jsts","symbolName":"setErrors","metadata":{"unresolvedName":"setErrors"}}],["external:Object.keys",{"id":"external:Object.keys","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.keys"}}],["symbol-name:setServerError",{"id":"symbol-name:setServerError","kind":"symbol","language":"jsts","symbolName":"setServerError","metadata":{"unresolvedName":"setServerError"}}],["symbol-name:setActive",{"id":"symbol-name:setActive","kind":"symbol","language":"jsts","symbolName":"setActive","metadata":{"unresolvedName":"setActive"}}],["symbol-name:navigate",{"id":"symbol-name:navigate","kind":"symbol","language":"jsts","symbolName":"navigate","metadata":{"unresolvedName":"navigate"}}],["external:signIn()!.authenticateWithRedirect",{"id":"external:signIn()!.authenticateWithRedirect","kind":"external","language":"jsts","metadata":{"unresolvedName":"signIn()!.authenticateWithRedirect"}}],["symbol-name:serverError",{"id":"symbol-name:serverError","kind":"symbol","language":"jsts","symbolName":"serverError","metadata":{"unresolvedName":"serverError"}}],["symbol-name:errors",{"id":"symbol-name:errors","kind":"symbol","language":"jsts","symbolName":"errors","metadata":{"unresolvedName":"errors"}}],["symbol-name:setPassword",{"id":"symbol-name:setPassword","kind":"symbol","language":"jsts","symbolName":"setPassword","metadata":{"unresolvedName":"setPassword"}}],["symbol-name:rememberMe",{"id":"symbol-name:rememberMe","kind":"symbol","language":"jsts","symbolName":"rememberMe","metadata":{"unresolvedName":"rememberMe"}}],["symbol-name:setRememberMe",{"id":"symbol-name:setRememberMe","kind":"symbol","language":"jsts","symbolName":"setRememberMe","metadata":{"unresolvedName":"setRememberMe"}}],["symbol-name:handleOAuth",{"id":"symbol-name:handleOAuth","kind":"symbol","language":"jsts","symbolName":"handleOAuth","metadata":{"unresolvedName":"handleOAuth"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:validate",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:validate","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","symbolName":"validate","symbolKind":"function","exported":false,"metadata":{"line":26,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":35,"column":3,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleOAuth",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleOAuth","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","symbolName":"handleOAuth","symbolKind":"function","exported":false,"metadata":{"line":63,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:~/lib/auth",{"id":"external:~/lib/auth","kind":"external","language":"jsts","metadata":{"source":"~/lib/auth"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","symbolName":"OnboardingPage","symbolKind":"function","exported":false,"metadata":{"line":46,"column":1,"cyclomaticComplexity":15,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:watchlistItem().trim",{"id":"external:watchlistItem().trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"watchlistItem().trim"}}],["symbol-name:watchlistItem",{"id":"symbol-name:watchlistItem","kind":"symbol","language":"jsts","symbolName":"watchlistItem","metadata":{"unresolvedName":"watchlistItem"}}],["symbol-name:setWatchlistError",{"id":"symbol-name:setWatchlistError","kind":"symbol","language":"jsts","symbolName":"setWatchlistError","metadata":{"unresolvedName":"setWatchlistError"}}],["external:watchlistItems().includes",{"id":"external:watchlistItems().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"watchlistItems().includes"}}],["symbol-name:watchlistItems",{"id":"symbol-name:watchlistItems","kind":"symbol","language":"jsts","symbolName":"watchlistItems","metadata":{"unresolvedName":"watchlistItems"}}],["symbol-name:setWatchlistItems",{"id":"symbol-name:setWatchlistItems","kind":"symbol","language":"jsts","symbolName":"setWatchlistItems","metadata":{"unresolvedName":"setWatchlistItems"}}],["symbol-name:setWatchlistItem",{"id":"symbol-name:setWatchlistItem","kind":"symbol","language":"jsts","symbolName":"setWatchlistItem","metadata":{"unresolvedName":"setWatchlistItem"}}],["external:familyInput().trim",{"id":"external:familyInput().trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"familyInput().trim"}}],["symbol-name:familyInput",{"id":"symbol-name:familyInput","kind":"symbol","language":"jsts","symbolName":"familyInput","metadata":{"unresolvedName":"familyInput"}}],["external:familyInvites().includes",{"id":"external:familyInvites().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"familyInvites().includes"}}],["symbol-name:familyInvites",{"id":"symbol-name:familyInvites","kind":"symbol","language":"jsts","symbolName":"familyInvites","metadata":{"unresolvedName":"familyInvites"}}],["symbol-name:setFamilyInvites",{"id":"symbol-name:setFamilyInvites","kind":"symbol","language":"jsts","symbolName":"setFamilyInvites","metadata":{"unresolvedName":"setFamilyInvites"}}],["symbol-name:setFamilyInput",{"id":"symbol-name:setFamilyInput","kind":"symbol","language":"jsts","symbolName":"setFamilyInput","metadata":{"unresolvedName":"setFamilyInput"}}],["symbol-name:getCheckoutUrl",{"id":"symbol-name:getCheckoutUrl","kind":"symbol","language":"jsts","symbolName":"getCheckoutUrl","metadata":{"unresolvedName":"getCheckoutUrl"}}],["symbol-name:plan",{"id":"symbol-name:plan","kind":"symbol","language":"jsts","symbolName":"plan","metadata":{"unresolvedName":"plan"}}],["symbol-name:setSubmitting",{"id":"symbol-name:setSubmitting","kind":"symbol","language":"jsts","symbolName":"setSubmitting","metadata":{"unresolvedName":"setSubmitting"}}],["symbol-name:submitOnboarding",{"id":"symbol-name:submitOnboarding","kind":"symbol","language":"jsts","symbolName":"submitOnboarding","metadata":{"unresolvedName":"submitOnboarding"}}],["symbol-name:setStep",{"id":"symbol-name:setStep","kind":"symbol","language":"jsts","symbolName":"setStep","metadata":{"unresolvedName":"setStep"}}],["symbol-name:step",{"id":"symbol-name:step","kind":"symbol","language":"jsts","symbolName":"step","metadata":{"unresolvedName":"step"}}],["symbol-name:setPlan",{"id":"symbol-name:setPlan","kind":"symbol","language":"jsts","symbolName":"setPlan","metadata":{"unresolvedName":"setPlan"}}],["symbol-name:watchlistError",{"id":"symbol-name:watchlistError","kind":"symbol","language":"jsts","symbolName":"watchlistError","metadata":{"unresolvedName":"watchlistError"}}],["symbol-name:removeWatchlistItem",{"id":"symbol-name:removeWatchlistItem","kind":"symbol","language":"jsts","symbolName":"removeWatchlistItem","metadata":{"unresolvedName":"removeWatchlistItem"}}],["symbol-name:removeFamilyInvite",{"id":"symbol-name:removeFamilyInvite","kind":"symbol","language":"jsts","symbolName":"removeFamilyInvite","metadata":{"unresolvedName":"removeFamilyInvite"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","symbolName":"addWatchlistItem","symbolKind":"function","exported":false,"metadata":{"line":57,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeWatchlistItem",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeWatchlistItem","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","symbolName":"removeWatchlistItem","symbolKind":"function","exported":false,"metadata":{"line":72,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addFamilyInvite",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addFamilyInvite","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","symbolName":"addFamilyInvite","symbolKind":"function","exported":false,"metadata":{"line":76,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeFamilyInvite",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeFamilyInvite","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","symbolName":"removeFamilyInvite","symbolKind":"function","exported":false,"metadata":{"line":84,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","symbolName":"completeOnboarding","symbolKind":"function","exported":false,"metadata":{"line":88,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":249,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","metadata":{"lineCount":162,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","symbolName":"ResetPasswordPage","symbolKind":"function","exported":false,"metadata":{"line":13,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:useSearchParams",{"id":"symbol-name:useSearchParams","kind":"symbol","language":"jsts","symbolName":"useSearchParams","metadata":{"unresolvedName":"useSearchParams"}}],["symbol-name:confirmPassword",{"id":"symbol-name:confirmPassword","kind":"symbol","language":"jsts","symbolName":"confirmPassword","metadata":{"unresolvedName":"confirmPassword"}}],["symbol-name:token",{"id":"symbol-name:token","kind":"symbol","language":"jsts","symbolName":"token","metadata":{"unresolvedName":"token"}}],["external:signIn()!.attemptFirstFactor",{"id":"external:signIn()!.attemptFirstFactor","kind":"external","language":"jsts","metadata":{"unresolvedName":"signIn()!.attemptFirstFactor"}}],["symbol-name:setConfirmPassword",{"id":"symbol-name:setConfirmPassword","kind":"symbol","language":"jsts","symbolName":"setConfirmPassword","metadata":{"unresolvedName":"setConfirmPassword"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:validate",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:validate","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","symbolName":"validate","symbolKind":"function","exported":false,"metadata":{"line":25,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":36,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","symbolName":"SignupPage","symbolKind":"function","exported":false,"metadata":{"line":25,"column":1,"cyclomaticComplexity":28,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:useSignUp",{"id":"symbol-name:useSignUp","kind":"symbol","language":"jsts","symbolName":"useSignUp","metadata":{"unresolvedName":"useSignUp"}}],["symbol-name:createMemo",{"id":"symbol-name:createMemo","kind":"symbol","language":"jsts","symbolName":"createMemo","metadata":{"unresolvedName":"createMemo"}}],["external:/[a-z]/.test",{"id":"external:/[a-z]/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/[a-z]/.test"}}],["external:/[A-Z]/.test",{"id":"external:/[A-Z]/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/[A-Z]/.test"}}],["external:/\\d/.test",{"id":"external:/\\d/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/\\d/.test"}}],["external:/[^a-zA-Z0-9]/.test",{"id":"external:/[^a-zA-Z0-9]/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/[^a-zA-Z0-9]/.test"}}],["external:name().trim",{"id":"external:name().trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"name().trim"}}],["symbol-name:name",{"id":"symbol-name:name","kind":"symbol","language":"jsts","symbolName":"name","metadata":{"unresolvedName":"name"}}],["symbol-name:agreeTerms",{"id":"symbol-name:agreeTerms","kind":"symbol","language":"jsts","symbolName":"agreeTerms","metadata":{"unresolvedName":"agreeTerms"}}],["symbol-name:signUp",{"id":"symbol-name:signUp","kind":"symbol","language":"jsts","symbolName":"signUp","metadata":{"unresolvedName":"signUp"}}],["external:signUp()!.create",{"id":"external:signUp()!.create","kind":"external","language":"jsts","metadata":{"unresolvedName":"signUp()!.create"}}],["external:signUp()!.authenticateWithRedirect",{"id":"external:signUp()!.authenticateWithRedirect","kind":"external","language":"jsts","metadata":{"unresolvedName":"signUp()!.authenticateWithRedirect"}}],["symbol-name:setName",{"id":"symbol-name:setName","kind":"symbol","language":"jsts","symbolName":"setName","metadata":{"unresolvedName":"setName"}}],["symbol-name:strength",{"id":"symbol-name:strength","kind":"symbol","language":"jsts","symbolName":"strength","metadata":{"unresolvedName":"strength"}}],["symbol-name:setAgreeTerms",{"id":"symbol-name:setAgreeTerms","kind":"symbol","language":"jsts","symbolName":"setAgreeTerms","metadata":{"unresolvedName":"setAgreeTerms"}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":41,"column":6,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","symbolName":"validate","symbolKind":"function","exported":false,"metadata":{"line":61,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":76,"column":3,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleOAuth",{"id":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleOAuth","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","symbolName":"handleOAuth","symbolKind":"function","exported":false,"metadata":{"line":107,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","metadata":{"lineCount":134,"featureKind":"library","trustBoundaries":[]}}],["external:~/components/dashboard",{"id":"external:~/components/dashboard","kind":"external","language":"jsts","metadata":{"source":"~/components/dashboard"}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:WatchlistIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:WatchlistIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","symbolName":"WatchlistIcon","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","symbolName":"DarkWatchPage","symbolKind":"function","exported":false,"metadata":{"line":16,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.darkwatch.getWatchlist.query",{"id":"external:api.darkwatch.getWatchlist.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.darkwatch.getWatchlist.query"}}],["external:itemValue().trim",{"id":"external:itemValue().trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"itemValue().trim"}}],["symbol-name:itemValue",{"id":"symbol-name:itemValue","kind":"symbol","language":"jsts","symbolName":"itemValue","metadata":{"unresolvedName":"itemValue"}}],["symbol-name:setAdding",{"id":"symbol-name:setAdding","kind":"symbol","language":"jsts","symbolName":"setAdding","metadata":{"unresolvedName":"setAdding"}}],["external:val.includes",{"id":"external:val.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"val.includes"}}],["symbol-name:setItemValue",{"id":"symbol-name:setItemValue","kind":"symbol","language":"jsts","symbolName":"setItemValue","metadata":{"unresolvedName":"setItemValue"}}],["symbol-name:refetchWatchlist",{"id":"symbol-name:refetchWatchlist","kind":"symbol","language":"jsts","symbolName":"refetchWatchlist","metadata":{"unresolvedName":"refetchWatchlist"}}],["external:api.darkwatch.removeWatchlistItem.mutate",{"id":"external:api.darkwatch.removeWatchlistItem.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.darkwatch.removeWatchlistItem.mutate"}}],["symbol-name:sidebarOpen",{"id":"symbol-name:sidebarOpen","kind":"symbol","language":"jsts","symbolName":"sidebarOpen","metadata":{"unresolvedName":"sidebarOpen"}}],["symbol-name:setSidebarOpen",{"id":"symbol-name:setSidebarOpen","kind":"symbol","language":"jsts","symbolName":"setSidebarOpen","metadata":{"unresolvedName":"setSidebarOpen"}}],["symbol-name:adding",{"id":"symbol-name:adding","kind":"symbol","language":"jsts","symbolName":"adding","metadata":{"unresolvedName":"adding"}}],["symbol-name:watchlist",{"id":"symbol-name:watchlist","kind":"symbol","language":"jsts","symbolName":"watchlist","metadata":{"unresolvedName":"watchlist"}}],["symbol-name:removeItem",{"id":"symbol-name:removeItem","kind":"symbol","language":"jsts","symbolName":"removeItem","metadata":{"unresolvedName":"removeItem"}}],["external:document.querySelector<HTMLInputElement>(\"input\")?.focus",{"id":"external:document.querySelector<HTMLInputElement>(\"input\")?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.querySelector<HTMLInputElement>(\"input\")?.focus"}}],["external:(exposures()?.items ?? []).slice",{"id":"external:(exposures()?.items ?? []).slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"(exposures()?.items ?? []).slice"}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","symbolName":"addItem","symbolKind":"function","exported":false,"metadata":{"line":28,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:removeItem",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:removeItem","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","symbolName":"removeItem","symbolKind":"function","exported":false,"metadata":{"line":42,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","metadata":{"lineCount":56,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx:DashboardPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx:DashboardPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","symbolName":"DashboardPage","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","metadata":{"lineCount":97,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","symbolName":"HomeIcon","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","symbolName":"HomeTitlePage","symbolKind":"function","exported":false,"metadata":{"line":16,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.hometitle.addProperty.mutate",{"id":"external:api.hometitle.addProperty.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.hometitle.addProperty.mutate"}}],["symbol-name:address",{"id":"symbol-name:address","kind":"symbol","language":"jsts","symbolName":"address","metadata":{"unresolvedName":"address"}}],["symbol-name:setAddress",{"id":"symbol-name:setAddress","kind":"symbol","language":"jsts","symbolName":"setAddress","metadata":{"unresolvedName":"setAddress"}}],["external:api.hometitle.removeProperty.mutate",{"id":"external:api.hometitle.removeProperty.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.hometitle.removeProperty.mutate"}}],["symbol-name:removeProperty",{"id":"symbol-name:removeProperty","kind":"symbol","language":"jsts","symbolName":"removeProperty","metadata":{"unresolvedName":"removeProperty"}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:addProperty",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:addProperty","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","symbolName":"addProperty","symbolKind":"function","exported":false,"metadata":{"line":25,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:removeProperty",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:removeProperty","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","symbolName":"removeProperty","symbolKind":"function","exported":false,"metadata":{"line":36,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","metadata":{"lineCount":131,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:BrokerIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:BrokerIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","symbolName":"BrokerIcon","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","symbolName":"RemoveBrokersPage","symbolKind":"function","exported":false,"metadata":{"line":17,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.removebrokers.getRemovalRequests.query",{"id":"external:api.removebrokers.getRemovalRequests.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.removebrokers.getRemovalRequests.query"}}],["external:api.removebrokers.createRemovalRequest.mutate",{"id":"external:api.removebrokers.createRemovalRequest.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.removebrokers.createRemovalRequest.mutate"}}],["symbol-name:brokers",{"id":"symbol-name:brokers","kind":"symbol","language":"jsts","symbolName":"brokers","metadata":{"unresolvedName":"brokers"}}],["symbol-name:createRequest",{"id":"symbol-name:createRequest","kind":"symbol","language":"jsts","symbolName":"createRequest","metadata":{"unresolvedName":"createRequest"}}],["symbol-name:removalRequests",{"id":"symbol-name:removalRequests","kind":"symbol","language":"jsts","symbolName":"removalRequests","metadata":{"unresolvedName":"removalRequests"}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:createRequest",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:createRequest","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","symbolName":"createRequest","symbolKind":"function","exported":false,"metadata":{"line":30,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","metadata":{"lineCount":66,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","symbolName":"SettingsPage","symbolKind":"function","exported":false,"metadata":{"line":8,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useSubscription",{"id":"symbol-name:useSubscription","kind":"symbol","language":"jsts","symbolName":"useSubscription","metadata":{"unresolvedName":"useSubscription"}}],["external:api.user.update.mutate",{"id":"external:api.user.update.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.user.update.mutate"}}],["external:subscription.tier().charAt(0).toUpperCase",{"id":"external:subscription.tier().charAt(0).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"subscription.tier().charAt(0).toUpperCase"}}],["external:subscription.tier().charAt",{"id":"external:subscription.tier().charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"subscription.tier().charAt"}}],["external:subscription.tier",{"id":"external:subscription.tier","kind":"external","language":"jsts","metadata":{"unresolvedName":"subscription.tier"}}],["external:subscription.tier().slice",{"id":"external:subscription.tier().slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"subscription.tier().slice"}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:saveProfile",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:saveProfile","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","symbolName":"saveProfile","symbolKind":"function","exported":false,"metadata":{"line":15,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","metadata":{"lineCount":109,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:ShieldIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:ShieldIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","symbolName":"ShieldIcon","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","symbolName":"SpamShieldPage","symbolKind":"function","exported":false,"metadata":{"line":15,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:rulesResult",{"id":"symbol-name:rulesResult","kind":"symbol","language":"jsts","symbolName":"rulesResult","metadata":{"unresolvedName":"rulesResult"}}],["symbol-name:setChecking",{"id":"symbol-name:setChecking","kind":"symbol","language":"jsts","symbolName":"setChecking","metadata":{"unresolvedName":"setChecking"}}],["external:api.spamshield.checkNumber.query",{"id":"external:api.spamshield.checkNumber.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.spamshield.checkNumber.query"}}],["symbol-name:phoneNumber",{"id":"symbol-name:phoneNumber","kind":"symbol","language":"jsts","symbolName":"phoneNumber","metadata":{"unresolvedName":"phoneNumber"}}],["symbol-name:setCheckResult",{"id":"symbol-name:setCheckResult","kind":"symbol","language":"jsts","symbolName":"setCheckResult","metadata":{"unresolvedName":"setCheckResult"}}],["external:api.spamshield.deleteRule.mutate",{"id":"external:api.spamshield.deleteRule.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.spamshield.deleteRule.mutate"}}],["symbol-name:setPhoneNumber",{"id":"symbol-name:setPhoneNumber","kind":"symbol","language":"jsts","symbolName":"setPhoneNumber","metadata":{"unresolvedName":"setPhoneNumber"}}],["symbol-name:checking",{"id":"symbol-name:checking","kind":"symbol","language":"jsts","symbolName":"checking","metadata":{"unresolvedName":"checking"}}],["symbol-name:checkResult",{"id":"symbol-name:checkResult","kind":"symbol","language":"jsts","symbolName":"checkResult","metadata":{"unresolvedName":"checkResult"}}],["symbol-name:deleteRule",{"id":"symbol-name:deleteRule","kind":"symbol","language":"jsts","symbolName":"deleteRule","metadata":{"unresolvedName":"deleteRule"}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:rules",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:rules","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","symbolName":"rules","symbolKind":"function","exported":false,"metadata":{"line":24,"column":17,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:checkNumber",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:checkNumber","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","symbolName":"checkNumber","symbolKind":"function","exported":false,"metadata":{"line":30,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:deleteRule",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:deleteRule","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","symbolName":"deleteRule","symbolKind":"function","exported":false,"metadata":{"line":40,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:onClick",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:onClick","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","symbolName":"onClick","symbolKind":"function","exported":false,"metadata":{"line":82,"column":62,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","metadata":{"lineCount":77,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoiceIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoiceIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","symbolName":"VoiceIcon","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","symbolName":"VoicePrintPage","symbolKind":"function","exported":false,"metadata":{"line":18,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.voiceprint.deleteEnrollment.mutate",{"id":"external:api.voiceprint.deleteEnrollment.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.voiceprint.deleteEnrollment.mutate"}}],["symbol-name:deleteEnrollment",{"id":"symbol-name:deleteEnrollment","kind":"symbol","language":"jsts","symbolName":"deleteEnrollment","metadata":{"unresolvedName":"deleteEnrollment"}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:deleteEnrollment",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:deleteEnrollment","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","symbolName":"deleteEnrollment","symbolKind":"function","exported":false,"metadata":{"line":25,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:onClick",{"id":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:onClick","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","symbolName":"onClick","symbolKind":"function","exported":false,"metadata":{"line":50,"column":63,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/[...404].tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/[...404].tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/[...404].tsx","metadata":{"lineCount":57,"featureKind":"library","trustBoundaries":[]}}],["external:@solidjs/start",{"id":"external:@solidjs/start","kind":"external","language":"jsts","metadata":{"source":"@solidjs/start"}}],["/Users/mike/Code/Kordant/web/src/routes/[...404].tsx:NotFound",{"id":"/Users/mike/Code/Kordant/web/src/routes/[...404].tsx:NotFound","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/[...404].tsx","symbolName":"NotFound","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/about.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/about.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/about.tsx","metadata":{"lineCount":11,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/about.tsx:About",{"id":"/Users/mike/Code/Kordant/web/src/routes/about.tsx:About","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/about.tsx","symbolName":"About","symbolKind":"function","exported":false,"metadata":{"line":3,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx","metadata":{"lineCount":327,"featureKind":"library","trustBoundaries":[]}}],["external:~/components/layout/PageContainer",{"id":"external:~/components/layout/PageContainer","kind":"external","language":"jsts","metadata":{"source":"~/components/layout/PageContainer"}}],["/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx","symbolName":"AdsPage","symbolKind":"function","exported":false,"metadata":{"line":65,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:[1, 2, 3, 4, 5].map",{"id":"external:[1, 2, 3, 4, 5].map","kind":"external","language":"jsts","metadata":{"unresolvedName":"[1, 2, 3, 4, 5].map"}}],["symbol-name:openFaq",{"id":"symbol-name:openFaq","kind":"symbol","language":"jsts","symbolName":"openFaq","metadata":{"unresolvedName":"openFaq"}}],["symbol-name:setOpenFaq",{"id":"symbol-name:setOpenFaq","kind":"symbol","language":"jsts","symbolName":"setOpenFaq","metadata":{"unresolvedName":"setOpenFaq"}}],["symbol-name:isOpen",{"id":"symbol-name:isOpen","kind":"symbol","language":"jsts","symbolName":"isOpen","metadata":{"unresolvedName":"isOpen"}}],["/Users/mike/Code/Kordant/web/src/routes/ads.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":272,"column":18,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/api/health.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/api/health.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/health.ts","metadata":{"lineCount":14,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:~/server/health",{"id":"external:~/server/health","kind":"external","language":"jsts","metadata":{"source":"~/server/health"}}],["/Users/mike/Code/Kordant/web/src/routes/api/health.ts:GET",{"id":"/Users/mike/Code/Kordant/web/src/routes/api/health.ts:GET","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/health.ts","symbolName":"GET","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:checkHealth",{"id":"symbol-name:checkHealth","kind":"symbol","language":"jsts","symbolName":"checkHealth","metadata":{"unresolvedName":"checkHealth"}}],["external:Response.json",{"id":"external:Response.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"Response.json"}}],["file:/Users/mike/Code/Kordant/web/src/routes/api/ready.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/api/ready.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/ready.ts","metadata":{"lineCount":14,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/routes/api/ready.ts:GET",{"id":"/Users/mike/Code/Kordant/web/src/routes/api/ready.ts:GET","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/ready.ts","symbolName":"GET","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:checkReady",{"id":"symbol-name:checkReady","kind":"symbol","language":"jsts","symbolName":"checkReady","metadata":{"unresolvedName":"checkReady"}}],["file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts","metadata":{"lineCount":35,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:~/server/stripe",{"id":"external:~/server/stripe","kind":"external","language":"jsts","metadata":{"source":"~/server/stripe"}}],["/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts:GET",{"id":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts:GET","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts","symbolName":"GET","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:url.searchParams.get",{"id":"external:url.searchParams.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"url.searchParams.get"}}],["external:stripe.checkout.sessions.retrieve",{"id":"external:stripe.checkout.sessions.retrieve","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripe.checkout.sessions.retrieve"}}],["file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","metadata":{"lineCount":102,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":89,"column":43,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.mocked(stripe.webhooks.constructEvent).mockReturnValue",{"id":"external:vi.mocked(stripe.webhooks.constructEvent).mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(stripe.webhooks.constructEvent).mockReturnValue"}}],["external:vi.mocked",{"id":"external:vi.mocked","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked"}}],["external:expect(stripe.webhooks.constructEvent).toBeDefined",{"id":"external:expect(stripe.webhooks.constructEvent).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(stripe.webhooks.constructEvent).toBeDefined"}}],["external:expect(POST).toBeDefined",{"id":"external:expect(POST).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(POST).toBeDefined"}}],["external:expect(stripeWebhookEvents).toBeDefined",{"id":"external:expect(stripeWebhookEvents).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(stripeWebhookEvents).toBeDefined"}}],["external:expect(eq).toBeDefined",{"id":"external:expect(eq).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(eq).toBeDefined"}}],["external:expect(db.select).toBeDefined",{"id":"external:expect(db.select).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(db.select).toBeDefined"}}],["external:expect(lt).toBeDefined",{"id":"external:expect(lt).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(lt).toBeDefined"}}],["external:expect(db.delete).toBeDefined",{"id":"external:expect(db.delete).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(db.delete).toBeDefined"}}],["file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","metadata":{"lineCount":69,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:drizzle-orm",{"id":"external:drizzle-orm","kind":"external","language":"jsts","metadata":{"source":"drizzle-orm"}}],["external:~/server/db",{"id":"external:~/server/db","kind":"external","language":"jsts","metadata":{"source":"~/server/db"}}],["external:~/server/services/billing.service",{"id":"external:~/server/services/billing.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/billing.service"}}],["external:~/server/db/schema/webhook-events",{"id":"external:~/server/db/schema/webhook-events","kind":"external","language":"jsts","metadata":{"source":"~/server/db/schema/webhook-events"}}],["/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:cleanupWebhookEvents",{"id":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:cleanupWebhookEvents","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","symbolName":"cleanupWebhookEvents","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:db\n\t\t\t.delete(stripeWebhookEvents)\n\t\t\t.where",{"id":"external:db\n\t\t\t.delete(stripeWebhookEvents)\n\t\t\t.where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n\t\t\t.delete(stripeWebhookEvents)\n\t\t\t.where"}}],["external:db\n\t\t\t.delete",{"id":"external:db\n\t\t\t.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n\t\t\t.delete"}}],["symbol-name:lt",{"id":"symbol-name:lt","kind":"symbol","language":"jsts","symbolName":"lt","metadata":{"unresolvedName":"lt"}}],["external:console.log",{"id":"external:console.log","kind":"external","language":"jsts","metadata":{"unresolvedName":"console.log"}}],["/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST",{"id":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","symbolName":"POST","symbolKind":"function","exported":true,"metadata":{"line":23,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:event.request.text",{"id":"external:event.request.text","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.request.text"}}],["external:stripe.webhooks.constructEvent",{"id":"external:stripe.webhooks.constructEvent","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripe.webhooks.constructEvent"}}],["external:db\n\t\t\t.select()\n\t\t\t.from(stripeWebhookEvents)\n\t\t\t.where",{"id":"external:db\n\t\t\t.select()\n\t\t\t.from(stripeWebhookEvents)\n\t\t\t.where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n\t\t\t.select()\n\t\t\t.from(stripeWebhookEvents)\n\t\t\t.where"}}],["external:db\n\t\t\t.select()\n\t\t\t.from",{"id":"external:db\n\t\t\t.select()\n\t\t\t.from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n\t\t\t.select()\n\t\t\t.from"}}],["external:db\n\t\t\t.select",{"id":"external:db\n\t\t\t.select","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n\t\t\t.select"}}],["symbol-name:eq",{"id":"symbol-name:eq","kind":"symbol","language":"jsts","symbolName":"eq","metadata":{"unresolvedName":"eq"}}],["external:db\n\t\t\t.insert(stripeWebhookEvents)\n\t\t\t.values",{"id":"external:db\n\t\t\t.insert(stripeWebhookEvents)\n\t\t\t.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n\t\t\t.insert(stripeWebhookEvents)\n\t\t\t.values"}}],["external:db\n\t\t\t.insert",{"id":"external:db\n\t\t\t.insert","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n\t\t\t.insert"}}],["symbol-name:handleWebhookEvent",{"id":"symbol-name:handleWebhookEvent","kind":"symbol","language":"jsts","symbolName":"handleWebhookEvent","metadata":{"unresolvedName":"handleWebhookEvent"}}],["file:/Users/mike/Code/Kordant/web/src/routes/api/trpc/[trpc].ts",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/api/trpc/[trpc].ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/api/trpc/[trpc].ts","metadata":{"lineCount":17,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:@trpc/server/adapters/fetch",{"id":"external:@trpc/server/adapters/fetch","kind":"external","language":"jsts","metadata":{"source":"@trpc/server/adapters/fetch"}}],["external:~/server/api/trpc",{"id":"external:~/server/api/trpc","kind":"external","language":"jsts","metadata":{"source":"~/server/api/trpc"}}],["file:/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx","metadata":{"lineCount":6,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx:AuthCallback",{"id":"/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx:AuthCallback","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx","symbolName":"AuthCallback","symbolKind":"function","exported":false,"metadata":{"line":3,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","metadata":{"lineCount":90,"featureKind":"library","trustBoundaries":[]}}],["external:~/components/EmbeddedCheckout",{"id":"external:~/components/EmbeddedCheckout","kind":"external","language":"jsts","metadata":{"source":"~/components/EmbeddedCheckout"}}],["/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","symbolName":"CheckoutPage","symbolKind":"function","exported":false,"metadata":{"line":14,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.billing.createCheckoutSession.mutate",{"id":"external:api.billing.createCheckoutSession.mutate","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.billing.createCheckoutSession.mutate"}}],["symbol-name:setClientSecret",{"id":"symbol-name:setClientSecret","kind":"symbol","language":"jsts","symbolName":"setClientSecret","metadata":{"unresolvedName":"setClientSecret"}}],["symbol-name:clientSecret",{"id":"symbol-name:clientSecret","kind":"symbol","language":"jsts","symbolName":"clientSecret","metadata":{"unresolvedName":"clientSecret"}}],["/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":21,"column":11,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","metadata":{"lineCount":132,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","symbolName":"ReturnPage","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setStatus",{"id":"symbol-name:setStatus","kind":"symbol","language":"jsts","symbolName":"setStatus","metadata":{"unresolvedName":"setStatus"}}],["symbol-name:fetch",{"id":"symbol-name:fetch","kind":"symbol","language":"jsts","symbolName":"fetch","metadata":{"unresolvedName":"fetch"}}],["external:response.json",{"id":"external:response.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.json"}}],["symbol-name:setCustomerEmail",{"id":"symbol-name:setCustomerEmail","kind":"symbol","language":"jsts","symbolName":"setCustomerEmail","metadata":{"unresolvedName":"setCustomerEmail"}}],["symbol-name:status",{"id":"symbol-name:status","kind":"symbol","language":"jsts","symbolName":"status","metadata":{"unresolvedName":"status"}}],["symbol-name:customerEmail",{"id":"symbol-name:customerEmail","kind":"symbol","language":"jsts","symbolName":"customerEmail","metadata":{"unresolvedName":"customerEmail"}}],["/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":12,"column":11,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","metadata":{"lineCount":197,"featureKind":"library","trustBoundaries":[]}}],["external:~/lib/html-utils",{"id":"external:~/lib/html-utils","kind":"external","language":"jsts","metadata":{"source":"~/lib/html-utils"}}],["/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:readingTime",{"id":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:readingTime","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","symbolName":"readingTime","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:content.split",{"id":"external:content.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"content.split"}}],["/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml",{"id":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","symbolName":"contentToHtml","symbolKind":"function","exported":false,"metadata":{"line":16,"column":1,"cyclomaticComplexity":17,"maxNestingDepth":8,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:markdown.split",{"id":"external:markdown.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"markdown.split"}}],["external:line.startsWith",{"id":"external:line.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.startsWith"}}],["external:line.slice",{"id":"external:line.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.slice"}}],["external:line.endsWith",{"id":"external:line.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.endsWith"}}],["external:line.match",{"id":"external:line.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.match"}}],["external:line.replace",{"id":"external:line.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.replace"}}],["external:line.trim",{"id":"external:line.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.trim"}}],["/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","symbolName":"BlogPostPage","symbolKind":"function","exported":false,"metadata":{"line":49,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.blog.bySlug.query",{"id":"external:api.blog.bySlug.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.blog.bySlug.query"}}],["symbol-name:dataResult",{"id":"symbol-name:dataResult","kind":"symbol","language":"jsts","symbolName":"dataResult","metadata":{"unresolvedName":"dataResult"}}],["symbol-name:data",{"id":"symbol-name:data","kind":"symbol","language":"jsts","symbolName":"data","metadata":{"unresolvedName":"data"}}],["symbol-name:post",{"id":"symbol-name:post","kind":"symbol","language":"jsts","symbolName":"post","metadata":{"unresolvedName":"post"}}],["symbol-name:contentToHtml",{"id":"symbol-name:contentToHtml","kind":"symbol","language":"jsts","symbolName":"contentToHtml","metadata":{"unresolvedName":"contentToHtml"}}],["symbol-name:p",{"id":"symbol-name:p","kind":"symbol","language":"jsts","symbolName":"p","metadata":{"unresolvedName":"p"}}],["external:(p().authorName || \"K\").split(\" \").map((n: string) => n[0]).join",{"id":"external:(p().authorName || \"K\").split(\" \").map((n: string) => n[0]).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"(p().authorName || \"K\").split(\" \").map((n: string) => n[0]).join"}}],["external:(p().authorName || \"K\").split(\" \").map",{"id":"external:(p().authorName || \"K\").split(\" \").map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(p().authorName || \"K\").split(\" \").map"}}],["external:(p().authorName || \"K\").split",{"id":"external:(p().authorName || \"K\").split","kind":"external","language":"jsts","metadata":{"unresolvedName":"(p().authorName || \"K\").split"}}],["external:new Date(p().publishedAt).toLocaleDateString",{"id":"external:new Date(p().publishedAt).toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(p().publishedAt).toLocaleDateString"}}],["symbol-name:readingTime",{"id":"symbol-name:readingTime","kind":"symbol","language":"jsts","symbolName":"readingTime","metadata":{"unresolvedName":"readingTime"}}],["symbol-name:contentHtml",{"id":"symbol-name:contentHtml","kind":"symbol","language":"jsts","symbolName":"contentHtml","metadata":{"unresolvedName":"contentHtml"}}],["external:window.open",{"id":"external:window.open","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.open"}}],["external:navigator.clipboard.writeText",{"id":"external:navigator.clipboard.writeText","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.clipboard.writeText"}}],["symbol-name:related",{"id":"symbol-name:related","kind":"symbol","language":"jsts","symbolName":"related","metadata":{"unresolvedName":"related"}}],["file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx","metadata":{"lineCount":252,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/blog.tsx:readingTime",{"id":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:readingTime","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx","symbolName":"readingTime","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx","symbolName":"BlogPage","symbolKind":"function","exported":false,"metadata":{"line":17,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:api.blog.list.query",{"id":"external:api.blog.list.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.blog.list.query"}}],["symbol-name:allPostsResult",{"id":"symbol-name:allPostsResult","kind":"symbol","language":"jsts","symbolName":"allPostsResult","metadata":{"unresolvedName":"allPostsResult"}}],["external:api.blog.tags.query",{"id":"external:api.blog.tags.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.blog.tags.query"}}],["symbol-name:tagListResult",{"id":"symbol-name:tagListResult","kind":"symbol","language":"jsts","symbolName":"tagListResult","metadata":{"unresolvedName":"tagListResult"}}],["symbol-name:allPosts",{"id":"symbol-name:allPosts","kind":"symbol","language":"jsts","symbolName":"allPosts","metadata":{"unresolvedName":"allPosts"}}],["external:posts.find",{"id":"external:posts.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"posts.find"}}],["symbol-name:selectedTag",{"id":"symbol-name:selectedTag","kind":"symbol","language":"jsts","symbolName":"selectedTag","metadata":{"unresolvedName":"selectedTag"}}],["external:posts.filter",{"id":"external:posts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"posts.filter"}}],["external:tags?.includes",{"id":"external:tags?.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"tags?.includes"}}],["external:filtered.slice",{"id":"external:filtered.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"filtered.slice"}}],["symbol-name:visibleCount",{"id":"symbol-name:visibleCount","kind":"symbol","language":"jsts","symbolName":"visibleCount","metadata":{"unresolvedName":"visibleCount"}}],["symbol-name:filtered",{"id":"symbol-name:filtered","kind":"symbol","language":"jsts","symbolName":"filtered","metadata":{"unresolvedName":"filtered"}}],["symbol-name:featuredPost",{"id":"symbol-name:featuredPost","kind":"symbol","language":"jsts","symbolName":"featuredPost","metadata":{"unresolvedName":"featuredPost"}}],["symbol-name:fp",{"id":"symbol-name:fp","kind":"symbol","language":"jsts","symbolName":"fp","metadata":{"unresolvedName":"fp"}}],["external:new Date(fp().publishedAt).toLocaleDateString",{"id":"external:new Date(fp().publishedAt).toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(fp().publishedAt).toLocaleDateString"}}],["symbol-name:setSelectedTag",{"id":"symbol-name:setSelectedTag","kind":"symbol","language":"jsts","symbolName":"setSelectedTag","metadata":{"unresolvedName":"setSelectedTag"}}],["symbol-name:setVisibleCount",{"id":"symbol-name:setVisibleCount","kind":"symbol","language":"jsts","symbolName":"setVisibleCount","metadata":{"unresolvedName":"setVisibleCount"}}],["symbol-name:tagList",{"id":"symbol-name:tagList","kind":"symbol","language":"jsts","symbolName":"tagList","metadata":{"unresolvedName":"tagList"}}],["symbol-name:hasMore",{"id":"symbol-name:hasMore","kind":"symbol","language":"jsts","symbolName":"hasMore","metadata":{"unresolvedName":"hasMore"}}],["/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":153,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/features.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/features.tsx","metadata":{"lineCount":219,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/features.tsx:FeatureIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:FeatureIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/features.tsx","symbolName":"FeatureIcon","symbolKind":"function","exported":false,"metadata":{"line":110,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/features.tsx:FeaturesPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:FeaturesPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/features.tsx","symbolName":"FeaturesPage","symbolKind":"function","exported":false,"metadata":{"line":118,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:isEven",{"id":"symbol-name:isEven","kind":"symbol","language":"jsts","symbolName":"isEven","metadata":{"unresolvedName":"isEven"}}],["/Users/mike/Code/Kordant/web/src/routes/features.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/features.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":143,"column":16,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/index.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/index.tsx","metadata":{"lineCount":506,"featureKind":"library","trustBoundaries":[]}}],["external:~/components/landing/ColorWaveBackground",{"id":"external:~/components/landing/ColorWaveBackground","kind":"external","language":"jsts","metadata":{"source":"~/components/landing/ColorWaveBackground"}}],["/Users/mike/Code/Kordant/web/src/routes/index.tsx:IconPath",{"id":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:IconPath","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/index.tsx","symbolName":"IconPath","symbolKind":"function","exported":false,"metadata":{"line":12,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/index.tsx:CheckIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:CheckIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/index.tsx","symbolName":"CheckIcon","symbolKind":"function","exported":false,"metadata":{"line":27,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/index.tsx:StepIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:StepIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/index.tsx","symbolName":"StepIcon","symbolKind":"function","exported":false,"metadata":{"line":192,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/index.tsx:AudienceIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:AudienceIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/index.tsx","symbolName":"AudienceIcon","symbolKind":"function","exported":false,"metadata":{"line":200,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/index.tsx:Home",{"id":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:Home","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/index.tsx","symbolName":"Home","symbolKind":"function","exported":false,"metadata":{"line":220,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/index.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/index.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":309,"column":18,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","metadata":{"lineCount":585,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/blog",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/blog","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/blog"}],["external:~/components/dashboard/StatCard",{"id":"external:~/components/dashboard/StatCard","kind":"external","language":"jsts","metadata":{"source":"~/components/dashboard/StatCard"}}],["external:~/components/dashboard/ActivityFeed",{"id":"external:~/components/dashboard/ActivityFeed","kind":"external","language":"jsts","metadata":{"source":"~/components/dashboard/ActivityFeed"}}],["external:~/components/dashboard/QuickActions",{"id":"external:~/components/dashboard/QuickActions","kind":"external","language":"jsts","metadata":{"source":"~/components/dashboard/QuickActions"}}],["/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mount",{"id":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mount","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","symbolName":"mount","symbolKind":"function","exported":false,"metadata":{"line":312,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync",{"id":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","symbolName":"mountAsync","symbolKind":"function","exported":false,"metadata":{"line":319,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(container.textContent).not.toContain",{"id":"external:expect(container.textContent).not.toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(container.textContent).not.toContain"}}],["/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":574,"column":32,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:mountAsync",{"id":"symbol-name:mountAsync","kind":"symbol","language":"jsts","symbolName":"mountAsync","metadata":{"unresolvedName":"mountAsync"}}],["external:expect(cards.length).toBeGreaterThanOrEqual",{"id":"external:expect(cards.length).toBeGreaterThanOrEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(cards.length).toBeGreaterThanOrEqual"}}],["external:expect(document.body.textContent).toMatch",{"id":"external:expect(document.body.textContent).toMatch","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.body.textContent).toMatch"}}],["external:Array.from(shareBtns).map",{"id":"external:Array.from(shareBtns).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(shareBtns).map"}}],["external:b.getAttribute",{"id":"external:b.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"b.getAttribute"}}],["external:expect(shareLabels).toContain",{"id":"external:expect(shareLabels).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(shareLabels).toContain"}}],["external:document.body.querySelectorAll",{"id":"external:document.body.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.body.querySelectorAll"}}],["external:Array.from(badges).find",{"id":"external:Array.from(badges).find","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(badges).find"}}],["external:expect(popularBadge).toBeTruthy",{"id":"external:expect(popularBadge).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(popularBadge).toBeTruthy"}}],["file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","metadata":{"lineCount":455,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:CheckIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:CheckIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","symbolName":"CheckIcon","symbolKind":"function","exported":false,"metadata":{"line":153,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:XIcon",{"id":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:XIcon","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","symbolName":"XIcon","symbolKind":"function","exported":false,"metadata":{"line":170,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage",{"id":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","symbolName":"PricingPage","symbolKind":"function","exported":false,"metadata":{"line":189,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:signupUrl",{"id":"symbol-name:signupUrl","kind":"symbol","language":"jsts","symbolName":"signupUrl","metadata":{"unresolvedName":"signupUrl"}}],["/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":387,"column":18,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/routes/privacy.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/privacy.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/privacy.tsx","metadata":{"lineCount":71,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/privacy.tsx:PrivacyPolicy",{"id":"/Users/mike/Code/Kordant/web/src/routes/privacy.tsx:PrivacyPolicy","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/privacy.tsx","symbolName":"PrivacyPolicy","symbolKind":"function","exported":true,"metadata":{"line":3,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:new Date().toLocaleDateString",{"id":"external:new Date().toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date().toLocaleDateString"}}],["file:/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts","metadata":{"lineCount":36,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts:GET",{"id":"/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts:GET","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts","symbolName":"GET","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:pages\n .map",{"id":"external:pages\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"pages\n .map"}}],["file:/Users/mike/Code/Kordant/web/src/routes/terms.tsx",{"id":"file:/Users/mike/Code/Kordant/web/src/routes/terms.tsx","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/terms.tsx","metadata":{"lineCount":65,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/routes/terms.tsx:TermsOfService",{"id":"/Users/mike/Code/Kordant/web/src/routes/terms.tsx:TermsOfService","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/routes/terms.tsx","symbolName":"TermsOfService","symbolKind":"function","exported":true,"metadata":{"line":3,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/root.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/root.ts","metadata":{"lineCount":37,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts","metadata":{"lineCount":12,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","metadata":{"lineCount":115,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","metadata":{"lineCount":170,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","metadata":{"lineCount":101,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","metadata":{"lineCount":58,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","metadata":{"lineCount":54,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","metadata":{"lineCount":77,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","metadata":{"lineCount":54,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","metadata":{"lineCount":51,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","metadata":{"lineCount":47,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","metadata":{"lineCount":47,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","metadata":{"lineCount":83,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","metadata":{"lineCount":56,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","metadata":{"lineCount":96,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","metadata":{"lineCount":152,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts","metadata":{"lineCount":58,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:@typeschema/valibot",{"id":"external:@typeschema/valibot","kind":"external","language":"jsts","metadata":{"source":"@typeschema/valibot"}}],["external:@trpc/server",{"id":"external:@trpc/server","kind":"external","language":"jsts","metadata":{"source":"@trpc/server"}}],["external:~/server/api/utils",{"id":"external:~/server/api/utils","kind":"external","language":"jsts","metadata":{"source":"~/server/api/utils"}}],["external:~/server/db/schema/marketing",{"id":"external:~/server/db/schema/marketing","kind":"external","language":"jsts","metadata":{"source":"~/server/db/schema/marketing"}}],["external:~/server/db/schema/auth",{"id":"external:~/server/db/schema/auth","kind":"external","language":"jsts","metadata":{"source":"~/server/db/schema/auth"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":145,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:ctx.db.select({ userCount: count() }).from",{"id":"external:ctx.db.select({ userCount: count() }).from","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db.select({ userCount: count() }).from"}}],["external:ctx.db.select",{"id":"external:ctx.db.select","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db.select"}}],["external:ctx.db\n .select({ postCount: count() })\n .from",{"id":"external:ctx.db\n .select({ postCount: count() })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select({ postCount: count() })\n .from"}}],["external:ctx.db\n .select",{"id":"external:ctx.db\n .select","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select"}}],["external:ctx.db\n .select({ totalViews: sql<number>`${count()}` })\n .from",{"id":"external:ctx.db\n .select({ totalViews: sql<number>`${count()}` })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select({ totalViews: sql<number>`${count()}` })\n .from"}}],["symbol-name:desc",{"id":"symbol-name:desc","kind":"symbol","language":"jsts","symbolName":"desc","metadata":{"unresolvedName":"desc"}}],["external:ctx.db.select().from(blogPosts).orderBy",{"id":"external:ctx.db.select().from(blogPosts).orderBy","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db.select().from(blogPosts).orderBy"}}],["external:ctx.db.select().from",{"id":"external:ctx.db.select().from","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db.select().from"}}],["external:ctx.db\n .select().from(blogPosts)\n .where",{"id":"external:ctx.db\n .select().from(blogPosts)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select().from(blogPosts)\n .where"}}],["external:ctx.db\n .select().from",{"id":"external:ctx.db\n .select().from","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select().from"}}],["external:ctx.db\n .select",{"id":"external:ctx.db\n .select","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select"}}],["external:ctx.db\n .select({ id: blogPosts.id }).from(blogPosts)\n .where",{"id":"external:ctx.db\n .select({ id: blogPosts.id }).from(blogPosts)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select({ id: blogPosts.id }).from(blogPosts)\n .where"}}],["external:ctx.db\n .select({ id: blogPosts.id }).from",{"id":"external:ctx.db\n .select({ id: blogPosts.id }).from","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select({ id: blogPosts.id }).from"}}],["external:input.tags.split(\",\").map((t: string) => t.trim()).filter",{"id":"external:input.tags.split(\",\").map((t: string) => t.trim()).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"input.tags.split(\",\").map((t: string) => t.trim()).filter"}}],["external:input.tags.split(\",\").map",{"id":"external:input.tags.split(\",\").map","kind":"external","language":"jsts","metadata":{"unresolvedName":"input.tags.split(\",\").map"}}],["external:input.tags.split",{"id":"external:input.tags.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"input.tags.split"}}],["external:t.trim",{"id":"external:t.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.trim"}}],["external:ctx.db\n .insert(blogPosts)\n .values",{"id":"external:ctx.db\n .insert(blogPosts)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .insert(blogPosts)\n .values"}}],["external:ctx.db\n .insert",{"id":"external:ctx.db\n .insert","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .insert"}}],["external:value.split(\",\").map((t) => t.trim()).filter",{"id":"external:value.split(\",\").map((t) => t.trim()).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.split(\",\").map((t) => t.trim()).filter"}}],["external:value.split(\",\").map",{"id":"external:value.split(\",\").map","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.split(\",\").map"}}],["external:value.split",{"id":"external:value.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.split"}}],["external:ctx.db\n .update(blogPosts).set(set)\n .where",{"id":"external:ctx.db\n .update(blogPosts).set(set)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .update(blogPosts).set(set)\n .where"}}],["external:ctx.db\n .update(blogPosts).set",{"id":"external:ctx.db\n .update(blogPosts).set","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .update(blogPosts).set"}}],["external:ctx.db\n .update",{"id":"external:ctx.db\n .update","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .update"}}],["external:ctx.db.delete(blogPosts).where",{"id":"external:ctx.db.delete(blogPosts).where","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db.delete(blogPosts).where"}}],["external:ctx.db.delete",{"id":"external:ctx.db.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db.delete"}}],["external:ctx.db\n .update(users).set({ role: input.role })\n .where",{"id":"external:ctx.db\n .update(users).set({ role: input.role })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .update(users).set({ role: input.role })\n .where"}}],["external:ctx.db\n .update(users).set",{"id":"external:ctx.db\n .update(users).set","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .update(users).set"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts","metadata":{"lineCount":13,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":7,"column":32,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","metadata":{"lineCount":242,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/billing.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/billing.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/billing.ts","metadata":{"lineCount":34,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:makeUser",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:makeUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","symbolName":"makeUser","symbolKind":"function","exported":false,"metadata":{"line":67,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","symbolName":"createCaller","symbolKind":"function","exported":false,"metadata":{"line":71,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:initTRPC.context<Ctx>().create",{"id":"external:initTRPC.context<Ctx>().create","kind":"external","language":"jsts","metadata":{"unresolvedName":"initTRPC.context<Ctx>().create"}}],["external:initTRPC.context",{"id":"external:initTRPC.context","kind":"external","language":"jsts","metadata":{"unresolvedName":"initTRPC.context"}}],["external:t.middleware",{"id":"external:t.middleware","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.middleware"}}],["symbol-name:next",{"id":"symbol-name:next","kind":"symbol","language":"jsts","symbolName":"next","metadata":{"unresolvedName":"next"}}],["external:t.router",{"id":"external:t.router","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.router"}}],["external:t.procedure.use(isAuthed)\n .query",{"id":"external:t.procedure.use(isAuthed)\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .query"}}],["external:t.procedure.use",{"id":"external:t.procedure.use","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use"}}],["symbol-name:mockFindFirst",{"id":"symbol-name:mockFindFirst","kind":"symbol","language":"jsts","symbolName":"mockFindFirst","metadata":{"unresolvedName":"mockFindFirst"}}],["external:t.procedure.use(isAuthed)\n .input",{"id":"external:t.procedure.use(isAuthed)\n .input","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input"}}],["symbol-name:wrap",{"id":"symbol-name:wrap","kind":"symbol","language":"jsts","symbolName":"wrap","metadata":{"unresolvedName":"wrap"}}],["symbol-name:mockCreateCheckoutSession",{"id":"symbol-name:mockCreateCheckoutSession","kind":"symbol","language":"jsts","symbolName":"mockCreateCheckoutSession","metadata":{"unresolvedName":"mockCreateCheckoutSession"}}],["symbol-name:mockCreatePortalSession",{"id":"symbol-name:mockCreatePortalSession","kind":"symbol","language":"jsts","symbolName":"mockCreatePortalSession","metadata":{"unresolvedName":"mockCreatePortalSession"}}],["symbol-name:mockCancelSubscription",{"id":"symbol-name:mockCancelSubscription","kind":"symbol","language":"jsts","symbolName":"mockCancelSubscription","metadata":{"unresolvedName":"mockCancelSubscription"}}],["symbol-name:mockReactivateSubscription",{"id":"symbol-name:mockReactivateSubscription","kind":"symbol","language":"jsts","symbolName":"mockReactivateSubscription","metadata":{"unresolvedName":"mockReactivateSubscription"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(ListInvoicesSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(ListInvoicesSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(ListInvoicesSchema))\n .query"}}],["symbol-name:mockListInvoices",{"id":"symbol-name:mockListInvoices","kind":"symbol","language":"jsts","symbolName":"mockListInvoices","metadata":{"unresolvedName":"mockListInvoices"}}],["external:t.createCallerFactory",{"id":"external:t.createCallerFactory","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.createCallerFactory"}}],["symbol-name:caller",{"id":"symbol-name:caller","kind":"symbol","language":"jsts","symbolName":"caller","metadata":{"unresolvedName":"caller"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":234,"column":62,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:createCaller",{"id":"symbol-name:createCaller","kind":"symbol","language":"jsts","symbolName":"createCaller","metadata":{"unresolvedName":"createCaller"}}],["symbol-name:makeUser",{"id":"symbol-name:makeUser","kind":"symbol","language":"jsts","symbolName":"makeUser","metadata":{"unresolvedName":"makeUser"}}],["external:api.getSubscription",{"id":"external:api.getSubscription","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getSubscription"}}],["external:expect(result).not.toBeNull",{"id":"external:expect(result).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result).not.toBeNull"}}],["external:expect(result!.tier).toBe",{"id":"external:expect(result!.tier).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result!.tier).toBe"}}],["external:expect(result!.status).toBe",{"id":"external:expect(result!.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result!.status).toBe"}}],["external:expect(result).toBeNull",{"id":"external:expect(result).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result).toBeNull"}}],["external:expect(api.getSubscription()).rejects.toThrow",{"id":"external:expect(api.getSubscription()).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.getSubscription()).rejects.toThrow"}}],["external:mockCreateCheckoutSession.mockResolvedValue",{"id":"external:mockCreateCheckoutSession.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCreateCheckoutSession.mockResolvedValue"}}],["external:api.createCheckoutSession",{"id":"external:api.createCheckoutSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.createCheckoutSession"}}],["external:expect(result.clientSecret).toBe",{"id":"external:expect(result.clientSecret).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.clientSecret).toBe"}}],["external:expect(result.sessionId).toBe",{"id":"external:expect(result.sessionId).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.sessionId).toBe"}}],["external:mockCreatePortalSession.mockResolvedValue",{"id":"external:mockCreatePortalSession.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCreatePortalSession.mockResolvedValue"}}],["external:api.createPortalSession",{"id":"external:api.createPortalSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.createPortalSession"}}],["external:expect(result.url).toBe",{"id":"external:expect(result.url).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.url).toBe"}}],["external:mockCancelSubscription.mockResolvedValue",{"id":"external:mockCancelSubscription.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCancelSubscription.mockResolvedValue"}}],["external:api.cancelSubscription",{"id":"external:api.cancelSubscription","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.cancelSubscription"}}],["external:expect(result.cancelAtPeriodEnd).toBe",{"id":"external:expect(result.cancelAtPeriodEnd).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.cancelAtPeriodEnd).toBe"}}],["external:mockReactivateSubscription.mockResolvedValue",{"id":"external:mockReactivateSubscription.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockReactivateSubscription.mockResolvedValue"}}],["external:api.reactivateSubscription",{"id":"external:api.reactivateSubscription","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.reactivateSubscription"}}],["external:mockListInvoices.mockResolvedValue",{"id":"external:mockListInvoices.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockListInvoices.mockResolvedValue"}}],["external:api.listInvoices",{"id":"external:api.listInvoices","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.listInvoices"}}],["external:expect(result.invoices).toHaveLength",{"id":"external:expect(result.invoices).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.invoices).toHaveLength"}}],["external:expect(result.hasMore).toBe",{"id":"external:expect(result.hasMore).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.hasMore).toBe"}}],["external:~/server/db/schema/subscription",{"id":"external:~/server/db/schema/subscription","kind":"external","language":"jsts","metadata":{"source":"~/server/db/schema/subscription"}}],["external:~/server/lib/tier",{"id":"external:~/server/lib/tier","kind":"external","language":"jsts","metadata":{"source":"~/server/lib/tier"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":155,"column":12,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:db.query.subscriptions.findFirst",{"id":"external:db.query.subscriptions.findFirst","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.query.subscriptions.findFirst"}}],["symbol-name:getActiveTrials",{"id":"symbol-name:getActiveTrials","kind":"symbol","language":"jsts","symbolName":"getActiveTrials","metadata":{"unresolvedName":"getActiveTrials"}}],["symbol-name:getEffectiveTier",{"id":"symbol-name:getEffectiveTier","kind":"symbol","language":"jsts","symbolName":"getEffectiveTier","metadata":{"unresolvedName":"getEffectiveTier"}}],["symbol-name:createFeatureTrial",{"id":"symbol-name:createFeatureTrial","kind":"symbol","language":"jsts","symbolName":"createFeatureTrial","metadata":{"unresolvedName":"createFeatureTrial"}}],["external:stripe.subscriptions.cancel",{"id":"external:stripe.subscriptions.cancel","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripe.subscriptions.cancel"}}],["symbol-name:createCheckoutSession",{"id":"symbol-name:createCheckoutSession","kind":"symbol","language":"jsts","symbolName":"createCheckoutSession","metadata":{"unresolvedName":"createCheckoutSession"}}],["external:allowedPrices.includes",{"id":"external:allowedPrices.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"allowedPrices.includes"}}],["symbol-name:createPortalSession",{"id":"symbol-name:createPortalSession","kind":"symbol","language":"jsts","symbolName":"createPortalSession","metadata":{"unresolvedName":"createPortalSession"}}],["symbol-name:cancelSubscription",{"id":"symbol-name:cancelSubscription","kind":"symbol","language":"jsts","symbolName":"cancelSubscription","metadata":{"unresolvedName":"cancelSubscription"}}],["symbol-name:reactivateSubscription",{"id":"symbol-name:reactivateSubscription","kind":"symbol","language":"jsts","symbolName":"reactivateSubscription","metadata":{"unresolvedName":"reactivateSubscription"}}],["symbol-name:listInvoices",{"id":"symbol-name:listInvoices","kind":"symbol","language":"jsts","symbolName":"listInvoices","metadata":{"unresolvedName":"listInvoices"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":77,"column":31,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:conditions.push",{"id":"external:conditions.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"conditions.push"}}],["symbol-name:and",{"id":"symbol-name:and","kind":"symbol","language":"jsts","symbolName":"and","metadata":{"unresolvedName":"and"}}],["external:ctx.db\n .select()\n .from(blogPosts)\n .where",{"id":"external:ctx.db\n .select()\n .from(blogPosts)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select()\n .from(blogPosts)\n .where"}}],["external:ctx.db\n .select()\n .from",{"id":"external:ctx.db\n .select()\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select()\n .from"}}],["external:ctx.db\n .select({ total: count() })\n .from",{"id":"external:ctx.db\n .select({ total: count() })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select({ total: count() })\n .from"}}],["external:ctx.db\n .update(blogPosts)\n .set",{"id":"external:ctx.db\n .update(blogPosts)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .update(blogPosts)\n .set"}}],["external:ctx.db\n .select({ tags: blogPosts.tags })\n .from",{"id":"external:ctx.db\n .select({ tags: blogPosts.tags })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.db\n .select({ tags: blogPosts.tags })\n .from"}}],["external:tagCounts.set",{"id":"external:tagCounts.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"tagCounts.set"}}],["external:tagCounts.get",{"id":"external:tagCounts.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"tagCounts.get"}}],["external:Array.from(tagCounts.entries())\n .map",{"id":"external:Array.from(tagCounts.entries())\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(tagCounts.entries())\n .map"}}],["external:tagCounts.entries",{"id":"external:tagCounts.entries","kind":"external","language":"jsts","metadata":{"unresolvedName":"tagCounts.entries"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","metadata":{"lineCount":226,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/correlation.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/correlation.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/correlation.ts","metadata":{"lineCount":37,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:~/server/services/correlation.service",{"id":"external:~/server/services/correlation.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/correlation.service"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","symbolName":"createCaller","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:t.procedure.use(isAuthed)\n .input(wrap(AlertFilterSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(AlertFilterSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(AlertFilterSchema))\n .query"}}],["symbol-name:mockGetAlertTimeline",{"id":"symbol-name:mockGetAlertTimeline","kind":"symbol","language":"jsts","symbolName":"mockGetAlertTimeline","metadata":{"unresolvedName":"mockGetAlertTimeline"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(AlertDetailsSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(AlertDetailsSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(AlertDetailsSchema))\n .query"}}],["symbol-name:mockGetAlertDetails",{"id":"symbol-name:mockGetAlertDetails","kind":"symbol","language":"jsts","symbolName":"mockGetAlertDetails","metadata":{"unresolvedName":"mockGetAlertDetails"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(GroupFilterSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(GroupFilterSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(GroupFilterSchema))\n .query"}}],["symbol-name:mockGetCorrelationGroups",{"id":"symbol-name:mockGetCorrelationGroups","kind":"symbol","language":"jsts","symbolName":"mockGetCorrelationGroups","metadata":{"unresolvedName":"mockGetCorrelationGroups"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(GroupDetailsSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(GroupDetailsSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(GroupDetailsSchema))\n .query"}}],["symbol-name:mockGetCorrelationGroupDetails",{"id":"symbol-name:mockGetCorrelationGroupDetails","kind":"symbol","language":"jsts","symbolName":"mockGetCorrelationGroupDetails","metadata":{"unresolvedName":"mockGetCorrelationGroupDetails"}}],["symbol-name:mockResolveAlert",{"id":"symbol-name:mockResolveAlert","kind":"symbol","language":"jsts","symbolName":"mockResolveAlert","metadata":{"unresolvedName":"mockResolveAlert"}}],["external:t.procedure.use(isAuthed).query",{"id":"external:t.procedure.use(isAuthed).query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed).query"}}],["symbol-name:mockGetAlertStats",{"id":"symbol-name:mockGetAlertStats","kind":"symbol","language":"jsts","symbolName":"mockGetAlertStats","metadata":{"unresolvedName":"mockGetAlertStats"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":208,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:makeUser",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:makeUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","symbolName":"makeUser","symbolKind":"function","exported":false,"metadata":{"line":87,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:mockGetAlertTimeline.mockResolvedValue",{"id":"external:mockGetAlertTimeline.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetAlertTimeline.mockResolvedValue"}}],["external:api.getAlerts",{"id":"external:api.getAlerts","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getAlerts"}}],["external:expect(result.items).toHaveLength",{"id":"external:expect(result.items).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.items).toHaveLength"}}],["external:expect(result.total).toBe",{"id":"external:expect(result.total).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.total).toBe"}}],["external:expect(api.getAlerts({})).rejects.toThrow",{"id":"external:expect(api.getAlerts({})).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.getAlerts({})).rejects.toThrow"}}],["external:expect(mockGetAlertTimeline).toHaveBeenCalledWith",{"id":"external:expect(mockGetAlertTimeline).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockGetAlertTimeline).toHaveBeenCalledWith"}}],["external:mockGetAlertDetails.mockResolvedValue",{"id":"external:mockGetAlertDetails.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetAlertDetails.mockResolvedValue"}}],["external:api.getAlertDetails",{"id":"external:api.getAlertDetails","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getAlertDetails"}}],["external:expect(result.alert.id).toBe",{"id":"external:expect(result.alert.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.alert.id).toBe"}}],["external:mockGetCorrelationGroups.mockResolvedValue",{"id":"external:mockGetCorrelationGroups.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetCorrelationGroups.mockResolvedValue"}}],["external:api.getGroups",{"id":"external:api.getGroups","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getGroups"}}],["external:expect(mockGetCorrelationGroups).toHaveBeenCalledWith",{"id":"external:expect(mockGetCorrelationGroups).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockGetCorrelationGroups).toHaveBeenCalledWith"}}],["external:mockGetCorrelationGroupDetails.mockResolvedValue",{"id":"external:mockGetCorrelationGroupDetails.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetCorrelationGroupDetails.mockResolvedValue"}}],["external:api.getGroupDetails",{"id":"external:api.getGroupDetails","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getGroupDetails"}}],["external:expect(result.group.id).toBe",{"id":"external:expect(result.group.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.group.id).toBe"}}],["external:expect(result.alerts).toHaveLength",{"id":"external:expect(result.alerts).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.alerts).toHaveLength"}}],["external:api.resolveAlert",{"id":"external:api.resolveAlert","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.resolveAlert"}}],["external:expect(result.status).toBe",{"id":"external:expect(result.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.status).toBe"}}],["external:mockGetAlertStats.mockResolvedValue",{"id":"external:mockGetAlertStats.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetAlertStats.mockResolvedValue"}}],["external:api.getStats",{"id":"external:api.getStats","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getStats"}}],["external:expect(result.totalAlerts).toBe",{"id":"external:expect(result.totalAlerts).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.totalAlerts).toBe"}}],["external:expect(result.threatScore).toBe",{"id":"external:expect(result.threatScore).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.threatScore).toBe"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":43,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:correlationService.getAlertTimeline",{"id":"external:correlationService.getAlertTimeline","kind":"external","language":"jsts","metadata":{"unresolvedName":"correlationService.getAlertTimeline"}}],["external:correlationService.getAlertDetails",{"id":"external:correlationService.getAlertDetails","kind":"external","language":"jsts","metadata":{"unresolvedName":"correlationService.getAlertDetails"}}],["external:correlationService.getCorrelationGroups",{"id":"external:correlationService.getCorrelationGroups","kind":"external","language":"jsts","metadata":{"unresolvedName":"correlationService.getCorrelationGroups"}}],["external:correlationService.getCorrelationGroupDetails",{"id":"external:correlationService.getCorrelationGroupDetails","kind":"external","language":"jsts","metadata":{"unresolvedName":"correlationService.getCorrelationGroupDetails"}}],["external:correlationService.resolveAlert",{"id":"external:correlationService.resolveAlert","kind":"external","language":"jsts","metadata":{"unresolvedName":"correlationService.resolveAlert"}}],["external:correlationService.getAlertStats",{"id":"external:correlationService.getAlertStats","kind":"external","language":"jsts","metadata":{"unresolvedName":"correlationService.getAlertStats"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","metadata":{"lineCount":203,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/darkwatch.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/darkwatch.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/darkwatch.ts","metadata":{"lineCount":29,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:~/server/services/darkwatch.service",{"id":"external:~/server/services/darkwatch.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/darkwatch.service"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","symbolName":"createCaller","symbolKind":"function","exported":false,"metadata":{"line":43,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:mockGetWatchlistItems",{"id":"symbol-name:mockGetWatchlistItems","kind":"symbol","language":"jsts","symbolName":"mockGetWatchlistItems","metadata":{"unresolvedName":"mockGetWatchlistItems"}}],["symbol-name:mockAddWatchlistItem",{"id":"symbol-name:mockAddWatchlistItem","kind":"symbol","language":"jsts","symbolName":"mockAddWatchlistItem","metadata":{"unresolvedName":"mockAddWatchlistItem"}}],["symbol-name:mockRemoveWatchlistItem",{"id":"symbol-name:mockRemoveWatchlistItem","kind":"symbol","language":"jsts","symbolName":"mockRemoveWatchlistItem","metadata":{"unresolvedName":"mockRemoveWatchlistItem"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(ExposureFilterSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(ExposureFilterSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(ExposureFilterSchema))\n .query"}}],["symbol-name:mockGetExposures",{"id":"symbol-name:mockGetExposures","kind":"symbol","language":"jsts","symbolName":"mockGetExposures","metadata":{"unresolvedName":"mockGetExposures"}}],["symbol-name:mockGetExposureDetails",{"id":"symbol-name:mockGetExposureDetails","kind":"symbol","language":"jsts","symbolName":"mockGetExposureDetails","metadata":{"unresolvedName":"mockGetExposureDetails"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(RunScanSchema))\n .mutation",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(RunScanSchema))\n .mutation","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(RunScanSchema))\n .mutation"}}],["symbol-name:mockRunScan",{"id":"symbol-name:mockRunScan","kind":"symbol","language":"jsts","symbolName":"mockRunScan","metadata":{"unresolvedName":"mockRunScan"}}],["symbol-name:mockGetScanStatus",{"id":"symbol-name:mockGetScanStatus","kind":"symbol","language":"jsts","symbolName":"mockGetScanStatus","metadata":{"unresolvedName":"mockGetScanStatus"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(ReportFilterSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(ReportFilterSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(ReportFilterSchema))\n .query"}}],["symbol-name:mockGetReports",{"id":"symbol-name:mockGetReports","kind":"symbol","language":"jsts","symbolName":"mockGetReports","metadata":{"unresolvedName":"mockGetReports"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":195,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:makeUser",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:makeUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","symbolName":"makeUser","symbolKind":"function","exported":false,"metadata":{"line":100,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:mockGetWatchlistItems.mockResolvedValue",{"id":"external:mockGetWatchlistItems.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetWatchlistItems.mockResolvedValue"}}],["external:expect(await api.getWatchlist()).toEqual",{"id":"external:expect(await api.getWatchlist()).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(await api.getWatchlist()).toEqual"}}],["external:api.getWatchlist",{"id":"external:api.getWatchlist","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getWatchlist"}}],["external:expect(api.getWatchlist()).rejects.toThrow",{"id":"external:expect(api.getWatchlist()).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.getWatchlist()).rejects.toThrow"}}],["external:mockAddWatchlistItem.mockResolvedValue",{"id":"external:mockAddWatchlistItem.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockAddWatchlistItem.mockResolvedValue"}}],["external:api.addWatchlistItem",{"id":"external:api.addWatchlistItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.addWatchlistItem"}}],["external:expect(result).toEqual",{"id":"external:expect(result).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result).toEqual"}}],["external:mockRemoveWatchlistItem.mockResolvedValue",{"id":"external:mockRemoveWatchlistItem.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockRemoveWatchlistItem.mockResolvedValue"}}],["external:api.removeWatchlistItem",{"id":"external:api.removeWatchlistItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.removeWatchlistItem"}}],["external:expect(result.isActive).toBe",{"id":"external:expect(result.isActive).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.isActive).toBe"}}],["external:api.getExposures",{"id":"external:api.getExposures","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getExposures"}}],["external:mockGetExposureDetails.mockResolvedValue",{"id":"external:mockGetExposureDetails.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetExposureDetails.mockResolvedValue"}}],["external:api.getExposureDetails",{"id":"external:api.getExposureDetails","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getExposureDetails"}}],["external:expect(result.id).toBe",{"id":"external:expect(result.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.id).toBe"}}],["external:mockRunScan.mockResolvedValue",{"id":"external:mockRunScan.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockRunScan.mockResolvedValue"}}],["external:api.runScan",{"id":"external:api.runScan","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.runScan"}}],["external:expect(result.scanId).toBe",{"id":"external:expect(result.scanId).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.scanId).toBe"}}],["external:mockGetScanStatus.mockResolvedValue",{"id":"external:mockGetScanStatus.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetScanStatus.mockResolvedValue"}}],["external:api.getScanStatus",{"id":"external:api.getScanStatus","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getScanStatus"}}],["external:mockGetReports.mockResolvedValue",{"id":"external:mockGetReports.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetReports.mockResolvedValue"}}],["external:api.getReports",{"id":"external:api.getReports","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getReports"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":54,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:darkwatchService.getWatchlistItems",{"id":"external:darkwatchService.getWatchlistItems","kind":"external","language":"jsts","metadata":{"unresolvedName":"darkwatchService.getWatchlistItems"}}],["external:darkwatchService.addWatchlistItem",{"id":"external:darkwatchService.addWatchlistItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"darkwatchService.addWatchlistItem"}}],["external:darkwatchService.removeWatchlistItem",{"id":"external:darkwatchService.removeWatchlistItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"darkwatchService.removeWatchlistItem"}}],["external:darkwatchService.getExposures",{"id":"external:darkwatchService.getExposures","kind":"external","language":"jsts","metadata":{"unresolvedName":"darkwatchService.getExposures"}}],["external:darkwatchService.getExposureDetails",{"id":"external:darkwatchService.getExposureDetails","kind":"external","language":"jsts","metadata":{"unresolvedName":"darkwatchService.getExposureDetails"}}],["external:darkwatchService.runScan",{"id":"external:darkwatchService.runScan","kind":"external","language":"jsts","metadata":{"unresolvedName":"darkwatchService.runScan"}}],["external:darkwatchService.getScanStatus",{"id":"external:darkwatchService.getScanStatus","kind":"external","language":"jsts","metadata":{"unresolvedName":"darkwatchService.getScanStatus"}}],["external:darkwatchService.getReports",{"id":"external:darkwatchService.getReports","kind":"external","language":"jsts","metadata":{"unresolvedName":"darkwatchService.getReports"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":8,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/extension.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/extension.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/extension.ts","metadata":{"lineCount":16,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":51,"column":78,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:db.query.deviceTokens.findFirst",{"id":"external:db.query.deviceTokens.findFirst","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.query.deviceTokens.findFirst"}}],["external:db\n .update(deviceTokens)\n .set",{"id":"external:db\n .update(deviceTokens)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(deviceTokens)\n .set"}}],["external:db\n .update",{"id":"external:db\n .update","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update"}}],["external:db\n .insert(deviceTokens)\n .values",{"id":"external:db\n .insert(deviceTokens)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(deviceTokens)\n .values"}}],["external:db\n .insert",{"id":"external:db\n .insert","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","metadata":{"lineCount":189,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/hometitle.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/hometitle.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/hometitle.ts","metadata":{"lineCount":24,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:~/server/services/hometitle.service",{"id":"external:~/server/services/hometitle.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/hometitle.service"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","symbolName":"createCaller","symbolKind":"function","exported":false,"metadata":{"line":40,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:mockGetProperties",{"id":"symbol-name:mockGetProperties","kind":"symbol","language":"jsts","symbolName":"mockGetProperties","metadata":{"unresolvedName":"mockGetProperties"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(AddPropertySchema))\n .mutation",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(AddPropertySchema))\n .mutation","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(AddPropertySchema))\n .mutation"}}],["symbol-name:mockAddProperty",{"id":"symbol-name:mockAddProperty","kind":"symbol","language":"jsts","symbolName":"mockAddProperty","metadata":{"unresolvedName":"mockAddProperty"}}],["symbol-name:mockRemoveProperty",{"id":"symbol-name:mockRemoveProperty","kind":"symbol","language":"jsts","symbolName":"mockRemoveProperty","metadata":{"unresolvedName":"mockRemoveProperty"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(GetSnapshotsSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(GetSnapshotsSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(GetSnapshotsSchema))\n .query"}}],["symbol-name:mockGetSnapshots",{"id":"symbol-name:mockGetSnapshots","kind":"symbol","language":"jsts","symbolName":"mockGetSnapshots","metadata":{"unresolvedName":"mockGetSnapshots"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(GetChangesSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(GetChangesSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(GetChangesSchema))\n .query"}}],["symbol-name:mockGetChanges",{"id":"symbol-name:mockGetChanges","kind":"symbol","language":"jsts","symbolName":"mockGetChanges","metadata":{"unresolvedName":"mockGetChanges"}}],["symbol-name:mockGetAlerts",{"id":"symbol-name:mockGetAlerts","kind":"symbol","language":"jsts","symbolName":"mockGetAlerts","metadata":{"unresolvedName":"mockGetAlerts"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":181,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:makeUser",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:makeUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","symbolName":"makeUser","symbolKind":"function","exported":false,"metadata":{"line":95,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(await api.getProperties()).toEqual",{"id":"external:expect(await api.getProperties()).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(await api.getProperties()).toEqual"}}],["external:api.getProperties",{"id":"external:api.getProperties","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getProperties"}}],["external:expect(api.getProperties()).rejects.toThrow",{"id":"external:expect(api.getProperties()).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.getProperties()).rejects.toThrow"}}],["external:mockAddProperty.mockResolvedValue",{"id":"external:mockAddProperty.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockAddProperty.mockResolvedValue"}}],["external:api.addProperty",{"id":"external:api.addProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.addProperty"}}],["external:expect(\n api.addProperty({ address: \"\" }),\n ).rejects.toThrow",{"id":"external:expect(\n api.addProperty({ address: \"\" }),\n ).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(\n api.addProperty({ address: \"\" }),\n ).rejects.toThrow"}}],["external:mockRemoveProperty.mockResolvedValue",{"id":"external:mockRemoveProperty.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockRemoveProperty.mockResolvedValue"}}],["external:api.removeProperty",{"id":"external:api.removeProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.removeProperty"}}],["external:mockGetSnapshots.mockResolvedValue",{"id":"external:mockGetSnapshots.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetSnapshots.mockResolvedValue"}}],["external:api.getSnapshots",{"id":"external:api.getSnapshots","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getSnapshots"}}],["external:mockGetChanges.mockResolvedValue",{"id":"external:mockGetChanges.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetChanges.mockResolvedValue"}}],["external:api.getChanges",{"id":"external:api.getChanges","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getChanges"}}],["external:expect(mockGetChanges).toHaveBeenCalledWith",{"id":"external:expect(mockGetChanges).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockGetChanges).toHaveBeenCalledWith"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":50,"column":39,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:hometitleService.getProperties",{"id":"external:hometitleService.getProperties","kind":"external","language":"jsts","metadata":{"unresolvedName":"hometitleService.getProperties"}}],["external:hometitleService.addProperty",{"id":"external:hometitleService.addProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"hometitleService.addProperty"}}],["external:hometitleService.removeProperty",{"id":"external:hometitleService.removeProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"hometitleService.removeProperty"}}],["external:hometitleService.getSnapshots",{"id":"external:hometitleService.getSnapshots","kind":"external","language":"jsts","metadata":{"unresolvedName":"hometitleService.getSnapshots"}}],["external:hometitleService.getChanges",{"id":"external:hometitleService.getChanges","kind":"external","language":"jsts","metadata":{"unresolvedName":"hometitleService.getChanges"}}],["external:hometitleService.runScan",{"id":"external:hometitleService.runScan","kind":"external","language":"jsts","metadata":{"unresolvedName":"hometitleService.runScan"}}],["external:hometitleService.getAlerts",{"id":"external:hometitleService.getAlerts","kind":"external","language":"jsts","metadata":{"unresolvedName":"hometitleService.getAlerts"}}],["external:~/server/services/notification.service",{"id":"external:~/server/services/notification.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/notification.service"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":97,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:sendEmail",{"id":"symbol-name:sendEmail","kind":"symbol","language":"jsts","symbolName":"sendEmail","metadata":{"unresolvedName":"sendEmail"}}],["symbol-name:sendPush",{"id":"symbol-name:sendPush","kind":"symbol","language":"jsts","symbolName":"sendPush","metadata":{"unresolvedName":"sendPush"}}],["symbol-name:sendSMS",{"id":"symbol-name:sendSMS","kind":"symbol","language":"jsts","symbolName":"sendSMS","metadata":{"unresolvedName":"sendSMS"}}],["symbol-name:registerDevice",{"id":"symbol-name:registerDevice","kind":"symbol","language":"jsts","symbolName":"registerDevice","metadata":{"unresolvedName":"registerDevice"}}],["symbol-name:unregisterDevice",{"id":"symbol-name:unregisterDevice","kind":"symbol","language":"jsts","symbolName":"unregisterDevice","metadata":{"unresolvedName":"unregisterDevice"}}],["symbol-name:listDevices",{"id":"symbol-name:listDevices","kind":"symbol","language":"jsts","symbolName":"listDevices","metadata":{"unresolvedName":"listDevices"}}],["symbol-name:getPreferences",{"id":"symbol-name:getPreferences","kind":"symbol","language":"jsts","symbolName":"getPreferences","metadata":{"unresolvedName":"getPreferences"}}],["symbol-name:updatePreferences",{"id":"symbol-name:updatePreferences","kind":"symbol","language":"jsts","symbolName":"updatePreferences","metadata":{"unresolvedName":"updatePreferences"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","metadata":{"lineCount":198,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/removebrokers.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/removebrokers.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/removebrokers.ts","metadata":{"lineCount":38,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:~/server/services/removebrokers.service",{"id":"external:~/server/services/removebrokers.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/removebrokers.service"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","symbolName":"createCaller","symbolKind":"function","exported":false,"metadata":{"line":40,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:mockGetBrokerRegistry",{"id":"symbol-name:mockGetBrokerRegistry","kind":"symbol","language":"jsts","symbolName":"mockGetBrokerRegistry","metadata":{"unresolvedName":"mockGetBrokerRegistry"}}],["symbol-name:mockGetRemovalRequests",{"id":"symbol-name:mockGetRemovalRequests","kind":"symbol","language":"jsts","symbolName":"mockGetRemovalRequests","metadata":{"unresolvedName":"mockGetRemovalRequests"}}],["symbol-name:mockCreateRemovalRequest",{"id":"symbol-name:mockCreateRemovalRequest","kind":"symbol","language":"jsts","symbolName":"mockCreateRemovalRequest","metadata":{"unresolvedName":"mockCreateRemovalRequest"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(RequestStatusSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(RequestStatusSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(RequestStatusSchema))\n .query"}}],["symbol-name:mockGetRequestStatus",{"id":"symbol-name:mockGetRequestStatus","kind":"symbol","language":"jsts","symbolName":"mockGetRequestStatus","metadata":{"unresolvedName":"mockGetRequestStatus"}}],["symbol-name:mockGetBrokerListings",{"id":"symbol-name:mockGetBrokerListings","kind":"symbol","language":"jsts","symbolName":"mockGetBrokerListings","metadata":{"unresolvedName":"mockGetBrokerListings"}}],["symbol-name:mockScanForListings",{"id":"symbol-name:mockScanForListings","kind":"symbol","language":"jsts","symbolName":"mockScanForListings","metadata":{"unresolvedName":"mockScanForListings"}}],["symbol-name:mockGetStats",{"id":"symbol-name:mockGetStats","kind":"symbol","language":"jsts","symbolName":"mockGetStats","metadata":{"unresolvedName":"mockGetStats"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":190,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:makeUser",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:makeUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","symbolName":"makeUser","symbolKind":"function","exported":false,"metadata":{"line":92,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(await api.getBrokerRegistry()).toEqual",{"id":"external:expect(await api.getBrokerRegistry()).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(await api.getBrokerRegistry()).toEqual"}}],["external:api.getBrokerRegistry",{"id":"external:api.getBrokerRegistry","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getBrokerRegistry"}}],["external:expect(api.getBrokerRegistry()).rejects.toThrow",{"id":"external:expect(api.getBrokerRegistry()).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.getBrokerRegistry()).rejects.toThrow"}}],["external:mockGetRemovalRequests.mockResolvedValue",{"id":"external:mockGetRemovalRequests.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetRemovalRequests.mockResolvedValue"}}],["external:api.getRemovalRequests",{"id":"external:api.getRemovalRequests","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getRemovalRequests"}}],["external:expect(mockGetRemovalRequests).toHaveBeenCalledWith",{"id":"external:expect(mockGetRemovalRequests).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockGetRemovalRequests).toHaveBeenCalledWith"}}],["external:mockCreateRemovalRequest.mockResolvedValue",{"id":"external:mockCreateRemovalRequest.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCreateRemovalRequest.mockResolvedValue"}}],["external:api.createRemovalRequest",{"id":"external:api.createRemovalRequest","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.createRemovalRequest"}}],["external:mockGetRequestStatus.mockResolvedValue",{"id":"external:mockGetRequestStatus.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetRequestStatus.mockResolvedValue"}}],["external:api.getRequestStatus",{"id":"external:api.getRequestStatus","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getRequestStatus"}}],["external:mockGetBrokerListings.mockResolvedValue",{"id":"external:mockGetBrokerListings.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetBrokerListings.mockResolvedValue"}}],["external:api.getBrokerListings",{"id":"external:api.getBrokerListings","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getBrokerListings"}}],["external:mockScanForListings.mockResolvedValue",{"id":"external:mockScanForListings.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockScanForListings.mockResolvedValue"}}],["external:api.scanForListings",{"id":"external:api.scanForListings","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.scanForListings"}}],["external:expect(res.scanned).toBe",{"id":"external:expect(res.scanned).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(res.scanned).toBe"}}],["external:expect(mockScanForListings).toHaveBeenCalledWith",{"id":"external:expect(mockScanForListings).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockScanForListings).toHaveBeenCalledWith"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":47,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:removebrokersService.getBrokerRegistry",{"id":"external:removebrokersService.getBrokerRegistry","kind":"external","language":"jsts","metadata":{"unresolvedName":"removebrokersService.getBrokerRegistry"}}],["external:removebrokersService.getRemovalRequests",{"id":"external:removebrokersService.getRemovalRequests","kind":"external","language":"jsts","metadata":{"unresolvedName":"removebrokersService.getRemovalRequests"}}],["external:removebrokersService.createRemovalRequest",{"id":"external:removebrokersService.createRemovalRequest","kind":"external","language":"jsts","metadata":{"unresolvedName":"removebrokersService.createRemovalRequest"}}],["external:removebrokersService.getRequestStatus",{"id":"external:removebrokersService.getRequestStatus","kind":"external","language":"jsts","metadata":{"unresolvedName":"removebrokersService.getRequestStatus"}}],["external:removebrokersService.getBrokerListings",{"id":"external:removebrokersService.getBrokerListings","kind":"external","language":"jsts","metadata":{"unresolvedName":"removebrokersService.getBrokerListings"}}],["external:removebrokersService.scanForListings",{"id":"external:removebrokersService.scanForListings","kind":"external","language":"jsts","metadata":{"unresolvedName":"removebrokersService.scanForListings"}}],["external:removebrokersService.getStats",{"id":"external:removebrokersService.getStats","kind":"external","language":"jsts","metadata":{"unresolvedName":"removebrokersService.getStats"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","metadata":{"lineCount":191,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/reports.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/reports.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/reports.ts","metadata":{"lineCount":27,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:~/server/services/reports.service",{"id":"external:~/server/services/reports.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/reports.service"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","symbolName":"createCaller","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:mockGenerateReport",{"id":"symbol-name:mockGenerateReport","kind":"symbol","language":"jsts","symbolName":"mockGenerateReport","metadata":{"unresolvedName":"mockGenerateReport"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(ReportDetailsSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(ReportDetailsSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(ReportDetailsSchema))\n .query"}}],["symbol-name:mockGetReport",{"id":"symbol-name:mockGetReport","kind":"symbol","language":"jsts","symbolName":"mockGetReport","metadata":{"unresolvedName":"mockGetReport"}}],["symbol-name:mockDeleteReport",{"id":"symbol-name:mockDeleteReport","kind":"symbol","language":"jsts","symbolName":"mockDeleteReport","metadata":{"unresolvedName":"mockDeleteReport"}}],["symbol-name:mockGetScheduledReports",{"id":"symbol-name:mockGetScheduledReports","kind":"symbol","language":"jsts","symbolName":"mockGetScheduledReports","metadata":{"unresolvedName":"mockGetScheduledReports"}}],["symbol-name:mockUpdateSchedule",{"id":"symbol-name:mockUpdateSchedule","kind":"symbol","language":"jsts","symbolName":"mockUpdateSchedule","metadata":{"unresolvedName":"mockUpdateSchedule"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":184,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:makeUser",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:makeUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","symbolName":"makeUser","symbolKind":"function","exported":false,"metadata":{"line":88,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:expect(api.getReports({ page: 1, limit: 20 })).rejects.toThrow",{"id":"external:expect(api.getReports({ page: 1, limit: 20 })).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.getReports({ page: 1, limit: 20 })).rejects.toThrow"}}],["external:mockGenerateReport.mockResolvedValue",{"id":"external:mockGenerateReport.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGenerateReport.mockResolvedValue"}}],["external:api.generateReport",{"id":"external:api.generateReport","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.generateReport"}}],["external:expect(result.reportId).toBe",{"id":"external:expect(result.reportId).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.reportId).toBe"}}],["external:expect(mockGenerateReport).toHaveBeenCalledWith",{"id":"external:expect(mockGenerateReport).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockGenerateReport).toHaveBeenCalledWith"}}],["external:mockGetReport.mockResolvedValue",{"id":"external:mockGetReport.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetReport.mockResolvedValue"}}],["external:api.getReport",{"id":"external:api.getReport","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getReport"}}],["external:mockDeleteReport.mockResolvedValue",{"id":"external:mockDeleteReport.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDeleteReport.mockResolvedValue"}}],["external:api.deleteReport",{"id":"external:api.deleteReport","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.deleteReport"}}],["external:expect(result.deleted).toBe",{"id":"external:expect(result.deleted).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.deleted).toBe"}}],["external:mockGetScheduledReports.mockResolvedValue",{"id":"external:mockGetScheduledReports.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetScheduledReports.mockResolvedValue"}}],["external:api.getScheduledReports",{"id":"external:api.getScheduledReports","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getScheduledReports"}}],["external:expect(api.getScheduledReports()).rejects.toThrow",{"id":"external:expect(api.getScheduledReports()).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.getScheduledReports()).rejects.toThrow"}}],["external:mockUpdateSchedule.mockResolvedValue",{"id":"external:mockUpdateSchedule.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockUpdateSchedule.mockResolvedValue"}}],["external:api.updateSchedule",{"id":"external:api.updateSchedule","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.updateSchedule"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":43,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:reportsService.getReports",{"id":"external:reportsService.getReports","kind":"external","language":"jsts","metadata":{"unresolvedName":"reportsService.getReports"}}],["external:reportsService.generateReport",{"id":"external:reportsService.generateReport","kind":"external","language":"jsts","metadata":{"unresolvedName":"reportsService.generateReport"}}],["external:reportsService.getReport",{"id":"external:reportsService.getReport","kind":"external","language":"jsts","metadata":{"unresolvedName":"reportsService.getReport"}}],["external:reportsService.deleteReport",{"id":"external:reportsService.deleteReport","kind":"external","language":"jsts","metadata":{"unresolvedName":"reportsService.deleteReport"}}],["external:reportsService.getScheduledReports",{"id":"external:reportsService.getScheduledReports","kind":"external","language":"jsts","metadata":{"unresolvedName":"reportsService.getScheduledReports"}}],["external:reportsService.updateSchedule",{"id":"external:reportsService.updateSchedule","kind":"external","language":"jsts","metadata":{"unresolvedName":"reportsService.updateSchedule"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/scheduler.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/scheduler.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/scheduler.ts","metadata":{"lineCount":20,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:~/server/jobs",{"id":"external:~/server/jobs","kind":"external","language":"jsts","metadata":{"source":"~/server/jobs"}}],["external:~/server/jobs/queue",{"id":"external:~/server/jobs/queue","kind":"external","language":"jsts","metadata":{"source":"~/server/jobs/queue"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":78,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getCronOverview",{"id":"symbol-name:getCronOverview","kind":"symbol","language":"jsts","symbolName":"getCronOverview","metadata":{"unresolvedName":"getCronOverview"}}],["external:JOB_TYPES.includes",{"id":"external:JOB_TYPES.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"JOB_TYPES.includes"}}],["external:JOB_TYPES.join",{"id":"external:JOB_TYPES.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"JOB_TYPES.join"}}],["symbol-name:getQueue",{"id":"symbol-name:getQueue","kind":"symbol","language":"jsts","symbolName":"getQueue","metadata":{"unresolvedName":"getQueue"}}],["external:queue.enqueue",{"id":"external:queue.enqueue","kind":"external","language":"jsts","metadata":{"unresolvedName":"queue.enqueue"}}],["external:queue.getJob",{"id":"external:queue.getJob","kind":"external","language":"jsts","metadata":{"unresolvedName":"queue.getJob"}}],["external:queue.getJobs",{"id":"external:queue.getJobs","kind":"external","language":"jsts","metadata":{"unresolvedName":"queue.getJobs"}}],["external:jobs.map",{"id":"external:jobs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"jobs.map"}}],["symbol-name:registerSchedules",{"id":"symbol-name:registerSchedules","kind":"symbol","language":"jsts","symbolName":"registerSchedules","metadata":{"unresolvedName":"registerSchedules"}}],["symbol-name:scheduleForSubscription",{"id":"symbol-name:scheduleForSubscription","kind":"symbol","language":"jsts","symbolName":"scheduleForSubscription","metadata":{"unresolvedName":"scheduleForSubscription"}}],["symbol-name:removeSchedulesForSubscription",{"id":"symbol-name:removeSchedulesForSubscription","kind":"symbol","language":"jsts","symbolName":"removeSchedulesForSubscription","metadata":{"unresolvedName":"removeSchedulesForSubscription"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","metadata":{"lineCount":219,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/spamshield.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/spamshield.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/spamshield.ts","metadata":{"lineCount":37,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:~/server/services/spamshield.service",{"id":"external:~/server/services/spamshield.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/spamshield.service"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","symbolName":"createCaller","symbolKind":"function","exported":false,"metadata":{"line":44,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:t.procedure\n .input(wrap(CheckNumberSchema))\n .query",{"id":"external:t.procedure\n .input(wrap(CheckNumberSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure\n .input(wrap(CheckNumberSchema))\n .query"}}],["external:t.procedure\n .input",{"id":"external:t.procedure\n .input","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure\n .input"}}],["symbol-name:mockCheckNumber",{"id":"symbol-name:mockCheckNumber","kind":"symbol","language":"jsts","symbolName":"mockCheckNumber","metadata":{"unresolvedName":"mockCheckNumber"}}],["external:t.procedure\n .input(wrap(ClassifySMSSchema))\n .query",{"id":"external:t.procedure\n .input(wrap(ClassifySMSSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure\n .input(wrap(ClassifySMSSchema))\n .query"}}],["symbol-name:mockClassifySMS",{"id":"symbol-name:mockClassifySMS","kind":"symbol","language":"jsts","symbolName":"mockClassifySMS","metadata":{"unresolvedName":"mockClassifySMS"}}],["external:t.procedure\n .input(wrap(ClassifyCallSchema))\n .query",{"id":"external:t.procedure\n .input(wrap(ClassifyCallSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure\n .input(wrap(ClassifyCallSchema))\n .query"}}],["symbol-name:mockClassifyCall",{"id":"symbol-name:mockClassifyCall","kind":"symbol","language":"jsts","symbolName":"mockClassifyCall","metadata":{"unresolvedName":"mockClassifyCall"}}],["symbol-name:mockGetRules",{"id":"symbol-name:mockGetRules","kind":"symbol","language":"jsts","symbolName":"mockGetRules","metadata":{"unresolvedName":"mockGetRules"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(CreateRuleSchema))\n .mutation",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(CreateRuleSchema))\n .mutation","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(CreateRuleSchema))\n .mutation"}}],["symbol-name:mockCreateRule",{"id":"symbol-name:mockCreateRule","kind":"symbol","language":"jsts","symbolName":"mockCreateRule","metadata":{"unresolvedName":"mockCreateRule"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(DeleteRuleSchema))\n .mutation",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(DeleteRuleSchema))\n .mutation","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(DeleteRuleSchema))\n .mutation"}}],["symbol-name:mockDeleteRule",{"id":"symbol-name:mockDeleteRule","kind":"symbol","language":"jsts","symbolName":"mockDeleteRule","metadata":{"unresolvedName":"mockDeleteRule"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(FeedbackSchema))\n .mutation",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(FeedbackSchema))\n .mutation","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(FeedbackSchema))\n .mutation"}}],["symbol-name:mockSubmitFeedback",{"id":"symbol-name:mockSubmitFeedback","kind":"symbol","language":"jsts","symbolName":"mockSubmitFeedback","metadata":{"unresolvedName":"mockSubmitFeedback"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(StatsFilterSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(StatsFilterSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(StatsFilterSchema))\n .query"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":214,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:makeUser",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:makeUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","symbolName":"makeUser","symbolKind":"function","exported":false,"metadata":{"line":103,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:mockCheckNumber.mockResolvedValue",{"id":"external:mockCheckNumber.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCheckNumber.mockResolvedValue"}}],["external:api.checkNumber",{"id":"external:api.checkNumber","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.checkNumber"}}],["external:expect(mockCheckNumber).toHaveBeenCalledWith",{"id":"external:expect(mockCheckNumber).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockCheckNumber).toHaveBeenCalledWith"}}],["external:mockClassifySMS.mockResolvedValue",{"id":"external:mockClassifySMS.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockClassifySMS.mockResolvedValue"}}],["external:api.classifySMS",{"id":"external:api.classifySMS","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.classifySMS"}}],["external:expect(res.isSpam).toBe",{"id":"external:expect(res.isSpam).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(res.isSpam).toBe"}}],["external:mockClassifyCall.mockResolvedValue",{"id":"external:mockClassifyCall.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockClassifyCall.mockResolvedValue"}}],["external:api.classifyCall",{"id":"external:api.classifyCall","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.classifyCall"}}],["external:expect(await api.getRules()).toEqual",{"id":"external:expect(await api.getRules()).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(await api.getRules()).toEqual"}}],["external:api.getRules",{"id":"external:api.getRules","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getRules"}}],["external:expect(api.getRules()).rejects.toThrow",{"id":"external:expect(api.getRules()).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.getRules()).rejects.toThrow"}}],["external:mockCreateRule.mockResolvedValue",{"id":"external:mockCreateRule.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCreateRule.mockResolvedValue"}}],["external:api.createRule",{"id":"external:api.createRule","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.createRule"}}],["external:mockDeleteRule.mockResolvedValue",{"id":"external:mockDeleteRule.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDeleteRule.mockResolvedValue"}}],["external:api.deleteRule",{"id":"external:api.deleteRule","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.deleteRule"}}],["external:mockSubmitFeedback.mockResolvedValue",{"id":"external:mockSubmitFeedback.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSubmitFeedback.mockResolvedValue"}}],["external:api.submitFeedback",{"id":"external:api.submitFeedback","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.submitFeedback"}}],["external:expect(result.isSpam).toBe",{"id":"external:expect(result.isSpam).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}}],["external:expect(result.accuracy).toBe",{"id":"external:expect(result.accuracy).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.accuracy).toBe"}}],["external:expect(api.getStats({ period: \"month\" })).rejects.toThrow",{"id":"external:expect(api.getStats({ period: \"month\" })).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.getStats({ period: \"month\" })).rejects.toThrow"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":73,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:spamshieldService.checkNumberReputation",{"id":"external:spamshieldService.checkNumberReputation","kind":"external","language":"jsts","metadata":{"unresolvedName":"spamshieldService.checkNumberReputation"}}],["external:spamshieldService.classifySMS",{"id":"external:spamshieldService.classifySMS","kind":"external","language":"jsts","metadata":{"unresolvedName":"spamshieldService.classifySMS"}}],["external:spamshieldService.classifyCall",{"id":"external:spamshieldService.classifyCall","kind":"external","language":"jsts","metadata":{"unresolvedName":"spamshieldService.classifyCall"}}],["external:spamshieldService.getRules",{"id":"external:spamshieldService.getRules","kind":"external","language":"jsts","metadata":{"unresolvedName":"spamshieldService.getRules"}}],["external:spamshieldService.createRule",{"id":"external:spamshieldService.createRule","kind":"external","language":"jsts","metadata":{"unresolvedName":"spamshieldService.createRule"}}],["external:spamshieldService.deleteRule",{"id":"external:spamshieldService.deleteRule","kind":"external","language":"jsts","metadata":{"unresolvedName":"spamshieldService.deleteRule"}}],["external:spamshieldService.submitFeedback",{"id":"external:spamshieldService.submitFeedback","kind":"external","language":"jsts","metadata":{"unresolvedName":"spamshieldService.submitFeedback"}}],["external:spamshieldService.getStats",{"id":"external:spamshieldService.getStats","kind":"external","language":"jsts","metadata":{"unresolvedName":"spamshieldService.getStats"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","metadata":{"lineCount":243,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/user.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/user.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/user.ts","metadata":{"lineCount":22,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:~/server/services/user.service",{"id":"external:~/server/services/user.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/user.service"}}],["external:~/server/services/family.service",{"id":"external:~/server/services/family.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/family.service"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","symbolName":"createCaller","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:mockGetUserById",{"id":"symbol-name:mockGetUserById","kind":"symbol","language":"jsts","symbolName":"mockGetUserById","metadata":{"unresolvedName":"mockGetUserById"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(UpdateUserSchema))\n .mutation",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(UpdateUserSchema))\n .mutation","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(UpdateUserSchema))\n .mutation"}}],["symbol-name:mockUpdateUser",{"id":"symbol-name:mockUpdateUser","kind":"symbol","language":"jsts","symbolName":"mockUpdateUser","metadata":{"unresolvedName":"mockUpdateUser"}}],["external:t.procedure.use(isAuthed)\n .mutation",{"id":"external:t.procedure.use(isAuthed)\n .mutation","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .mutation"}}],["symbol-name:mockDeleteUser",{"id":"symbol-name:mockDeleteUser","kind":"symbol","language":"jsts","symbolName":"mockDeleteUser","metadata":{"unresolvedName":"mockDeleteUser"}}],["symbol-name:mockGetFamilyGroup",{"id":"symbol-name:mockGetFamilyGroup","kind":"symbol","language":"jsts","symbolName":"mockGetFamilyGroup","metadata":{"unresolvedName":"mockGetFamilyGroup"}}],["external:group.members.find",{"id":"external:group.members.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"group.members.find"}}],["symbol-name:mockInviteMember",{"id":"symbol-name:mockInviteMember","kind":"symbol","language":"jsts","symbolName":"mockInviteMember","metadata":{"unresolvedName":"mockInviteMember"}}],["symbol-name:mockRemoveMember",{"id":"symbol-name:mockRemoveMember","kind":"symbol","language":"jsts","symbolName":"mockRemoveMember","metadata":{"unresolvedName":"mockRemoveMember"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(UpdateRoleSchema))\n .mutation",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(UpdateRoleSchema))\n .mutation","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(UpdateRoleSchema))\n .mutation"}}],["symbol-name:mockUpdateMemberRole",{"id":"symbol-name:mockUpdateMemberRole","kind":"symbol","language":"jsts","symbolName":"mockUpdateMemberRole","metadata":{"unresolvedName":"mockUpdateMemberRole"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":223,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:makeUser",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:makeUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","symbolName":"makeUser","symbolKind":"function","exported":false,"metadata":{"line":105,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:mockGetUserById.mockResolvedValue",{"id":"external:mockGetUserById.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetUserById.mockResolvedValue"}}],["external:expect((await api.me()).id).toBe",{"id":"external:expect((await api.me()).id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect((await api.me()).id).toBe"}}],["external:api.me",{"id":"external:api.me","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.me"}}],["external:expect(api.me()).rejects.toThrow",{"id":"external:expect(api.me()).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.me()).rejects.toThrow"}}],["external:mockUpdateUser.mockResolvedValue",{"id":"external:mockUpdateUser.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockUpdateUser.mockResolvedValue"}}],["external:expect((await api.update({ name: \"New\" })).name).toBe",{"id":"external:expect((await api.update({ name: \"New\" })).name).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect((await api.update({ name: \"New\" })).name).toBe"}}],["external:api.update",{"id":"external:api.update","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.update"}}],["external:expect((await api.update({ email: \"new@b.com\" })).email).toBe",{"id":"external:expect((await api.update({ email: \"new@b.com\" })).email).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect((await api.update({ email: \"new@b.com\" })).email).toBe"}}],["external:mockDeleteUser.mockResolvedValue",{"id":"external:mockDeleteUser.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDeleteUser.mockResolvedValue"}}],["external:expect((await api.delete()).success).toBe",{"id":"external:expect((await api.delete()).success).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect((await api.delete()).success).toBe"}}],["external:api.delete",{"id":"external:api.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.delete"}}],["external:mockGetFamilyGroup.mockResolvedValue",{"id":"external:mockGetFamilyGroup.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetFamilyGroup.mockResolvedValue"}}],["external:api.listFamilyMembers",{"id":"external:api.listFamilyMembers","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.listFamilyMembers"}}],["external:expect(result).toHaveLength",{"id":"external:expect(result).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result).toHaveLength"}}],["external:expect(result[0].role).toBe",{"id":"external:expect(result[0].role).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result[0].role).toBe"}}],["external:mockInviteMember.mockResolvedValue",{"id":"external:mockInviteMember.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockInviteMember.mockResolvedValue"}}],["external:expect((await api.inviteFamilyMember({ email: \"new@b.com\" })).status).toBe",{"id":"external:expect((await api.inviteFamilyMember({ email: \"new@b.com\" })).status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect((await api.inviteFamilyMember({ email: \"new@b.com\" })).status).toBe"}}],["external:api.inviteFamilyMember",{"id":"external:api.inviteFamilyMember","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.inviteFamilyMember"}}],["external:expect(api.inviteFamilyMember({ email: \"new@b.com\" })).rejects.toThrow",{"id":"external:expect(api.inviteFamilyMember({ email: \"new@b.com\" })).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.inviteFamilyMember({ email: \"new@b.com\" })).rejects.toThrow"}}],["external:mockRemoveMember.mockResolvedValue",{"id":"external:mockRemoveMember.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockRemoveMember.mockResolvedValue"}}],["external:expect((await api.removeFamilyMember({ userId: \"u3\" })).success).toBe",{"id":"external:expect((await api.removeFamilyMember({ userId: \"u3\" })).success).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect((await api.removeFamilyMember({ userId: \"u3\" })).success).toBe"}}],["external:api.removeFamilyMember",{"id":"external:api.removeFamilyMember","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.removeFamilyMember"}}],["external:mockUpdateMemberRole.mockResolvedValue",{"id":"external:mockUpdateMemberRole.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockUpdateMemberRole.mockResolvedValue"}}],["external:api.updateFamilyMemberRole",{"id":"external:api.updateFamilyMemberRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.updateFamilyMemberRole"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":104,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:authenticateUser",{"id":"symbol-name:authenticateUser","kind":"symbol","language":"jsts","symbolName":"authenticateUser","metadata":{"unresolvedName":"authenticateUser"}}],["symbol-name:createUserWithPassword",{"id":"symbol-name:createUserWithPassword","kind":"symbol","language":"jsts","symbolName":"createUserWithPassword","metadata":{"unresolvedName":"createUserWithPassword"}}],["symbol-name:createSession",{"id":"symbol-name:createSession","kind":"symbol","language":"jsts","symbolName":"createSession","metadata":{"unresolvedName":"createSession"}}],["symbol-name:getUserById",{"id":"symbol-name:getUserById","kind":"symbol","language":"jsts","symbolName":"getUserById","metadata":{"unresolvedName":"getUserById"}}],["symbol-name:updateUser",{"id":"symbol-name:updateUser","kind":"symbol","language":"jsts","symbolName":"updateUser","metadata":{"unresolvedName":"updateUser"}}],["symbol-name:deleteUser",{"id":"symbol-name:deleteUser","kind":"symbol","language":"jsts","symbolName":"deleteUser","metadata":{"unresolvedName":"deleteUser"}}],["symbol-name:getFamilyGroup",{"id":"symbol-name:getFamilyGroup","kind":"symbol","language":"jsts","symbolName":"getFamilyGroup","metadata":{"unresolvedName":"getFamilyGroup"}}],["symbol-name:inviteMember",{"id":"symbol-name:inviteMember","kind":"symbol","language":"jsts","symbolName":"inviteMember","metadata":{"unresolvedName":"inviteMember"}}],["symbol-name:removeMember",{"id":"symbol-name:removeMember","kind":"symbol","language":"jsts","symbolName":"removeMember","metadata":{"unresolvedName":"removeMember"}}],["symbol-name:updateMemberRole",{"id":"symbol-name:updateMemberRole","kind":"symbol","language":"jsts","symbolName":"updateMemberRole","metadata":{"unresolvedName":"updateMemberRole"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","metadata":{"lineCount":196,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.ts","metadata":{"lineCount":46,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:~/server/services/voiceprint.service",{"id":"external:~/server/services/voiceprint.service","kind":"external","language":"jsts","metadata":{"source":"~/server/services/voiceprint.service"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","symbolName":"createCaller","symbolKind":"function","exported":false,"metadata":{"line":41,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:mockGetEnrollments",{"id":"symbol-name:mockGetEnrollments","kind":"symbol","language":"jsts","symbolName":"mockGetEnrollments","metadata":{"unresolvedName":"mockGetEnrollments"}}],["symbol-name:mockCreateEnrollment",{"id":"symbol-name:mockCreateEnrollment","kind":"symbol","language":"jsts","symbolName":"mockCreateEnrollment","metadata":{"unresolvedName":"mockCreateEnrollment"}}],["symbol-name:mockDeleteEnrollment",{"id":"symbol-name:mockDeleteEnrollment","kind":"symbol","language":"jsts","symbolName":"mockDeleteEnrollment","metadata":{"unresolvedName":"mockDeleteEnrollment"}}],["symbol-name:mockAnalyzeAudio",{"id":"symbol-name:mockAnalyzeAudio","kind":"symbol","language":"jsts","symbolName":"mockAnalyzeAudio","metadata":{"unresolvedName":"mockAnalyzeAudio"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(AnalysisFilterSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(AnalysisFilterSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(AnalysisFilterSchema))\n .query"}}],["symbol-name:mockGetAnalyses",{"id":"symbol-name:mockGetAnalyses","kind":"symbol","language":"jsts","symbolName":"mockGetAnalyses","metadata":{"unresolvedName":"mockGetAnalyses"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(AnalysisResultSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(AnalysisResultSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(AnalysisResultSchema))\n .query"}}],["symbol-name:mockGetAnalysisResult",{"id":"symbol-name:mockGetAnalysisResult","kind":"symbol","language":"jsts","symbolName":"mockGetAnalysisResult","metadata":{"unresolvedName":"mockGetAnalysisResult"}}],["external:t.procedure.use(isAuthed)\n .input(wrap(JobStatusSchema))\n .query",{"id":"external:t.procedure.use(isAuthed)\n .input(wrap(JobStatusSchema))\n .query","kind":"external","language":"jsts","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(JobStatusSchema))\n .query"}}],["symbol-name:mockGetJobStatus",{"id":"symbol-name:mockGetJobStatus","kind":"symbol","language":"jsts","symbolName":"mockGetJobStatus","metadata":{"unresolvedName":"mockGetJobStatus"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":188,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:makeUser",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:makeUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","symbolName":"makeUser","symbolKind":"function","exported":false,"metadata":{"line":95,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(await api.getEnrollments()).toEqual",{"id":"external:expect(await api.getEnrollments()).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(await api.getEnrollments()).toEqual"}}],["external:api.getEnrollments",{"id":"external:api.getEnrollments","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getEnrollments"}}],["external:expect(api.getEnrollments()).rejects.toThrow",{"id":"external:expect(api.getEnrollments()).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(api.getEnrollments()).rejects.toThrow"}}],["external:mockCreateEnrollment.mockResolvedValue",{"id":"external:mockCreateEnrollment.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCreateEnrollment.mockResolvedValue"}}],["external:api.createEnrollment",{"id":"external:api.createEnrollment","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.createEnrollment"}}],["external:mockDeleteEnrollment.mockResolvedValue",{"id":"external:mockDeleteEnrollment.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDeleteEnrollment.mockResolvedValue"}}],["external:api.deleteEnrollment",{"id":"external:api.deleteEnrollment","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.deleteEnrollment"}}],["external:mockAnalyzeAudio.mockResolvedValue",{"id":"external:mockAnalyzeAudio.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockAnalyzeAudio.mockResolvedValue"}}],["external:api.analyzeAudio",{"id":"external:api.analyzeAudio","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.analyzeAudio"}}],["external:expect(res.verdict).toBe",{"id":"external:expect(res.verdict).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(res.verdict).toBe"}}],["external:expect(mockAnalyzeAudio).toHaveBeenCalledWith",{"id":"external:expect(mockAnalyzeAudio).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockAnalyzeAudio).toHaveBeenCalledWith"}}],["external:api.getAnalyses",{"id":"external:api.getAnalyses","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getAnalyses"}}],["external:expect(mockGetAnalyses).toHaveBeenCalledWith",{"id":"external:expect(mockGetAnalyses).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockGetAnalyses).toHaveBeenCalledWith"}}],["external:mockGetAnalysisResult.mockResolvedValue",{"id":"external:mockGetAnalysisResult.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetAnalysisResult.mockResolvedValue"}}],["external:api.getAnalysisResult",{"id":"external:api.getAnalysisResult","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getAnalysisResult"}}],["external:mockGetJobStatus.mockResolvedValue",{"id":"external:mockGetJobStatus.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGetJobStatus.mockResolvedValue"}}],["external:api.getJobStatus",{"id":"external:api.getJobStatus","kind":"external","language":"jsts","metadata":{"unresolvedName":"api.getJobStatus"}}],["/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":50,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:voiceprintService.getEnrollments",{"id":"external:voiceprintService.getEnrollments","kind":"external","language":"jsts","metadata":{"unresolvedName":"voiceprintService.getEnrollments"}}],["external:voiceprintService.createEnrollment",{"id":"external:voiceprintService.createEnrollment","kind":"external","language":"jsts","metadata":{"unresolvedName":"voiceprintService.createEnrollment"}}],["external:voiceprintService.deleteEnrollment",{"id":"external:voiceprintService.deleteEnrollment","kind":"external","language":"jsts","metadata":{"unresolvedName":"voiceprintService.deleteEnrollment"}}],["external:voiceprintService.analyzeAudio",{"id":"external:voiceprintService.analyzeAudio","kind":"external","language":"jsts","metadata":{"unresolvedName":"voiceprintService.analyzeAudio"}}],["external:voiceprintService.getAnalyses",{"id":"external:voiceprintService.getAnalyses","kind":"external","language":"jsts","metadata":{"unresolvedName":"voiceprintService.getAnalyses"}}],["external:voiceprintService.getAnalysisResult",{"id":"external:voiceprintService.getAnalysisResult","kind":"external","language":"jsts","metadata":{"unresolvedName":"voiceprintService.getAnalysisResult"}}],["external:voiceprintService.getJobStatus",{"id":"external:voiceprintService.getJobStatus","kind":"external","language":"jsts","metadata":{"unresolvedName":"voiceprintService.getJobStatus"}}],["external:~/lib/url-validation",{"id":"external:~/lib/url-validation","kind":"external","language":"jsts","metadata":{"source":"~/lib/url-validation"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","metadata":{"lineCount":65,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":59,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:safeParse",{"id":"symbol-name:safeParse","kind":"symbol","language":"jsts","symbolName":"safeParse","metadata":{"unresolvedName":"safeParse"}}],["external:expect(result.success).toBe",{"id":"external:expect(result.success).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.success).toBe"}}],["external:\"A\".repeat",{"id":"external:\"A\".repeat","kind":"external","language":"jsts","metadata":{"unresolvedName":"\"A\".repeat"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","metadata":{"lineCount":150,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.ts","metadata":{"lineCount":57,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":139,"column":51,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(result.output.id).toBe",{"id":"external:expect(result.output.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.output.id).toBe"}}],["external:expect(result.output.metadata?.userId).toBe",{"id":"external:expect(result.output.metadata?.userId).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.output.metadata?.userId).toBe"}}],["external:expect(result.output.current_period_start).toBe",{"id":"external:expect(result.output.current_period_start).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.output.current_period_start).toBe"}}],["external:expect(result.output.items?.data?.price?.id).toBe",{"id":"external:expect(result.output.items?.data?.price?.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.output.items?.data?.price?.id).toBe"}}],["external:expect(result.output.cancel_at_period_end).toBe",{"id":"external:expect(result.output.cancel_at_period_end).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.output.cancel_at_period_end).toBe"}}],["external:expect(result.output.subscription).toBe",{"id":"external:expect(result.output.subscription).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.output.subscription).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","metadata":{"lineCount":93,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":83,"column":72,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(mod.createTRPCContext).toBeInstanceOf",{"id":"external:expect(mod.createTRPCContext).toBeInstanceOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mod.createTRPCContext).toBeInstanceOf"}}],["symbol-name:createTRPCContext",{"id":"symbol-name:createTRPCContext","kind":"symbol","language":"jsts","symbolName":"createTRPCContext","metadata":{"unresolvedName":"createTRPCContext"}}],["external:expect(ctx.user).toBeNull",{"id":"external:expect(ctx.user).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(ctx.user).toBeNull"}}],["external:expect(ctx.apiKey).toBeNull",{"id":"external:expect(ctx.apiKey).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(ctx.apiKey).toBeNull"}}],["external:expect(ctx.db).toBeDefined",{"id":"external:expect(ctx.db).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(ctx.db).toBeDefined"}}],["external:initTRPC.context<TestCtx>().create",{"id":"external:initTRPC.context<TestCtx>().create","kind":"external","language":"jsts","metadata":{"unresolvedName":"initTRPC.context<TestCtx>().create"}}],["external:publicProcedure.query",{"id":"external:publicProcedure.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"publicProcedure.query"}}],["external:caller({ db: {} }).test",{"id":"external:caller({ db: {} }).test","kind":"external","language":"jsts","metadata":{"unresolvedName":"caller({ db: {} }).test"}}],["external:expect(result).toBe",{"id":"external:expect(result).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result).toBe"}}],["external:protectedProcedure.query",{"id":"external:protectedProcedure.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"protectedProcedure.query"}}],["external:expect(caller({ db: {} }).test()).rejects.toThrow",{"id":"external:expect(caller({ db: {} }).test()).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(caller({ db: {} }).test()).rejects.toThrow"}}],["external:caller({\n db: {},\n user: { id: \"user-1\", role: \"user\" },\n }).test",{"id":"external:caller({\n db: {},\n user: { id: \"user-1\", role: \"user\" },\n }).test","kind":"external","language":"jsts","metadata":{"unresolvedName":"caller({\n db: {},\n user: { id: \"user-1\", role: \"user\" },\n }).test"}}],["external:adminProcedure.query",{"id":"external:adminProcedure.query","kind":"external","language":"jsts","metadata":{"unresolvedName":"adminProcedure.query"}}],["external:caller({ db: {}, user: { id: \"user-1\", role: \"user\" } }).test",{"id":"external:caller({ db: {}, user: { id: \"user-1\", role: \"user\" } }).test","kind":"external","language":"jsts","metadata":{"unresolvedName":"caller({ db: {}, user: { id: \"user-1\", role: \"user\" } }).test"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","metadata":{"lineCount":82,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:~/server/auth/jwt",{"id":"external:~/server/auth/jwt","kind":"external","language":"jsts","metadata":{"source":"~/server/auth/jwt"}}],["external:~/server/auth/session",{"id":"external:~/server/auth/session","kind":"external","language":"jsts","metadata":{"source":"~/server/auth/session"}}],["/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies",{"id":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","symbolName":"parseCookies","symbolKind":"function","exported":false,"metadata":{"line":14,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:req.headers.get",{"id":"external:req.headers.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"req.headers.get"}}],["external:cookieHeader.split",{"id":"external:cookieHeader.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"cookieHeader.split"}}],["external:cookie.trim",{"id":"external:cookie.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"cookie.trim"}}],["external:trimmed.indexOf",{"id":"external:trimmed.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.indexOf"}}],["external:trimmed.slice(0, idx).trim",{"id":"external:trimmed.slice(0, idx).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.slice(0, idx).trim"}}],["external:trimmed.slice",{"id":"external:trimmed.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.slice"}}],["external:trimmed.slice(idx + 1).trim",{"id":"external:trimmed.slice(idx + 1).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.slice(idx + 1).trim"}}],["/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext",{"id":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","symbolName":"createTRPCContext","symbolKind":"function","exported":true,"metadata":{"line":30,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:parseCookies",{"id":"symbol-name:parseCookies","kind":"symbol","language":"jsts","symbolName":"parseCookies","metadata":{"unresolvedName":"parseCookies"}}],["symbol-name:validateSession",{"id":"symbol-name:validateSession","kind":"symbol","language":"jsts","symbolName":"validateSession","metadata":{"unresolvedName":"validateSession"}}],["external:authHeader?.startsWith",{"id":"external:authHeader?.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"authHeader?.startsWith"}}],["external:authHeader.slice",{"id":"external:authHeader.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"authHeader.slice"}}],["symbol-name:verifyJWT",{"id":"symbol-name:verifyJWT","kind":"symbol","language":"jsts","symbolName":"verifyJWT","metadata":{"unresolvedName":"verifyJWT"}}],["external:db\n .select()\n .from(users)\n .where",{"id":"external:db\n .select()\n .from(users)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}}],["external:db\n .select()\n .from",{"id":"external:db\n .select()\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from"}}],["external:db\n .select",{"id":"external:db\n .select","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","metadata":{"lineCount":86,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier",{"id":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","symbolName":"getRateLimitTier","symbolKind":"function","exported":false,"metadata":{"line":17,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:SENSITIVE_PROCEDURES.has",{"id":"external:SENSITIVE_PROCEDURES.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"SENSITIVE_PROCEDURES.has"}}],["/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":79,"column":48,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(getRateLimitTier(\"user.login\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"user.login\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.login\", null, true)).toBe"}}],["symbol-name:getRateLimitTier",{"id":"symbol-name:getRateLimitTier","kind":"symbol","language":"jsts","symbolName":"getRateLimitTier","metadata":{"unresolvedName":"getRateLimitTier"}}],["external:expect(getRateLimitTier(\"user.signup\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"user.signup\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.signup\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"user.forgotPassword\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"user.forgotPassword\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.forgotPassword\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"user.resetPassword\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"user.resetPassword\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.resetPassword\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"darkwatch.runScan\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"darkwatch.runScan\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScan\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"darkwatch.runFullScan\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"darkwatch.runFullScan\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runFullScan\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"voiceprint.analyzeAudio\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudio\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudio\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"voiceprint.createEnrollment\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"voiceprint.createEnrollment\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.createEnrollment\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"blog.bySlug\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"blog.bySlug\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"blog.bySlug\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"correlation.search\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"correlation.search\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"correlation.search\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"spamshield.analyze\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"spamshield.analyze\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"spamshield.analyze\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"blog.bySlug\", null, false)).toBe",{"id":"external:expect(getRateLimitTier(\"blog.bySlug\", null, false)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"blog.bySlug\", null, false)).toBe"}}],["external:expect(getRateLimitTier(\"user.login\", \"admin\", true)).toBe",{"id":"external:expect(getRateLimitTier(\"user.login\", \"admin\", true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.login\", \"admin\", true)).toBe"}}],["external:expect(getRateLimitTier(\"darkwatch.runScan\", \"admin\", true)).toBe",{"id":"external:expect(getRateLimitTier(\"darkwatch.runScan\", \"admin\", true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScan\", \"admin\", true)).toBe"}}],["external:expect(getRateLimitTier(\"voiceprint.analyzeAudio\", \"admin\", true)).toBe",{"id":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudio\", \"admin\", true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudio\", \"admin\", true)).toBe"}}],["external:expect(getRateLimitTier(\"user.loginLike\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"user.loginLike\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.loginLike\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"user.signupPage\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"user.signupPage\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.signupPage\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"user.loginResetPassword\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"user.loginResetPassword\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.loginResetPassword\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"darkwatch.runScanLike\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"darkwatch.runScanLike\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScanLike\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"darkwatch.runScanHistory\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"darkwatch.runScanHistory\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScanHistory\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"voiceprint.analyzeAudioPlayer\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudioPlayer\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudioPlayer\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"voiceprint.createEnrollmentPage\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"voiceprint.createEnrollmentPage\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.createEnrollmentPage\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"notdarkwatch.runScan\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"notdarkwatch.runScan\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"notdarkwatch.runScan\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"darkwatch.notrunScan\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"darkwatch.notrunScan\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.notrunScan\", null, true)).toBe"}}],["external:expect(getRateLimitTier(\"voiceprint.analyze\", null, true)).toBe",{"id":"external:expect(getRateLimitTier(\"voiceprint.analyze\", null, true)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyze\", null, true)).toBe"}}],["external:~/server/lib/ratelimit",{"id":"external:~/server/lib/ratelimit","kind":"external","language":"jsts","metadata":{"source":"~/server/lib/ratelimit"}}],["/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":35,"column":36,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:checkRateLimitOrThrow",{"id":"symbol-name:checkRateLimitOrThrow","kind":"symbol","language":"jsts","symbolName":"checkRateLimitOrThrow","metadata":{"unresolvedName":"checkRateLimitOrThrow"}}],["file:/Users/mike/Code/Kordant/web/src/server/api/validation.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/api/validation.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts","metadata":{"lineCount":52,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/api/validation.ts:sanitizeHtml",{"id":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:sanitizeHtml","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts","symbolName":"sanitizeHtml","symbolKind":"function","exported":true,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:input\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace",{"id":"external:input\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"input\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace"}}],["external:input\n .replace(/&/g, \"&\")\n .replace",{"id":"external:input\n .replace(/&/g, \"&\")\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"input\n .replace(/&/g, \"&\")\n .replace"}}],["external:input\n .replace",{"id":"external:input\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"input\n .replace"}}],["/Users/mike/Code/Kordant/web/src/server/api/validation.ts:validateNoHtml",{"id":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:validateNoHtml","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts","symbolName":"validateNoHtml","symbolKind":"function","exported":true,"metadata":{"line":21,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:htmlPattern.test",{"id":"external:htmlPattern.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"htmlPattern.test"}}],["/Users/mike/Code/Kordant/web/src/server/api/validation.ts:validateStringLength",{"id":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:validateStringLength","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts","symbolName":"validateStringLength","symbolKind":"function","exported":true,"metadata":{"line":34,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","metadata":{"lineCount":18,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","metadata":{"lineCount":36,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":14,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:signJWT",{"id":"symbol-name:signJWT","kind":"symbol","language":"jsts","symbolName":"signJWT","metadata":{"unresolvedName":"signJWT"}}],["external:expect(decoded.sub).toBe",{"id":"external:expect(decoded.sub).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(decoded.sub).toBe"}}],["external:expect(decoded.role).toBe",{"id":"external:expect(decoded.role).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(decoded.role).toBe"}}],["external:expect(verifyJWT(\"invalid.token.here\")).rejects.toThrow",{"id":"external:expect(verifyJWT(\"invalid.token.here\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(verifyJWT(\"invalid.token.here\")).rejects.toThrow"}}],["external:jose",{"id":"external:jose","kind":"external","language":"jsts","metadata":{"source":"jose"}}],["/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:getSecret",{"id":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:getSecret","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","symbolName":"getSecret","symbolKind":"function","exported":false,"metadata":{"line":3,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:new TextEncoder().encode",{"id":"external:new TextEncoder().encode","kind":"external","language":"jsts","metadata":{"unresolvedName":"new TextEncoder().encode"}}],["/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:signJWT",{"id":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:signJWT","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","symbolName":"signJWT","symbolKind":"function","exported":true,"metadata":{"line":14,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:new SignJWT({ ...payload })\n .setProtectedHeader",{"id":"external:new SignJWT({ ...payload })\n .setProtectedHeader","kind":"external","language":"jsts","metadata":{"unresolvedName":"new SignJWT({ ...payload })\n .setProtectedHeader"}}],["symbol-name:getSecret",{"id":"symbol-name:getSecret","kind":"symbol","language":"jsts","symbolName":"getSecret","metadata":{"unresolvedName":"getSecret"}}],["/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT",{"id":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","symbolName":"verifyJWT","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:jwtVerify",{"id":"symbol-name:jwtVerify","kind":"symbol","language":"jsts","symbolName":"jwtVerify","metadata":{"unresolvedName":"jwtVerify"}}],["file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","metadata":{"lineCount":23,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/server/auth/password.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts","metadata":{"lineCount":15,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":17,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:hashPassword",{"id":"symbol-name:hashPassword","kind":"symbol","language":"jsts","symbolName":"hashPassword","metadata":{"unresolvedName":"hashPassword"}}],["external:expect(hash).toBeTruthy",{"id":"external:expect(hash).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(hash).toBeTruthy"}}],["external:expect(hash).not.toBe",{"id":"external:expect(hash).not.toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(hash).not.toBe"}}],["symbol-name:verifyPassword",{"id":"symbol-name:verifyPassword","kind":"symbol","language":"jsts","symbolName":"verifyPassword","metadata":{"unresolvedName":"verifyPassword"}}],["external:expect(valid).toBe",{"id":"external:expect(valid).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(valid).toBe"}}],["external:bcryptjs",{"id":"external:bcryptjs","kind":"external","language":"jsts","metadata":{"source":"bcryptjs"}}],["/Users/mike/Code/Kordant/web/src/server/auth/password.ts:hashPassword",{"id":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:hashPassword","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts","symbolName":"hashPassword","symbolKind":"function","exported":true,"metadata":{"line":5,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:bcrypt.hash",{"id":"external:bcrypt.hash","kind":"external","language":"jsts","metadata":{"unresolvedName":"bcrypt.hash"}}],["/Users/mike/Code/Kordant/web/src/server/auth/password.ts:verifyPassword",{"id":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:verifyPassword","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts","symbolName":"verifyPassword","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:bcrypt.compare",{"id":"external:bcrypt.compare","kind":"external","language":"jsts","metadata":{"unresolvedName":"bcrypt.compare"}}],["file:/Users/mike/Code/Kordant/web/src/server/auth/session.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/auth/session.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts","metadata":{"lineCount":36,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/server/auth/session.ts:createSession",{"id":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:createSession","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts","symbolName":"createSession","symbolKind":"function","exported":true,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:crypto.randomUUID",{"id":"external:crypto.randomUUID","kind":"external","language":"jsts","metadata":{"unresolvedName":"crypto.randomUUID"}}],["external:db\n .insert(sessions)\n .values",{"id":"external:db\n .insert(sessions)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(sessions)\n .values"}}],["external:db\n .insert",{"id":"external:db\n .insert","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert"}}],["/Users/mike/Code/Kordant/web/src/server/auth/session.ts:validateSession",{"id":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:validateSession","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts","symbolName":"validateSession","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:db\n .select({ session: sessions, user: users })\n .from",{"id":"external:db\n .select({ session: sessions, user: users })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ session: sessions, user: users })\n .from"}}],["external:db\n .select",{"id":"external:db\n .select","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select"}}],["symbol-name:gt",{"id":"symbol-name:gt","kind":"symbol","language":"jsts","symbolName":"gt","metadata":{"unresolvedName":"gt"}}],["file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","metadata":{"lineCount":24,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":19,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:expect(mod.db).toBeDefined",{"id":"external:expect(mod.db).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mod.db).toBeDefined"}}],["external:expect(mod.client).toBeDefined",{"id":"external:expect(mod.client).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mod.client).toBeDefined"}}],["external:expect(mod.runMigrations).toBeInstanceOf",{"id":"external:expect(mod.runMigrations).toBeInstanceOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mod.runMigrations).toBeInstanceOf"}}],["external:expect(mod.seed).toBeInstanceOf",{"id":"external:expect(mod.seed).toBeInstanceOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mod.seed).toBeInstanceOf"}}],["file:/Users/mike/Code/Kordant/web/src/server/db/index.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/index.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/index.ts","metadata":{"lineCount":21,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:@libsql/client",{"id":"external:@libsql/client","kind":"external","language":"jsts","metadata":{"source":"@libsql/client"}}],["external:drizzle-orm/libsql",{"id":"external:drizzle-orm/libsql","kind":"external","language":"jsts","metadata":{"source":"drizzle-orm/libsql"}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema"}],["/Users/mike/Code/Kordant/web/src/server/db/index.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/db/index.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/index.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":18,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:client.close",{"id":"external:client.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.close"}}],["file:/Users/mike/Code/Kordant/web/src/server/db/migrate.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","metadata":{"lineCount":24,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:drizzle-orm/libsql/migrator",{"id":"external:drizzle-orm/libsql/migrator","kind":"external","language":"jsts","metadata":{"source":"drizzle-orm/libsql/migrator"}}],["/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:runMigrations",{"id":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:runMigrations","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","symbolName":"runMigrations","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:migrate",{"id":"symbol-name:migrate","kind":"symbol","language":"jsts","symbolName":"migrate","metadata":{"unresolvedName":"migrate"}}],["/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":19,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:process.exit",{"id":"external:process.exit","kind":"external","language":"jsts","metadata":{"unresolvedName":"process.exit"}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/alerts.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/alerts.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/alerts.ts","metadata":{"lineCount":26,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:drizzle-orm/sqlite-core",{"id":"external:drizzle-orm/sqlite-core","kind":"external","language":"jsts","metadata":{"source":"drizzle-orm/sqlite-core"}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","metadata":{"lineCount":70,"featureKind":"service","trustBoundaries":["filesystem","database","auth","user-input"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","metadata":{"lineCount":59,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/darkwatch.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/darkwatch.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/darkwatch.ts","metadata":{"lineCount":41,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/audit.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/audit.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/audit.ts","metadata":{"lineCount":32,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/correlation.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/correlation.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/correlation.ts","metadata":{"lineCount":45,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/enums.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/enums.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/enums.ts","metadata":{"lineCount":62,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/hometitle.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/hometitle.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/hometitle.ts","metadata":{"lineCount":59,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/index.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/index.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/index.ts","metadata":{"lineCount":19,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/invitation.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/invitation.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/invitation.ts","metadata":{"lineCount":16,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/marketing.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/marketing.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/marketing.ts","metadata":{"lineCount":44,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/notifications.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/notifications.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/notifications.ts","metadata":{"lineCount":16,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","metadata":{"lineCount":173,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/voiceprint.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/voiceprint.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/voiceprint.ts","metadata":{"lineCount":65,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/spamshield.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/spamshield.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/spamshield.ts","metadata":{"lineCount":37,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/reports.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/reports.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/reports.ts","metadata":{"lineCount":30,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/report-schedules.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/report-schedules.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/report-schedules.ts","metadata":{"lineCount":18,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/removebrokers.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/removebrokers.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/removebrokers.ts","metadata":{"lineCount":67,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema/webhook-events.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/webhook-events.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema/webhook-events.ts","metadata":{"lineCount":23,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","metadata":{"lineCount":450,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":441,"column":53,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:getTableConfig",{"id":"symbol-name:getTableConfig","kind":"symbol","language":"jsts","symbolName":"getTableConfig","metadata":{"unresolvedName":"getTableConfig"}}],["external:config.columns.map",{"id":"external:config.columns.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"config.columns.map"}}],["external:expect(colNames).toContain",{"id":"external:expect(colNames).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(colNames).toContain"}}],["external:expect(config.columns).toHaveLength",{"id":"external:expect(config.columns).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(config.columns).toHaveLength"}}],["external:expect(config.indexes.length).toBe",{"id":"external:expect(config.indexes.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(config.indexes.length).toBe"}}],["external:expect(config.columns.length).toBeGreaterThanOrEqual",{"id":"external:expect(config.columns.length).toBeGreaterThanOrEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(config.columns.length).toBeGreaterThanOrEqual"}}],["external:config.columns.find",{"id":"external:config.columns.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"config.columns.find"}}],["external:expect(channelCol).toBeDefined",{"id":"external:expect(channelCol).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(channelCol).toBeDefined"}}],["external:expect(tagsCol).toBeDefined",{"id":"external:expect(tagsCol).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(tagsCol).toBeDefined"}}],["external:expect(config.columns.find((c) => c.name === \"entities\")).toBeDefined",{"id":"external:expect(config.columns.find((c) => c.name === \"entities\")).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(config.columns.find((c) => c.name === \"entities\")).toBeDefined"}}],["file:/Users/mike/Code/Kordant/web/src/server/db/schema.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/schema.ts","metadata":{"lineCount":2,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/db/seed.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/db/seed.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts","metadata":{"lineCount":482,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed",{"id":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts","symbolName":"seed","symbolKind":"function","exported":true,"metadata":{"line":35,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:db.insert(users).values",{"id":"external:db.insert(users).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(users).values"}}],["external:db.insert",{"id":"external:db.insert","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert"}}],["external:db.insert(familyGroups).values",{"id":"external:db.insert(familyGroups).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(familyGroups).values"}}],["external:db.insert(familyGroupMembers).values",{"id":"external:db.insert(familyGroupMembers).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(familyGroupMembers).values"}}],["external:now.getFullYear",{"id":"external:now.getFullYear","kind":"external","language":"jsts","metadata":{"unresolvedName":"now.getFullYear"}}],["external:now.getMonth",{"id":"external:now.getMonth","kind":"external","language":"jsts","metadata":{"unresolvedName":"now.getMonth"}}],["external:db.insert(subscriptions).values",{"id":"external:db.insert(subscriptions).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(subscriptions).values"}}],["external:db.insert(watchlistItems).values",{"id":"external:db.insert(watchlistItems).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(watchlistItems).values"}}],["external:now.getTime",{"id":"external:now.getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"now.getTime"}}],["external:db.insert(exposures).values",{"id":"external:db.insert(exposures).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(exposures).values"}}],["symbol-name:pastDate",{"id":"symbol-name:pastDate","kind":"symbol","language":"jsts","symbolName":"pastDate","metadata":{"unresolvedName":"pastDate"}}],["external:db.insert(alerts).values",{"id":"external:db.insert(alerts).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(alerts).values"}}],["external:db.insert(blogPosts).values",{"id":"external:db.insert(blogPosts).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(blogPosts).values"}}],["external:db.insert(propertyWatchlistItems).values",{"id":"external:db.insert(propertyWatchlistItems).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(propertyWatchlistItems).values"}}],["external:db.insert(infoBrokers).values",{"id":"external:db.insert(infoBrokers).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(infoBrokers).values"}}],["external:db.insert(removalRequests).values",{"id":"external:db.insert(removalRequests).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(removalRequests).values"}}],["/Users/mike/Code/Kordant/web/src/server/db/seed.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":477,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/health.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/health.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/health.ts","metadata":{"lineCount":70,"featureKind":"library","trustBoundaries":[]}}],["external:~/server/websocket",{"id":"external:~/server/websocket","kind":"external","language":"jsts","metadata":{"source":"~/server/websocket"}}],["/Users/mike/Code/Kordant/web/src/server/health.ts:checkHealth",{"id":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkHealth","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/health.ts","symbolName":"checkHealth","symbolKind":"function","exported":true,"metadata":{"line":5,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady",{"id":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/health.ts","symbolName":"checkReady","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:client.execute",{"id":"external:client.execute","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.execute"}}],["symbol-name:getRateLimitRedis",{"id":"symbol-name:getRateLimitRedis","kind":"symbol","language":"jsts","symbolName":"getRateLimitRedis","metadata":{"unresolvedName":"getRateLimitRedis"}}],["external:redis.ping",{"id":"external:redis.ping","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.ping"}}],["symbol-name:getConnectionCount",{"id":"symbol-name:getConnectionCount","kind":"symbol","language":"jsts","symbolName":"getConnectionCount","metadata":{"unresolvedName":"getConnectionCount"}}],["external:Object.values(dependencies).every",{"id":"external:Object.values(dependencies).every","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.values(dependencies).every"}}],["external:Object.values",{"id":"external:Object.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.values"}}],["/Users/mike/Code/Kordant/web/src/server/health.ts:checkDeep",{"id":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkDeep","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/health.ts","symbolName":"checkDeep","symbolKind":"function","exported":true,"metadata":{"line":48,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:process.uptime",{"id":"external:process.uptime","kind":"external","language":"jsts","metadata":{"unresolvedName":"process.uptime"}}],["external:process.memoryUsage",{"id":"external:process.memoryUsage","kind":"external","language":"jsts","metadata":{"unresolvedName":"process.memoryUsage"}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","metadata":{"lineCount":66,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","metadata":{"lineCount":39,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","symbolName":"makeChain","symbolKind":"function","exported":false,"metadata":{"line":3,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:vi.fn().mockReturnThis",{"id":"external:vi.fn().mockReturnThis","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn().mockReturnThis"}}],["external:Promise.resolve",{"id":"external:Promise.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.resolve"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":54,"column":57,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:mockDb.select.mockReturnValue",{"id":"external:mockDb.select.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDb.select.mockReturnValue"}}],["symbol-name:makeChain",{"id":"symbol-name:makeChain","kind":"symbol","language":"jsts","symbolName":"makeChain","metadata":{"unresolvedName":"makeChain"}}],["symbol-name:handler",{"id":"symbol-name:handler","kind":"symbol","language":"jsts","symbolName":"handler","metadata":{"unresolvedName":"handler"}}],["external:expect(mockRunScan).not.toHaveBeenCalled",{"id":"external:expect(mockRunScan).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockRunScan).not.toHaveBeenCalled"}}],["external:mockDb.select.mockReturnValueOnce",{"id":"external:mockDb.select.mockReturnValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDb.select.mockReturnValueOnce"}}],["external:mockDb.select\n .mockReturnValueOnce",{"id":"external:mockDb.select\n .mockReturnValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDb.select\n .mockReturnValueOnce"}}],["external:expect(mockRunScan).toHaveBeenCalledWith",{"id":"external:expect(mockRunScan).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockRunScan).toHaveBeenCalledWith"}}],["external:~/server/db/schema",{"id":"external:~/server/db/schema","kind":"external","language":"jsts","metadata":{"source":"~/server/db/schema"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","symbolName":"handler","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:db\n .select()\n .from(subscriptions)\n .where",{"id":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}}],["external:db\n .select()\n .from",{"id":"external:db\n .select()\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from"}}],["external:db\n .select()\n .from(watchlistItems)\n .where",{"id":"external:db\n .select()\n .from(watchlistItems)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(watchlistItems)\n .where"}}],["symbol-name:runScan",{"id":"symbol-name:runScan","kind":"symbol","language":"jsts","symbolName":"runScan","metadata":{"unresolvedName":"runScan"}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts","metadata":{"lineCount":39,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts","symbolName":"handler","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:db\n .select()\n .from(propertyWatchlistItems)\n .where",{"id":"external:db\n .select()\n .from(propertyWatchlistItems)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(propertyWatchlistItems)\n .where"}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","metadata":{"lineCount":35,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","metadata":{"lineCount":221,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:getHandlers",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:getHandlers","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","symbolName":"getHandlers","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:require",{"id":"symbol-name:require","kind":"symbol","language":"jsts","symbolName":"require","metadata":{"unresolvedName":"require"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","symbolName":"setHandlers","symbolKind":"function","exported":true,"metadata":{"line":25,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":32,"column":58,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","metadata":{"lineCount":71,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","symbolName":"handler","symbolKind":"function","exported":true,"metadata":{"line":12,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:db\n .select()\n .from(users)\n .where(eq(users.id, userId))\n .limit",{"id":"external:db\n .select()\n .from(users)\n .where(eq(users.id, userId))\n .limit","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where(eq(users.id, userId))\n .limit"}}],["external:db\n .select()\n .from(users)\n .where",{"id":"external:db\n .select()\n .from(users)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}}],["external:db\n .select()\n .from(alerts)\n .where",{"id":"external:db\n .select()\n .from(alerts)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(alerts)\n .where"}}],["symbol-name:sendViaChannel",{"id":"symbol-name:sendViaChannel","kind":"symbol","language":"jsts","symbolName":"sendViaChannel","metadata":{"unresolvedName":"sendViaChannel"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:sendViaChannel",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:sendViaChannel","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","symbolName":"sendViaChannel","symbolKind":"function","exported":false,"metadata":{"line":54,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts","metadata":{"lineCount":30,"featureKind":"library","trustBoundaries":["user-input","process-exec"]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts","symbolName":"handler","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["user-input","process-exec"]}}],["external:db\n .select()\n .from(removalRequests)\n .where",{"id":"external:db\n .select()\n .from(removalRequests)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(removalRequests)\n .where"}}],["symbol-name:inArray",{"id":"symbol-name:inArray","kind":"symbol","language":"jsts","symbolName":"inArray","metadata":{"unresolvedName":"inArray"}}],["symbol-name:processRemovals",{"id":"symbol-name:processRemovals","kind":"symbol","language":"jsts","symbolName":"processRemovals","metadata":{"unresolvedName":"processRemovals"}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","metadata":{"lineCount":59,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","symbolName":"handler","symbolKind":"function","exported":true,"metadata":{"line":12,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["external:db\n .select()\n .from(reportSchedules)\n .where",{"id":"external:db\n .select()\n .from(reportSchedules)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(reportSchedules)\n .where"}}],["symbol-name:generateReport",{"id":"symbol-name:generateReport","kind":"symbol","language":"jsts","symbolName":"generateReport","metadata":{"unresolvedName":"generateReport"}}],["external:schedule.lastGeneratedAt?.toISOString",{"id":"external:schedule.lastGeneratedAt?.toISOString","kind":"external","language":"jsts","metadata":{"unresolvedName":"schedule.lastGeneratedAt?.toISOString"}}],["external:db\n .update(reportSchedules)\n .set",{"id":"external:db\n .update(reportSchedules)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(reportSchedules)\n .set"}}],["external:db\n .update",{"id":"external:db\n .update","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update"}}],["symbol-name:calculateNextRun",{"id":"symbol-name:calculateNextRun","kind":"symbol","language":"jsts","symbolName":"calculateNextRun","metadata":{"unresolvedName":"calculateNextRun"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:calculateNextRun",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:calculateNextRun","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","symbolName":"calculateNextRun","symbolKind":"function","exported":false,"metadata":{"line":46,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts","metadata":{"lineCount":65,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts","symbolName":"handler","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:db\n .select()\n .from(analysisJobs)\n .where",{"id":"external:db\n .select()\n .from(analysisJobs)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(analysisJobs)\n .where"}}],["external:db\n .update(analysisJobs)\n .set",{"id":"external:db\n .update(analysisJobs)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(analysisJobs)\n .set"}}],["symbol-name:analyzeAudio",{"id":"symbol-name:analyzeAudio","kind":"symbol","language":"jsts","symbolName":"analyzeAudio","metadata":{"unresolvedName":"analyzeAudio"}}],["external:db.insert(analysisResults).values",{"id":"external:db.insert(analysisResults).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(analysisResults).values"}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/index.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","metadata":{"lineCount":41,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","metadata":{"lineCount":87,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","metadata":{"lineCount":168,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:initialize",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:initialize","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","symbolName":"initialize","symbolKind":"function","exported":true,"metadata":{"line":6,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:startScheduler",{"id":"symbol-name:startScheduler","kind":"symbol","language":"jsts","symbolName":"startScheduler","metadata":{"unresolvedName":"startScheduler"}}],["symbol-name:startWorker",{"id":"symbol-name:startWorker","kind":"symbol","language":"jsts","symbolName":"startWorker","metadata":{"unresolvedName":"startWorker"}}],["symbol-name:isSchedulerRunning",{"id":"symbol-name:isSchedulerRunning","kind":"symbol","language":"jsts","symbolName":"isSchedulerRunning","metadata":{"unresolvedName":"isSchedulerRunning"}}],["symbol-name:isWorkerRunning",{"id":"symbol-name:isWorkerRunning","kind":"symbol","language":"jsts","symbolName":"isWorkerRunning","metadata":{"unresolvedName":"isWorkerRunning"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:shutdown",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:shutdown","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","symbolName":"shutdown","symbolKind":"function","exported":true,"metadata":{"line":31,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:stopScheduler",{"id":"symbol-name:stopScheduler","kind":"symbol","language":"jsts","symbolName":"stopScheduler","metadata":{"unresolvedName":"stopScheduler"}}],["symbol-name:stopWorker",{"id":"symbol-name:stopWorker","kind":"symbol","language":"jsts","symbolName":"stopWorker","metadata":{"unresolvedName":"stopWorker"}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","metadata":{"lineCount":103,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":98,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(job.type).toBe",{"id":"external:expect(job.type).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job.type).toBe"}}],["external:expect(job.payload).toEqual",{"id":"external:expect(job.payload).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job.payload).toEqual"}}],["external:expect(job.status).toBe",{"id":"external:expect(job.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job.status).toBe"}}],["external:expect(job.attempts).toBe",{"id":"external:expect(job.attempts).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job.attempts).toBe"}}],["external:expect(job.maxAttempts).toBe",{"id":"external:expect(job.maxAttempts).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job.maxAttempts).toBe"}}],["external:expect(job.id).toBeDefined",{"id":"external:expect(job.id).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job.id).toBeDefined"}}],["external:queue.dequeue",{"id":"external:queue.dequeue","kind":"external","language":"jsts","metadata":{"unresolvedName":"queue.dequeue"}}],["external:expect(job1?.type).toBe",{"id":"external:expect(job1?.type).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job1?.type).toBe"}}],["external:expect(job1?.status).toBe",{"id":"external:expect(job1?.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job1?.status).toBe"}}],["external:expect(job2?.type).toBe",{"id":"external:expect(job2?.type).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job2?.type).toBe"}}],["external:expect(job2?.status).toBe",{"id":"external:expect(job2?.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job2?.status).toBe"}}],["external:expect(job3).toBeNull",{"id":"external:expect(job3).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job3).toBeNull"}}],["external:queue.markComplete",{"id":"external:queue.markComplete","kind":"external","language":"jsts","metadata":{"unresolvedName":"queue.markComplete"}}],["external:expect(fetched?.status).toBe",{"id":"external:expect(fetched?.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(fetched?.status).toBe"}}],["external:queue.markFailed",{"id":"external:queue.markFailed","kind":"external","language":"jsts","metadata":{"unresolvedName":"queue.markFailed"}}],["external:expect(fetched?.error).toBe",{"id":"external:expect(fetched?.error).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(fetched?.error).toBe"}}],["external:expect(job).toBeNull",{"id":"external:expect(job).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(job).toBeNull"}}],["external:expect(pending).toHaveLength",{"id":"external:expect(pending).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(pending).toHaveLength"}}],["external:expect(pending[0].id).toBe",{"id":"external:expect(pending[0].id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(pending[0].id).toBe"}}],["external:expect(completed).toHaveLength",{"id":"external:expect(completed).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(completed).toHaveLength"}}],["external:expect(completed[0].id).toBe",{"id":"external:expect(completed[0].id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(completed[0].id).toBe"}}],["external:expect(immediate).toBeNull",{"id":"external:expect(immediate).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(immediate).toBeNull"}}],["external:expect(delayed?.type).toBe",{"id":"external:expect(delayed?.type).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(delayed?.type).toBe"}}],["external:node:crypto",{"id":"external:node:crypto","kind":"external","language":"jsts","metadata":{"source":"node:crypto"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"enqueue","symbolKind":"function","exported":false,"metadata":{"line":155,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:randomUUID",{"id":"symbol-name:randomUUID","kind":"symbol","language":"jsts","symbolName":"randomUUID","metadata":{"unresolvedName":"randomUUID"}}],["external:this.jobs.set",{"id":"external:this.jobs.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.jobs.set"}}],["external:this.pendingQueue.push",{"id":"external:this.pendingQueue.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.pendingQueue.push"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":83,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:scheduleRetry",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:scheduleRetry","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"scheduleRetry","symbolKind":"function","exported":false,"metadata":{"line":177,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:dequeue",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:dequeue","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"dequeue","symbolKind":"function","exported":false,"metadata":{"line":164,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:this.pendingQueue.shift",{"id":"external:this.pendingQueue.shift","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.pendingQueue.shift"}}],["external:this.jobs.get",{"id":"external:this.jobs.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.jobs.get"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markComplete",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markComplete","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"markComplete","symbolKind":"function","exported":false,"metadata":{"line":169,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markFailed",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markFailed","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"markFailed","symbolKind":"function","exported":false,"metadata":{"line":173,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJob",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJob","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"getJob","symbolKind":"function","exported":false,"metadata":{"line":181,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"getJobs","symbolKind":"function","exported":false,"metadata":{"line":187,"column":5,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:this.jobs.values",{"id":"external:this.jobs.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.jobs.values"}}],["external:all.filter",{"id":"external:all.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"all.filter"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"createRedisAdapter","symbolKind":"function","exported":false,"metadata":{"line":128,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:bullJob.getState",{"id":"external:bullJob.getState","kind":"external","language":"jsts","metadata":{"unresolvedName":"bullJob.getState"}}],["external:queue.add",{"id":"external:queue.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"queue.add"}}],["symbol-name:toJob",{"id":"symbol-name:toJob","kind":"symbol","language":"jsts","symbolName":"toJob","metadata":{"unresolvedName":"toJob"}}],["external:allJobs.push",{"id":"external:allJobs.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"allJobs.push"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:toJob",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:toJob","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"toJob","symbolKind":"function","exported":false,"metadata":{"line":140,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"getQueue","symbolKind":"function","exported":true,"metadata":{"line":203,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createRedisAdapter",{"id":"symbol-name:createRedisAdapter","kind":"symbol","language":"jsts","symbolName":"createRedisAdapter","metadata":{"unresolvedName":"createRedisAdapter"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:setQueue",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:setQueue","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"setQueue","symbolKind":"function","exported":true,"metadata":{"line":214,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:resetQueue",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:resetQueue","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","symbolName":"resetQueue","symbolKind":"function","exported":true,"metadata":{"line":218,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:node-cron",{"id":"external:node-cron","kind":"external","language":"jsts","metadata":{"source":"node-cron"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:getCronOverview",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:getCronOverview","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","symbolName":"getCronOverview","symbolKind":"function","exported":true,"metadata":{"line":42,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:Object.values(CRON_OVERVIEW).join",{"id":"external:Object.values(CRON_OVERVIEW).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.values(CRON_OVERVIEW).join"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:enqueueScheduledJob",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:enqueueScheduledJob","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","symbolName":"enqueueScheduledJob","symbolKind":"function","exported":false,"metadata":{"line":46,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","symbolName":"registerSchedules","symbolKind":"function","exported":true,"metadata":{"line":63,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:clearSchedules",{"id":"symbol-name:clearSchedules","kind":"symbol","language":"jsts","symbolName":"clearSchedules","metadata":{"unresolvedName":"clearSchedules"}}],["external:cron.validate",{"id":"external:cron.validate","kind":"external","language":"jsts","metadata":{"unresolvedName":"cron.validate"}}],["external:cron.schedule",{"id":"external:cron.schedule","kind":"external","language":"jsts","metadata":{"unresolvedName":"cron.schedule"}}],["external:enqueueScheduledJob(schedule.type, sub.userId, sub.id).catch",{"id":"external:enqueueScheduledJob(schedule.type, sub.userId, sub.id).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"enqueueScheduledJob(schedule.type, sub.userId, sub.id).catch"}}],["symbol-name:enqueueScheduledJob",{"id":"symbol-name:enqueueScheduledJob","kind":"symbol","language":"jsts","symbolName":"enqueueScheduledJob","metadata":{"unresolvedName":"enqueueScheduledJob"}}],["external:activeSchedules.push",{"id":"external:activeSchedules.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSchedules.push"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":134,"column":44,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","symbolName":"scheduleForSubscription","symbolKind":"function","exported":true,"metadata":{"line":106,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:enqueueScheduledJob(schedule.type, subscription.userId, subscription.id).catch",{"id":"external:enqueueScheduledJob(schedule.type, subscription.userId, subscription.id).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"enqueueScheduledJob(schedule.type, subscription.userId, subscription.id).catch"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:removeSchedulesForSubscription",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:removeSchedulesForSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","symbolName":"removeSchedulesForSubscription","symbolKind":"function","exported":true,"metadata":{"line":132,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:activeSchedules.filter",{"id":"external:activeSchedules.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSchedules.filter"}}],["external:s.task.stop",{"id":"external:s.task.stop","kind":"external","language":"jsts","metadata":{"unresolvedName":"s.task.stop"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:clearSchedules",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:clearSchedules","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","symbolName":"clearSchedules","symbolKind":"function","exported":true,"metadata":{"line":146,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:entry.task.stop",{"id":"external:entry.task.stop","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.task.stop"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:startScheduler",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:startScheduler","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","symbolName":"startScheduler","symbolKind":"function","exported":true,"metadata":{"line":154,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:stopScheduler",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:stopScheduler","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","symbolName":"stopScheduler","symbolKind":"function","exported":true,"metadata":{"line":160,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:isSchedulerRunning",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:isSchedulerRunning","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","symbolName":"isSchedulerRunning","symbolKind":"function","exported":true,"metadata":{"line":165,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/start.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/start.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/start.ts","metadata":{"lineCount":12,"featureKind":"library","trustBoundaries":[]}}],["external:dotenv/config",{"id":"external:dotenv/config","kind":"external","language":"jsts","metadata":{"source":"dotenv/config"}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","metadata":{"lineCount":171,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers",{"id":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers"}],["/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":157,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setQueue",{"id":"symbol-name:setQueue","kind":"symbol","language":"jsts","symbolName":"setQueue","metadata":{"unresolvedName":"setQueue"}}],["symbol-name:resetQueue",{"id":"symbol-name:resetQueue","kind":"symbol","language":"jsts","symbolName":"resetQueue","metadata":{"unresolvedName":"resetQueue"}}],["external:vi.fn().mockResolvedValue",{"id":"external:vi.fn().mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}}],["symbol-name:setHandlers",{"id":"symbol-name:setHandlers","kind":"symbol","language":"jsts","symbolName":"setHandlers","metadata":{"unresolvedName":"setHandlers"}}],["symbol-name:processJob",{"id":"symbol-name:processJob","kind":"symbol","language":"jsts","symbolName":"processJob","metadata":{"unresolvedName":"processJob"}}],["external:expect(handler).toHaveBeenCalledWith",{"id":"external:expect(handler).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledWith"}}],["external:expect(updated?.status).toBe",{"id":"external:expect(updated?.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(updated?.status).toBe"}}],["external:vi.fn().mockRejectedValue",{"id":"external:vi.fn().mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn().mockRejectedValue"}}],["external:expect(updated?.attempts).toBe",{"id":"external:expect(updated?.attempts).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(updated?.attempts).toBe"}}],["external:expect(handler).toHaveBeenCalledTimes",{"id":"external:expect(handler).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledTimes"}}],["external:expect(retried).not.toBeNull",{"id":"external:expect(retried).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(retried).not.toBeNull"}}],["external:expect(failed?.status).toBe",{"id":"external:expect(failed?.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(failed?.status).toBe"}}],["external:expect(failed?.error).toBe",{"id":"external:expect(failed?.error).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(failed?.error).toBe"}}],["external:vi.advanceTimersByTimeAsync",{"id":"external:vi.advanceTimersByTimeAsync","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}}],["external:expect(handler).toHaveBeenCalled",{"id":"external:expect(handler).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalled"}}],["external:expect(handler).not.toHaveBeenCalled",{"id":"external:expect(handler).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(handler).not.toHaveBeenCalled"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:sleep",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:sleep","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","symbolName":"sleep","symbolKind":"function","exported":false,"metadata":{"line":15,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","symbolName":"processJob","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:getHandlers",{"id":"symbol-name:getHandlers","kind":"symbol","language":"jsts","symbolName":"getHandlers","metadata":{"unresolvedName":"getHandlers"}}],["external:activeJobs.add",{"id":"external:activeJobs.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeJobs.add"}}],["external:queue.scheduleRetry",{"id":"external:queue.scheduleRetry","kind":"external","language":"jsts","metadata":{"unresolvedName":"queue.scheduleRetry"}}],["external:activeJobs.delete",{"id":"external:activeJobs.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeJobs.delete"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","symbolName":"startWorker","symbolKind":"function","exported":true,"metadata":{"line":47,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:processJob(job).catch",{"id":"external:processJob(job).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"processJob(job).catch"}}],["symbol-name:poll",{"id":"symbol-name:poll","kind":"symbol","language":"jsts","symbolName":"poll","metadata":{"unresolvedName":"poll"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:poll",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:poll","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","symbolName":"poll","symbolKind":"function","exported":false,"metadata":{"line":54,"column":16,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":59,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","symbolName":"stopWorker","symbolKind":"function","exported":true,"metadata":{"line":72,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:sleep",{"id":"symbol-name:sleep","kind":"symbol","language":"jsts","symbolName":"sleep","metadata":{"unresolvedName":"sleep"}}],["/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:isWorkerRunning",{"id":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:isWorkerRunning","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","symbolName":"isWorkerRunning","symbolKind":"function","exported":true,"metadata":{"line":84,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","metadata":{"lineCount":89,"featureKind":"library","trustBoundaries":[]}}],["external:ioredis",{"id":"external:ioredis","kind":"external","language":"jsts","metadata":{"source":"ioredis"}}],["/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:getCacheRedis",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:getCacheRedis","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","symbolName":"getCacheRedis","symbolKind":"function","exported":true,"metadata":{"line":5,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:get",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:get","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","symbolName":"get","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:getCacheRedis",{"id":"symbol-name:getCacheRedis","kind":"symbol","language":"jsts","symbolName":"getCacheRedis","metadata":{"unresolvedName":"getCacheRedis"}}],["external:redis.get",{"id":"external:redis.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.get"}}],["/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:set",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:set","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","symbolName":"set","symbolKind":"function","exported":true,"metadata":{"line":42,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:redis.set",{"id":"external:redis.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.set"}}],["/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidate",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidate","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","symbolName":"invalidate","symbolKind":"function","exported":true,"metadata":{"line":57,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:redis.del",{"id":"external:redis.del","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.del"}}],["/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidatePattern",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidatePattern","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","symbolName":"invalidatePattern","symbolKind":"function","exported":true,"metadata":{"line":67,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:redis.keys",{"id":"external:redis.keys","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.keys"}}],["/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:closeCacheRedis",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:closeCacheRedis","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","symbolName":"closeCacheRedis","symbolKind":"function","exported":true,"metadata":{"line":83,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:redis.quit",{"id":"external:redis.quit","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.quit"}}],["file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","metadata":{"lineCount":62,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedUser",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","symbolName":"getCachedUser","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:get",{"id":"symbol-name:get","kind":"symbol","language":"jsts","symbolName":"get","metadata":{"unresolvedName":"get"}}],["symbol-name:fetchFn",{"id":"symbol-name:fetchFn","kind":"symbol","language":"jsts","symbolName":"fetchFn","metadata":{"unresolvedName":"fetchFn"}}],["symbol-name:set",{"id":"symbol-name:set","kind":"symbol","language":"jsts","symbolName":"set","metadata":{"unresolvedName":"set"}}],["/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedSubscription",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","symbolName":"getCachedSubscription","symbolKind":"function","exported":true,"metadata":{"line":24,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedDashboard",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedDashboard","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","symbolName":"getCachedDashboard","symbolKind":"function","exported":true,"metadata":{"line":37,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedBlog",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedBlog","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","symbolName":"getCachedBlog","symbolKind":"function","exported":true,"metadata":{"line":50,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/Users/mike/Code/Kordant/web/src/server/lib/env.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/lib/env.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts","metadata":{"lineCount":76,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/lib/env.ts:validateEnv",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts:validateEnv","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts","symbolName":"validateEnv","symbolKind":"function","exported":true,"metadata":{"line":56,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:result.issues\n .map",{"id":"external:result.issues\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.issues\n .map"}}],["external:missingKeys.join",{"id":"external:missingKeys.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"missingKeys.join"}}],["symbol-name:parse",{"id":"symbol-name:parse","kind":"symbol","language":"jsts","symbolName":"parse","metadata":{"unresolvedName":"parse"}}],["file:/Users/mike/Code/Kordant/web/src/server/lib/fcm.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/lib/fcm.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/fcm.ts","metadata":{"lineCount":19,"featureKind":"library","trustBoundaries":[]}}],["external:firebase-admin/app",{"id":"external:firebase-admin/app","kind":"external","language":"jsts","metadata":{"source":"firebase-admin/app"}}],["external:firebase-admin/messaging",{"id":"external:firebase-admin/messaging","kind":"external","language":"jsts","metadata":{"source":"firebase-admin/messaging"}}],["file:/Users/mike/Code/Kordant/web/src/server/lib/logger.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/lib/logger.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/logger.ts","metadata":{"lineCount":37,"featureKind":"library","trustBoundaries":[]}}],["external:pino",{"id":"external:pino","kind":"external","language":"jsts","metadata":{"source":"pino"}}],["file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","metadata":{"lineCount":83,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:getRateLimitRedis",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:getRateLimitRedis","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","symbolName":"getRateLimitRedis","symbolKind":"function","exported":true,"metadata":{"line":6,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","symbolName":"checkRateLimit","symbolKind":"function","exported":true,"metadata":{"line":34,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:redis.zremrangebyscore",{"id":"external:redis.zremrangebyscore","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.zremrangebyscore"}}],["external:redis.zcard",{"id":"external:redis.zcard","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.zcard"}}],["external:redis.zrange",{"id":"external:redis.zrange","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.zrange"}}],["external:redis.zadd",{"id":"external:redis.zadd","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.zadd"}}],["external:redis.expire",{"id":"external:redis.expire","kind":"external","language":"jsts","metadata":{"unresolvedName":"redis.expire"}}],["/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimitOrThrow",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimitOrThrow","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","symbolName":"checkRateLimitOrThrow","symbolKind":"function","exported":true,"metadata":{"line":64,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:checkRateLimit",{"id":"symbol-name:checkRateLimit","kind":"symbol","language":"jsts","symbolName":"checkRateLimit","metadata":{"unresolvedName":"checkRateLimit"}}],["/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:closeRateLimitRedis",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:closeRateLimitRedis","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","symbolName":"closeRateLimitRedis","symbolKind":"function","exported":true,"metadata":{"line":77,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts","metadata":{"lineCount":26,"featureKind":"library","trustBoundaries":[]}}],["external:~/server/lib/logger",{"id":"external:~/server/lib/logger","kind":"external","language":"jsts","metadata":{"source":"~/server/lib/logger"}}],["/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts:requestLogger",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts:requestLogger","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts","symbolName":"requestLogger","symbolKind":"function","exported":true,"metadata":{"line":6,"column":49,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:logger.child",{"id":"external:logger.child","kind":"external","language":"jsts","metadata":{"unresolvedName":"logger.child"}}],["external:childLogger.debug",{"id":"external:childLogger.debug","kind":"external","language":"jsts","metadata":{"unresolvedName":"childLogger.debug"}}],["external:childLogger.info",{"id":"external:childLogger.info","kind":"external","language":"jsts","metadata":{"unresolvedName":"childLogger.info"}}],["file:/Users/mike/Code/Kordant/web/src/server/lib/resend.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/lib/resend.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/resend.ts","metadata":{"lineCount":4,"featureKind":"library","trustBoundaries":[]}}],["external:resend",{"id":"external:resend","kind":"external","language":"jsts","metadata":{"source":"resend"}}],["file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","metadata":{"lineCount":90,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getEffectiveTier",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getEffectiveTier","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","symbolName":"getEffectiveTier","symbolKind":"function","exported":true,"metadata":{"line":35,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:isTrialing",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:isTrialing","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","symbolName":"isTrialing","symbolKind":"function","exported":true,"metadata":{"line":40,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","symbolName":"hasFeatureAccess","symbolKind":"function","exported":true,"metadata":{"line":44,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:sub.trials.some",{"id":"external:sub.trials.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"sub.trials.some"}}],["/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","symbolName":"getActiveTrials","symbolKind":"function","exported":true,"metadata":{"line":59,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:db\n .select()\n .from(featureTrials)\n .where",{"id":"external:db\n .select()\n .from(featureTrials)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(featureTrials)\n .where"}}],["symbol-name:gte",{"id":"symbol-name:gte","kind":"symbol","language":"jsts","symbolName":"gte","metadata":{"unresolvedName":"gte"}}],["/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:createFeatureTrial",{"id":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:createFeatureTrial","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","symbolName":"createFeatureTrial","symbolKind":"function","exported":true,"metadata":{"line":71,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:db\n .insert(featureTrials)\n .values",{"id":"external:db\n .insert(featureTrials)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(featureTrials)\n .values"}}],["file:/Users/mike/Code/Kordant/web/src/server/lib/twilio.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/lib/twilio.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/lib/twilio.ts","metadata":{"lineCount":7,"featureKind":"library","trustBoundaries":[]}}],["external:twilio",{"id":"external:twilio","kind":"external","language":"jsts","metadata":{"source":"twilio"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","metadata":{"lineCount":112,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":85,"column":48,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:mockBroadcastToUser.mockReturnValue",{"id":"external:mockBroadcastToUser.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockBroadcastToUser.mockReturnValue"}}],["symbol-name:publishAlert",{"id":"symbol-name:publishAlert","kind":"symbol","language":"jsts","symbolName":"publishAlert","metadata":{"unresolvedName":"publishAlert"}}],["external:expect(mockBroadcastToUser).toHaveBeenCalledWith",{"id":"external:expect(mockBroadcastToUser).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockBroadcastToUser).toHaveBeenCalledWith"}}],["external:expect(mockSendPush).not.toHaveBeenCalled",{"id":"external:expect(mockSendPush).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockSendPush).not.toHaveBeenCalled"}}],["external:expect(mockSendEmail).not.toHaveBeenCalled",{"id":"external:expect(mockSendEmail).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockSendEmail).not.toHaveBeenCalled"}}],["external:mockSendPush.mockResolvedValue",{"id":"external:mockSendPush.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSendPush.mockResolvedValue"}}],["external:expect(mockBroadcastToUser).toHaveBeenCalled",{"id":"external:expect(mockBroadcastToUser).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockBroadcastToUser).toHaveBeenCalled"}}],["external:expect(mockSendPush).toHaveBeenCalledWith",{"id":"external:expect(mockSendPush).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockSendPush).toHaveBeenCalledWith"}}],["external:(db.db.select as ReturnType<typeof vi.fn>).mockReturnValue",{"id":"external:(db.db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"(db.db.select as ReturnType<typeof vi.fn>).mockReturnValue"}}],["symbol-name:publishToGroup",{"id":"symbol-name:publishToGroup","kind":"symbol","language":"jsts","symbolName":"publishToGroup","metadata":{"unresolvedName":"publishToGroup"}}],["external:expect(mockBroadcastToUser).toHaveBeenCalledTimes",{"id":"external:expect(mockBroadcastToUser).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockBroadcastToUser).toHaveBeenCalledTimes"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","metadata":{"lineCount":67,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","symbolName":"publishAlert","symbolKind":"function","exported":true,"metadata":{"line":17,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:alert.createdAt.toISOString",{"id":"external:alert.createdAt.toISOString","kind":"external","language":"jsts","metadata":{"unresolvedName":"alert.createdAt.toISOString"}}],["symbol-name:broadcastToUser",{"id":"symbol-name:broadcastToUser","kind":"symbol","language":"jsts","symbolName":"broadcastToUser","metadata":{"unresolvedName":"broadcastToUser"}}],["external:db\n .select()\n .from(users)\n .where",{"id":"external:db\n .select()\n .from(users)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}}],["external:db\n .select()\n .from",{"id":"external:db\n .select()\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from"}}],["external:db\n .select",{"id":"external:db\n .select","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select"}}],["/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishToGroup",{"id":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishToGroup","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","symbolName":"publishToGroup","symbolKind":"function","exported":true,"metadata":{"line":63,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:userIds.map",{"id":"external:userIds.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"userIds.map"}}],["external:Promise.allSettled",{"id":"external:Promise.allSettled","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.allSettled"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","metadata":{"lineCount":374,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","metadata":{"lineCount":279,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":345,"column":46,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue",{"id":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}}],["external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue",{"id":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}}],["external:vi\n\t\t\t\t\t\t.fn",{"id":"external:vi\n\t\t\t\t\t\t.fn","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}}],["symbol-name:getOrCreateCustomer",{"id":"symbol-name:getOrCreateCustomer","kind":"symbol","language":"jsts","symbolName":"getOrCreateCustomer","metadata":{"unresolvedName":"getOrCreateCustomer"}}],["external:expect(stripe.customers.create).not.toHaveBeenCalled",{"id":"external:expect(stripe.customers.create).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(stripe.customers.create).not.toHaveBeenCalled"}}],["external:(stripe.customers.create as ReturnType<typeof vi.fn>).mockResolvedValue",{"id":"external:(stripe.customers.create as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"(stripe.customers.create as ReturnType<typeof vi.fn>).mockResolvedValue"}}],["external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue",{"id":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}}],["external:expect(stripe.customers.create).toHaveBeenCalledWith",{"id":"external:expect(stripe.customers.create).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(stripe.customers.create).toHaveBeenCalledWith"}}],["external:expect(getOrCreateCustomer(\"u-missing\", \"x@y.com\")).rejects.toThrow",{"id":"external:expect(getOrCreateCustomer(\"u-missing\", \"x@y.com\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getOrCreateCustomer(\"u-missing\", \"x@y.com\")).rejects.toThrow"}}],["external:expect(stripe.checkout.sessions.create).toHaveBeenCalledWith",{"id":"external:expect(stripe.checkout.sessions.create).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(stripe.checkout.sessions.create).toHaveBeenCalledWith"}}],["external:expect.objectContaining",{"id":"external:expect.objectContaining","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect.objectContaining"}}],["external:(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue",{"id":"external:(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue"}}],["external:expect(stripe.subscriptions.update).toHaveBeenCalledWith",{"id":"external:expect(stripe.subscriptions.update).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(stripe.subscriptions.update).toHaveBeenCalledWith"}}],["external:(stripe.invoices.list as ReturnType<typeof vi.fn>).mockResolvedValue",{"id":"external:(stripe.invoices.list as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"(stripe.invoices.list as ReturnType<typeof vi.fn>).mockResolvedValue"}}],["external:(db.insert as ReturnType<typeof vi.fn>).mockReturnValue",{"id":"external:(db.insert as ReturnType<typeof vi.fn>).mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"(db.insert as ReturnType<typeof vi.fn>).mockReturnValue"}}],["external:expect(db.insert).toHaveBeenCalled",{"id":"external:expect(db.insert).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(db.insert).toHaveBeenCalled"}}],["external:stripe",{"id":"external:stripe","kind":"external","language":"jsts","metadata":{"source":"stripe"}}],["external:~/server/api/schemas/webhook",{"id":"external:~/server/api/schemas/webhook","kind":"external","language":"jsts","metadata":{"source":"~/server/api/schemas/webhook"}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"getOrCreateCustomer","symbolKind":"function","exported":true,"metadata":{"line":17,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:stripe.customers.create",{"id":"external:stripe.customers.create","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripe.customers.create"}}],["external:db\n .update(users)\n .set({ stripeCustomerId: customer.id })\n .where",{"id":"external:db\n .update(users)\n .set({ stripeCustomerId: customer.id })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(users)\n .set({ stripeCustomerId: customer.id })\n .where"}}],["external:db\n .update(users)\n .set",{"id":"external:db\n .update(users)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(users)\n .set"}}],["external:db\n .update",{"id":"external:db\n .update","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update"}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createCheckoutSession",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createCheckoutSession","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"createCheckoutSession","symbolKind":"function","exported":true,"metadata":{"line":45,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["auth","user-input"]}}],["external:stripe.checkout.sessions.create",{"id":"external:stripe.checkout.sessions.create","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripe.checkout.sessions.create"}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createPortalSession",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createPortalSession","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"createPortalSession","symbolKind":"function","exported":true,"metadata":{"line":65,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["auth","user-input"]}}],["external:stripe.billingPortal.sessions.create",{"id":"external:stripe.billingPortal.sessions.create","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripe.billingPortal.sessions.create"}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"cancelSubscription","symbolKind":"function","exported":true,"metadata":{"line":74,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:stripe.subscriptions.update",{"id":"external:stripe.subscriptions.update","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripe.subscriptions.update"}}],["external:db\n .update(subscriptions)\n .set({ cancelAtPeriodEnd: true })\n .where",{"id":"external:db\n .update(subscriptions)\n .set({ cancelAtPeriodEnd: true })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(subscriptions)\n .set({ cancelAtPeriodEnd: true })\n .where"}}],["external:db\n .update(subscriptions)\n .set",{"id":"external:db\n .update(subscriptions)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(subscriptions)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"reactivateSubscription","symbolKind":"function","exported":true,"metadata":{"line":87,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(subscriptions)\n .set({ cancelAtPeriodEnd: false })\n .where",{"id":"external:db\n .update(subscriptions)\n .set({ cancelAtPeriodEnd: false })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(subscriptions)\n .set({ cancelAtPeriodEnd: false })\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:listInvoices",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:listInvoices","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"listInvoices","symbolKind":"function","exported":true,"metadata":{"line":100,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:stripe.invoices.list",{"id":"external:stripe.invoices.list","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripe.invoices.list"}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"updateSubscriptionInDB","symbolKind":"function","exported":true,"metadata":{"line":120,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:db\n .update(subscriptions)\n .set",{"id":"external:db\n .update(subscriptions)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(subscriptions)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseSubscription",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"safeParseSubscription","symbolKind":"function","exported":false,"metadata":{"line":148,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:result.issues?.map((i) => i.message).join",{"id":"external:result.issues?.map((i) => i.message).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.issues?.map((i) => i.message).join"}}],["external:result.issues?.map",{"id":"external:result.issues?.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.issues?.map"}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseCheckoutSession",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseCheckoutSession","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"safeParseCheckoutSession","symbolKind":"function","exported":false,"metadata":{"line":157,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseInvoice",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseInvoice","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"safeParseInvoice","symbolKind":"function","exported":false,"metadata":{"line":166,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"handleWebhookEvent","symbolKind":"function","exported":true,"metadata":{"line":175,"column":1,"cyclomaticComplexity":24,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:safeParseCheckoutSession",{"id":"symbol-name:safeParseCheckoutSession","kind":"symbol","language":"jsts","symbolName":"safeParseCheckoutSession","metadata":{"unresolvedName":"safeParseCheckoutSession"}}],["external:stripe.subscriptions.retrieve",{"id":"external:stripe.subscriptions.retrieve","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripe.subscriptions.retrieve"}}],["symbol-name:mapStripeProductToTier",{"id":"symbol-name:mapStripeProductToTier","kind":"symbol","language":"jsts","symbolName":"mapStripeProductToTier","metadata":{"unresolvedName":"mapStripeProductToTier"}}],["symbol-name:Boolean",{"id":"symbol-name:Boolean","kind":"symbol","language":"jsts","symbolName":"Boolean","metadata":{"unresolvedName":"Boolean"}}],["symbol-name:safeParseInvoice",{"id":"symbol-name:safeParseInvoice","kind":"symbol","language":"jsts","symbolName":"safeParseInvoice","metadata":{"unresolvedName":"safeParseInvoice"}}],["symbol-name:updateSubscriptionInDB",{"id":"symbol-name:updateSubscriptionInDB","kind":"symbol","language":"jsts","symbolName":"updateSubscriptionInDB","metadata":{"unresolvedName":"updateSubscriptionInDB"}}],["symbol-name:safeParseSubscription",{"id":"symbol-name:safeParseSubscription","kind":"symbol","language":"jsts","symbolName":"safeParseSubscription","metadata":{"unresolvedName":"safeParseSubscription"}}],["external:db\n .select()\n .from(subscriptions)\n .where",{"id":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:mapStripeProductToTier",{"id":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:mapStripeProductToTier","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","symbolName":"mapStripeProductToTier","symbolKind":"function","exported":true,"metadata":{"line":273,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","metadata":{"lineCount":258,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeSelectChain",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeSelectChain","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","symbolName":"makeSelectChain","symbolKind":"function","exported":false,"metadata":{"line":28,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:mockSelect.mockReturnValue",{"id":"external:mockSelect.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSelect.mockReturnValue"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","symbolName":"makeInsertChain","symbolKind":"function","exported":false,"metadata":{"line":36,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:mockInsert.mockReturnValue",{"id":"external:mockInsert.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockInsert.mockReturnValue"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","symbolName":"makeUpdateChain","symbolKind":"function","exported":false,"metadata":{"line":44,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:mockUpdate.mockReturnValue",{"id":"external:mockUpdate.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockUpdate.mockReturnValue"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":252,"column":49,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:expect(getHighestSeverity([])).toBe",{"id":"external:expect(getHighestSeverity([])).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getHighestSeverity([])).toBe"}}],["symbol-name:getHighestSeverity",{"id":"symbol-name:getHighestSeverity","kind":"symbol","language":"jsts","symbolName":"getHighestSeverity","metadata":{"unresolvedName":"getHighestSeverity"}}],["external:expect(getHighestSeverity([\"LOW\", \"HIGH\", \"INFO\"])).toBe",{"id":"external:expect(getHighestSeverity([\"LOW\", \"HIGH\", \"INFO\"])).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getHighestSeverity([\"LOW\", \"HIGH\", \"INFO\"])).toBe"}}],["external:expect(getHighestSeverity([\"INFO\", \"WARNING\", \"CRITICAL\"])).toBe",{"id":"external:expect(getHighestSeverity([\"INFO\", \"WARNING\", \"CRITICAL\"])).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getHighestSeverity([\"INFO\", \"WARNING\", \"CRITICAL\"])).toBe"}}],["external:expect(getHighestSeverity([\"MEDIUM\"])).toBe",{"id":"external:expect(getHighestSeverity([\"MEDIUM\"])).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getHighestSeverity([\"MEDIUM\"])).toBe"}}],["symbol-name:makeSelectChain",{"id":"symbol-name:makeSelectChain","kind":"symbol","language":"jsts","symbolName":"makeSelectChain","metadata":{"unresolvedName":"makeSelectChain"}}],["symbol-name:deduplicateAlerts",{"id":"symbol-name:deduplicateAlerts","kind":"symbol","language":"jsts","symbolName":"deduplicateAlerts","metadata":{"unresolvedName":"deduplicateAlerts"}}],["external:expect(result[0].sourceAlertId).toBe",{"id":"external:expect(result[0].sourceAlertId).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result[0].sourceAlertId).toBe"}}],["symbol-name:makeInsertChain",{"id":"symbol-name:makeInsertChain","kind":"symbol","language":"jsts","symbolName":"makeInsertChain","metadata":{"unresolvedName":"makeInsertChain"}}],["symbol-name:makeUpdateChain",{"id":"symbol-name:makeUpdateChain","kind":"symbol","language":"jsts","symbolName":"makeUpdateChain","metadata":{"unresolvedName":"makeUpdateChain"}}],["symbol-name:createCorrelationGroup",{"id":"symbol-name:createCorrelationGroup","kind":"symbol","language":"jsts","symbolName":"createCorrelationGroup","metadata":{"unresolvedName":"createCorrelationGroup"}}],["external:expect(group.id).toBe",{"id":"external:expect(group.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(group.id).toBe"}}],["external:expect(group.highestSeverity).toBe",{"id":"external:expect(group.highestSeverity).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(group.highestSeverity).toBe"}}],["external:expect(group.alertCount).toBe",{"id":"external:expect(group.alertCount).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(group.alertCount).toBe"}}],["symbol-name:updateGroupSeverity",{"id":"symbol-name:updateGroupSeverity","kind":"symbol","language":"jsts","symbolName":"updateGroupSeverity","metadata":{"unresolvedName":"updateGroupSeverity"}}],["external:expect(setCall).toHaveBeenCalledWith",{"id":"external:expect(setCall).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(setCall).toHaveBeenCalledWith"}}],["external:expect(mockUpdate).not.toHaveBeenCalled",{"id":"external:expect(mockUpdate).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockUpdate).not.toHaveBeenCalled"}}],["symbol-name:findRelatedAlerts",{"id":"symbol-name:findRelatedAlerts","kind":"symbol","language":"jsts","symbolName":"findRelatedAlerts","metadata":{"unresolvedName":"findRelatedAlerts"}}],["external:expect(result[0].id).toBe",{"id":"external:expect(result[0].id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result[0].id).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","metadata":{"lineCount":127,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","metadata":{"lineCount":149,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","symbolName":"getHighestSeverity","symbolKind":"function","exported":true,"metadata":{"line":16,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","symbolName":"findRelatedAlerts","symbolKind":"function","exported":true,"metadata":{"line":31,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(normalizedAlerts)\n .where",{"id":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}}],["symbol-name:not",{"id":"symbol-name:not","kind":"symbol","language":"jsts","symbolName":"not","metadata":{"unresolvedName":"not"}}],["external:alerts.filter",{"id":"external:alerts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"alerts.filter"}}],["symbol-name:entitiesOverlap",{"id":"symbol-name:entitiesOverlap","kind":"symbol","language":"jsts","symbolName":"entitiesOverlap","metadata":{"unresolvedName":"entitiesOverlap"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:entitiesOverlap",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:entitiesOverlap","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","symbolName":"entitiesOverlap","symbolKind":"function","exported":false,"metadata":{"line":54,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:aSet.has",{"id":"external:aSet.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"aSet.has"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","symbolName":"createCorrelationGroup","symbolKind":"function","exported":true,"metadata":{"line":62,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:alerts.map",{"id":"external:alerts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"alerts.map"}}],["external:db\n .insert(correlationGroups)\n .values",{"id":"external:db\n .insert(correlationGroups)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(correlationGroups)\n .values"}}],["external:db\n .update(normalizedAlerts)\n .set",{"id":"external:db\n .update(normalizedAlerts)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(normalizedAlerts)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","symbolName":"updateGroupSeverity","symbolKind":"function","exported":true,"metadata":{"line":93,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:groupAlerts.map",{"id":"external:groupAlerts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"groupAlerts.map"}}],["external:db\n .update(correlationGroups)\n .set",{"id":"external:db\n .update(correlationGroups)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(correlationGroups)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","symbolName":"deduplicateAlerts","symbolKind":"function","exported":true,"metadata":{"line":113,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:inputs.map",{"id":"external:inputs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputs.map"}}],["external:db\n .select({ sourceAlertId: normalizedAlerts.sourceAlertId })\n .from",{"id":"external:db\n .select({ sourceAlertId: normalizedAlerts.sourceAlertId })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ sourceAlertId: normalizedAlerts.sourceAlertId })\n .from"}}],["external:existing.map",{"id":"external:existing.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"existing.map"}}],["external:inputs.filter",{"id":"external:inputs.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputs.filter"}}],["external:existingSet.has",{"id":"external:existingSet.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"existingSet.has"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","metadata":{"lineCount":165,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":154,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:extractEntities",{"id":"symbol-name:extractEntities","kind":"symbol","language":"jsts","symbolName":"extractEntities","metadata":{"unresolvedName":"extractEntities"}}],["external:expect(result.emails).toContain",{"id":"external:expect(result.emails).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.emails).toContain"}}],["external:expect(result.phones.length).toBeGreaterThan",{"id":"external:expect(result.phones.length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.phones.length).toBeGreaterThan"}}],["external:expect(result.ssns).toContain",{"id":"external:expect(result.ssns).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.ssns).toContain"}}],["external:expect(result.emails).toEqual",{"id":"external:expect(result.emails).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.emails).toEqual"}}],["external:expect(result.phones).toEqual",{"id":"external:expect(result.phones).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.phones).toEqual"}}],["external:expect(result.ssns).toEqual",{"id":"external:expect(result.ssns).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.ssns).toEqual"}}],["symbol-name:normalizeDarkWatchAlert",{"id":"symbol-name:normalizeDarkWatchAlert","kind":"symbol","language":"jsts","symbolName":"normalizeDarkWatchAlert","metadata":{"unresolvedName":"normalizeDarkWatchAlert"}}],["external:expect(result.source).toBe",{"id":"external:expect(result.source).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.source).toBe"}}],["external:expect(result.sourceAlertId).toBe",{"id":"external:expect(result.sourceAlertId).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.sourceAlertId).toBe"}}],["external:expect(result.category).toBe",{"id":"external:expect(result.category).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.category).toBe"}}],["external:expect(result.severity).toBe",{"id":"external:expect(result.severity).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.severity).toBe"}}],["external:expect(result.entities.emails).toContain",{"id":"external:expect(result.entities.emails).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.entities.emails).toContain"}}],["symbol-name:normalizeSpamShieldAlert",{"id":"symbol-name:normalizeSpamShieldAlert","kind":"symbol","language":"jsts","symbolName":"normalizeSpamShieldAlert","metadata":{"unresolvedName":"normalizeSpamShieldAlert"}}],["symbol-name:normalizeVoicePrintAlert",{"id":"symbol-name:normalizeVoicePrintAlert","kind":"symbol","language":"jsts","symbolName":"normalizeVoicePrintAlert","metadata":{"unresolvedName":"normalizeVoicePrintAlert"}}],["symbol-name:normalizeHomeTitleAlert",{"id":"symbol-name:normalizeHomeTitleAlert","kind":"symbol","language":"jsts","symbolName":"normalizeHomeTitleAlert","metadata":{"unresolvedName":"normalizeHomeTitleAlert"}}],["external:expect(result.entities.emails.length).toBe",{"id":"external:expect(result.entities.emails.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.entities.emails.length).toBe"}}],["symbol-name:normalizeRemoveBrokersAlert",{"id":"symbol-name:normalizeRemoveBrokersAlert","kind":"symbol","language":"jsts","symbolName":"normalizeRemoveBrokersAlert","metadata":{"unresolvedName":"normalizeRemoveBrokersAlert"}}],["external:~/server/db/schema/enums",{"id":"external:~/server/db/schema/enums","kind":"external","language":"jsts","metadata":{"source":"~/server/db/schema/enums"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","symbolName":"extractEntities","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:text.match",{"id":"external:text.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.match"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:mapToNormalizedSeverity",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:mapToNormalizedSeverity","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","symbolName":"mapToNormalizedSeverity","symbolKind":"function","exported":false,"metadata":{"line":39,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeDarkWatchAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeDarkWatchAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","symbolName":"normalizeDarkWatchAlert","symbolKind":"function","exported":true,"metadata":{"line":52,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:mapToNormalizedSeverity",{"id":"symbol-name:mapToNormalizedSeverity","kind":"symbol","language":"jsts","symbolName":"mapToNormalizedSeverity","metadata":{"unresolvedName":"mapToNormalizedSeverity"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeSpamShieldAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeSpamShieldAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","symbolName":"normalizeSpamShieldAlert","symbolKind":"function","exported":true,"metadata":{"line":72,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeVoicePrintAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeVoicePrintAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","symbolName":"normalizeVoicePrintAlert","symbolKind":"function","exported":true,"metadata":{"line":93,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeHomeTitleAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeHomeTitleAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","symbolName":"normalizeHomeTitleAlert","symbolKind":"function","exported":true,"metadata":{"line":113,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeRemoveBrokersAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeRemoveBrokersAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","symbolName":"normalizeRemoveBrokersAlert","symbolKind":"function","exported":true,"metadata":{"line":132,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","metadata":{"lineCount":186,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":139,"column":61,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:getThreatScore",{"id":"symbol-name:getThreatScore","kind":"symbol","language":"jsts","symbolName":"getThreatScore","metadata":{"unresolvedName":"getThreatScore"}}],["external:expect(result.score).toBe",{"id":"external:expect(result.score).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.score).toBe"}}],["external:expect(result.breakdown).toEqual",{"id":"external:expect(result.breakdown).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.breakdown).toEqual"}}],["symbol-name:daysAgo",{"id":"symbol-name:daysAgo","kind":"symbol","language":"jsts","symbolName":"daysAgo","metadata":{"unresolvedName":"daysAgo"}}],["external:expect(result.score).toBeGreaterThan",{"id":"external:expect(result.score).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.score).toBeGreaterThan"}}],["external:expect(result.breakdown[0].source).toBe",{"id":"external:expect(result.breakdown[0].source).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.breakdown[0].source).toBe"}}],["symbol-name:getScore",{"id":"symbol-name:getScore","kind":"symbol","language":"jsts","symbolName":"getScore","metadata":{"unresolvedName":"getScore"}}],["external:expect(highResult.score).toBeGreaterThan",{"id":"external:expect(highResult.score).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(highResult.score).toBeGreaterThan"}}],["external:expect(result.breakdown.length).toBeGreaterThanOrEqual",{"id":"external:expect(result.breakdown.length).toBeGreaterThanOrEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.breakdown.length).toBeGreaterThanOrEqual"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:makeSelectChain",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:makeSelectChain","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","symbolName":"makeSelectChain","symbolKind":"function","exported":false,"metadata":{"line":26,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:daysAgo",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:daysAgo","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","symbolName":"daysAgo","symbolKind":"function","exported":false,"metadata":{"line":32,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:mockSelect.mockReturnValueOnce",{"id":"external:mockSelect.mockReturnValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSelect.mockReturnValueOnce"}}],["symbol-name:getAlertTimeline",{"id":"symbol-name:getAlertTimeline","kind":"symbol","language":"jsts","symbolName":"getAlertTimeline","metadata":{"unresolvedName":"getAlertTimeline"}}],["external:expect(result.page).toBe",{"id":"external:expect(result.page).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.page).toBe"}}],["external:expect(result.limit).toBe",{"id":"external:expect(result.limit).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.limit).toBe"}}],["external:mockInsert.mockReturnValueOnce",{"id":"external:mockInsert.mockReturnValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockInsert.mockReturnValueOnce"}}],["external:mockUpdate.mockReturnValueOnce",{"id":"external:mockUpdate.mockReturnValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockUpdate.mockReturnValueOnce"}}],["symbol-name:resolveAlert",{"id":"symbol-name:resolveAlert","kind":"symbol","language":"jsts","symbolName":"resolveAlert","metadata":{"unresolvedName":"resolveAlert"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","metadata":{"lineCount":473,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"ensureGroupForAlert","symbolKind":"function","exported":false,"metadata":{"line":22,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(normalizedAlerts)\n .set({ groupId: group.id })\n .where",{"id":"external:db\n .update(normalizedAlerts)\n .set({ groupId: group.id })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(normalizedAlerts)\n .set({ groupId: group.id })\n .where"}}],["external:db\n .update(normalizedAlerts)\n .set",{"id":"external:db\n .update(normalizedAlerts)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(normalizedAlerts)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:normalizeAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:normalizeAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"normalizeAlert","symbolKind":"function","exported":true,"metadata":{"line":52,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .insert(normalizedAlerts)\n .values",{"id":"external:db\n .insert(normalizedAlerts)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(normalizedAlerts)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"correlateAlerts","symbolKind":"function","exported":true,"metadata":{"line":87,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:grouped.has",{"id":"external:grouped.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"grouped.has"}}],["external:grouped.add",{"id":"external:grouped.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"grouped.add"}}],["external:groupAlerts.find",{"id":"external:groupAlerts.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"groupAlerts.find"}}],["external:groupAlerts.filter",{"id":"external:groupAlerts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"groupAlerts.filter"}}],["external:ungrouped.map",{"id":"external:ungrouped.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"ungrouped.map"}}],["external:db\n .update(normalizedAlerts)\n .set",{"id":"external:db\n .update(normalizedAlerts)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(normalizedAlerts)\n .set"}}],["external:db\n .update",{"id":"external:db\n .update","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update"}}],["symbol-name:mergeEntities",{"id":"symbol-name:mergeEntities","kind":"symbol","language":"jsts","symbolName":"mergeEntities","metadata":{"unresolvedName":"mergeEntities"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":105,"column":35,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:entitiesOverlap",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:entitiesOverlap","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"entitiesOverlap","symbolKind":"function","exported":false,"metadata":{"line":135,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:mergeEntities",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:mergeEntities","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"mergeEntities","symbolKind":"function","exported":false,"metadata":{"line":143,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:entitySets.flatMap",{"id":"external:entitySets.flatMap","kind":"external","language":"jsts","metadata":{"unresolvedName":"entitySets.flatMap"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"getAlertTimeline","symbolKind":"function","exported":true,"metadata":{"line":158,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select({ count: count() })\n .from",{"id":"external:db\n .select({ count: count() })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}}],["external:db\n .select()\n .from(normalizedAlerts)\n .leftJoin",{"id":"external:db\n .select()\n .from(normalizedAlerts)\n .leftJoin","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .leftJoin"}}],["external:rows.map",{"id":"external:rows.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"rows.map"}}],["external:db\n .select({ count: count() })\n .from(normalizedAlerts)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(normalizedAlerts)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(normalizedAlerts)\n .where"}}],["external:db\n .select({ count: count() })\n .from",{"id":"external:db\n .select({ count: count() })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"getAlertDetails","symbolKind":"function","exported":true,"metadata":{"line":252,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(correlationGroups)\n .where",{"id":"external:db\n .select()\n .from(correlationGroups)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(correlationGroups)\n .where"}}],["external:db\n .select()\n .from(normalizedAlerts)\n .where",{"id":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"getCorrelationGroups","symbolKind":"function","exported":true,"metadata":{"line":286,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select({ count: count() })\n .from(correlationGroups)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(correlationGroups)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(correlationGroups)\n .where"}}],["external:db\n .select()\n .from(correlationGroups)\n .where",{"id":"external:db\n .select()\n .from(correlationGroups)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(correlationGroups)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"getCorrelationGroupDetails","symbolKind":"function","exported":true,"metadata":{"line":321,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"resolveAlert","symbolKind":"function","exported":true,"metadata":{"line":339,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:ensureGroupForAlert",{"id":"symbol-name:ensureGroupForAlert","kind":"symbol","language":"jsts","symbolName":"ensureGroupForAlert","metadata":{"unresolvedName":"ensureGroupForAlert"}}],["external:db\n .insert(auditLogs)\n .values",{"id":"external:db\n .insert(auditLogs)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(auditLogs)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"getThreatScore","symbolKind":"function","exported":true,"metadata":{"line":371,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:alert.createdAt.getTime",{"id":"external:alert.createdAt.getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"alert.createdAt.getTime"}}],["external:Math.exp",{"id":"external:Math.exp","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.exp"}}],["external:Object.entries(sourceScores).map",{"id":"external:Object.entries(sourceScores).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(sourceScores).map"}}],["/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats",{"id":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","symbolName":"getAlertStats","symbolKind":"function","exported":true,"metadata":{"line":410,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select({ source: normalizedAlerts.source, count: count() })\n .from",{"id":"external:db\n .select({ source: normalizedAlerts.source, count: count() })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ source: normalizedAlerts.source, count: count() })\n .from"}}],["external:Object.fromEntries",{"id":"external:Object.fromEntries","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.fromEntries"}}],["external:bySeverity.map",{"id":"external:bySeverity.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"bySeverity.map"}}],["external:bySource.map",{"id":"external:bySource.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"bySource.map"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","metadata":{"lineCount":133,"featureKind":"service","trustBoundaries":[]}}],["external:~/server/services/alert.publisher",{"id":"external:~/server/services/alert.publisher","kind":"external","language":"jsts","metadata":{"source":"~/server/services/alert.publisher"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","symbolName":"severityScore","symbolKind":"function","exported":true,"metadata":{"line":6,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:criticalSources.has",{"id":"external:criticalSources.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"criticalSources.has"}}],["external:criticalTypes.has",{"id":"external:criticalTypes.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"criticalTypes.has"}}],["external:warningSources.has",{"id":"external:warningSources.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"warningSources.has"}}],["external:warningTypes.has",{"id":"external:warningTypes.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"warningTypes.has"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","symbolName":"processExposure","symbolKind":"function","exported":true,"metadata":{"line":24,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(exposures)\n .where",{"id":"external:db\n .select()\n .from(exposures)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(exposures)\n .where"}}],["external:[\"info\", \"warning\", \"critical\"].indexOf",{"id":"external:[\"info\", \"warning\", \"critical\"].indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"[\"info\", \"warning\", \"critical\"].indexOf"}}],["external:db\n .update(exposures)\n .set",{"id":"external:db\n .update(exposures)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(exposures)\n .set"}}],["symbol-name:createAlertForExposure",{"id":"symbol-name:createAlertForExposure","kind":"symbol","language":"jsts","symbolName":"createAlertForExposure","metadata":{"unresolvedName":"createAlertForExposure"}}],["external:db\n .insert(exposures)\n .values",{"id":"external:db\n .insert(exposures)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(exposures)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","symbolName":"createAlertForExposure","symbolKind":"function","exported":false,"metadata":{"line":88,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .insert(alerts)\n .values",{"id":"external:db\n .insert(alerts)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(alerts)\n .values"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","metadata":{"lineCount":25,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":21,"column":48,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:expect(severityScore({ source: \"hibp\", dataType: \"email\" })).toBe",{"id":"external:expect(severityScore({ source: \"hibp\", dataType: \"email\" })).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(severityScore({ source: \"hibp\", dataType: \"email\" })).toBe"}}],["symbol-name:severityScore",{"id":"symbol-name:severityScore","kind":"symbol","language":"jsts","symbolName":"severityScore","metadata":{"unresolvedName":"severityScore"}}],["external:expect(severityScore({ source: \"darkWebForum\", dataType: \"ssn\" })).toBe",{"id":"external:expect(severityScore({ source: \"darkWebForum\", dataType: \"ssn\" })).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(severityScore({ source: \"darkWebForum\", dataType: \"ssn\" })).toBe"}}],["external:expect(severityScore({ source: \"shodan\", dataType: \"domain\" })).toBe",{"id":"external:expect(severityScore({ source: \"shodan\", dataType: \"domain\" })).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(severityScore({ source: \"shodan\", dataType: \"domain\" })).toBe"}}],["external:expect(severityScore({ source: \"securityTrails\", dataType: \"email\" })).toBe",{"id":"external:expect(severityScore({ source: \"securityTrails\", dataType: \"email\" })).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(severityScore({ source: \"securityTrails\", dataType: \"email\" })).toBe"}}],["external:expect(severityScore({ source: \"securityTrails\", dataType: \"domain\" })).toBe",{"id":"external:expect(severityScore({ source: \"securityTrails\", dataType: \"domain\" })).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(severityScore({ source: \"securityTrails\", dataType: \"domain\" })).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","metadata":{"lineCount":189,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:isCircuitOpen",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:isCircuitOpen","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","symbolName":"isCircuitOpen","symbolKind":"function","exported":false,"metadata":{"line":23,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:circuits.get",{"id":"external:circuits.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"circuits.get"}}],["external:circuits.delete",{"id":"external:circuits.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"circuits.delete"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordFailure",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordFailure","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","symbolName":"recordFailure","symbolKind":"function","exported":false,"metadata":{"line":34,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:circuits.set",{"id":"external:circuits.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"circuits.set"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordSuccess",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordSuccess","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","symbolName":"recordSuccess","symbolKind":"function","exported":false,"metadata":{"line":44,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","symbolName":"fetchWithCircuit","symbolKind":"function","exported":false,"metadata":{"line":48,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:isCircuitOpen",{"id":"symbol-name:isCircuitOpen","kind":"symbol","language":"jsts","symbolName":"isCircuitOpen","metadata":{"unresolvedName":"isCircuitOpen"}}],["external:AbortSignal.timeout",{"id":"external:AbortSignal.timeout","kind":"external","language":"jsts","metadata":{"unresolvedName":"AbortSignal.timeout"}}],["symbol-name:recordFailure",{"id":"symbol-name:recordFailure","kind":"symbol","language":"jsts","symbolName":"recordFailure","metadata":{"unresolvedName":"recordFailure"}}],["symbol-name:recordSuccess",{"id":"symbol-name:recordSuccess","kind":"symbol","language":"jsts","symbolName":"recordSuccess","metadata":{"unresolvedName":"recordSuccess"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:hashValue",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:hashValue","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","symbolName":"hashValue","symbolKind":"function","exported":false,"metadata":{"line":69,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:createHash(\"sha256\").update(value.toLowerCase().trim()).digest",{"id":"external:createHash(\"sha256\").update(value.toLowerCase().trim()).digest","kind":"external","language":"jsts","metadata":{"unresolvedName":"createHash(\"sha256\").update(value.toLowerCase().trim()).digest"}}],["external:createHash(\"sha256\").update",{"id":"external:createHash(\"sha256\").update","kind":"external","language":"jsts","metadata":{"unresolvedName":"createHash(\"sha256\").update"}}],["symbol-name:createHash",{"id":"symbol-name:createHash","kind":"symbol","language":"jsts","symbolName":"createHash","metadata":{"unresolvedName":"createHash"}}],["external:value.toLowerCase().trim",{"id":"external:value.toLowerCase().trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.toLowerCase().trim"}}],["external:value.toLowerCase",{"id":"external:value.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.toLowerCase"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","symbolName":"scanHIBP","symbolKind":"function","exported":true,"metadata":{"line":73,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:fetchWithCircuit",{"id":"symbol-name:fetchWithCircuit","kind":"symbol","language":"jsts","symbolName":"fetchWithCircuit","metadata":{"unresolvedName":"fetchWithCircuit"}}],["external:res.json",{"id":"external:res.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"res.json"}}],["external:breaches.map",{"id":"external:breaches.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"breaches.map"}}],["symbol-name:hashValue",{"id":"symbol-name:hashValue","kind":"symbol","language":"jsts","symbolName":"hashValue","metadata":{"unresolvedName":"hashValue"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","symbolName":"scanSecurityTrails","symbolKind":"function","exported":true,"metadata":{"line":97,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:identifier.includes",{"id":"external:identifier.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"identifier.includes"}}],["external:identifier.split",{"id":"external:identifier.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"identifier.split"}}],["external:(data.subdomains ?? []).slice(0, 20).map",{"id":"external:(data.subdomains ?? []).slice(0, 20).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(data.subdomains ?? []).slice(0, 20).map"}}],["external:(data.subdomains ?? []).slice",{"id":"external:(data.subdomains ?? []).slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"(data.subdomains ?? []).slice"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","symbolName":"scanCensys","symbolKind":"function","exported":true,"metadata":{"line":122,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:hits.map",{"id":"external:hits.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"hits.map"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","symbolName":"scanShodan","symbolKind":"function","exported":true,"metadata":{"line":147,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:matches.map",{"id":"external:matches.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"matches.map"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanForums",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanForums","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","symbolName":"scanForums","symbolKind":"function","exported":true,"metadata":{"line":172,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","metadata":{"lineCount":139,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":128,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:mockCountSelectFromWhere",{"id":"symbol-name:mockCountSelectFromWhere","kind":"symbol","language":"jsts","symbolName":"mockCountSelectFromWhere","metadata":{"unresolvedName":"mockCountSelectFromWhere"}}],["external:mockSelectFromWhereLimit.mockResolvedValue",{"id":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}}],["external:mockSubFindFirst.mockResolvedValue",{"id":"external:mockSubFindFirst.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}}],["symbol-name:checkTierLimits",{"id":"symbol-name:checkTierLimits","kind":"symbol","language":"jsts","symbolName":"checkTierLimits","metadata":{"unresolvedName":"checkTierLimits"}}],["external:expect(result.allowed).toBe",{"id":"external:expect(result.allowed).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.allowed).toBe"}}],["external:mockCountSelectFromWhere.mockResolvedValue",{"id":"external:mockCountSelectFromWhere.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCountSelectFromWhere.mockResolvedValue"}}],["external:mockSelectFromWhereLimit\n .mockResolvedValueOnce",{"id":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}}],["external:mockInsertValuesReturning.mockResolvedValue",{"id":"external:mockInsertValuesReturning.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockInsertValuesReturning.mockResolvedValue"}}],["symbol-name:addWatchlistItem",{"id":"symbol-name:addWatchlistItem","kind":"symbol","language":"jsts","symbolName":"addWatchlistItem","metadata":{"unresolvedName":"addWatchlistItem"}}],["external:expect(result.type).toBe",{"id":"external:expect(result.type).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.type).toBe"}}],["external:expect(result.value).toBe",{"id":"external:expect(result.value).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.value).toBe"}}],["external:expect(removeWatchlistItem(\"user-1\", \"nonexistent\")).rejects.toThrow",{"id":"external:expect(removeWatchlistItem(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(removeWatchlistItem(\"user-1\", \"nonexistent\")).rejects.toThrow"}}],["external:mockSelectFromWhereOrderByLimitOffset.mockResolvedValue",{"id":"external:mockSelectFromWhereOrderByLimitOffset.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSelectFromWhereOrderByLimitOffset.mockResolvedValue"}}],["symbol-name:getExposures",{"id":"symbol-name:getExposures","kind":"symbol","language":"jsts","symbolName":"getExposures","metadata":{"unresolvedName":"getExposures"}}],["external:expect(result.items).toEqual",{"id":"external:expect(result.items).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.items).toEqual"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","metadata":{"lineCount":381,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:hashValue",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:hashValue","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"hashValue","symbolKind":"function","exported":false,"metadata":{"line":26,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"getSubscription","symbolKind":"function","exported":false,"metadata":{"line":30,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"getWatchlistItems","symbolKind":"function","exported":true,"metadata":{"line":54,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:getSubscription",{"id":"symbol-name:getSubscription","kind":"symbol","language":"jsts","symbolName":"getSubscription","metadata":{"unresolvedName":"getSubscription"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"addWatchlistItem","symbolKind":"function","exported":true,"metadata":{"line":64,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(watchlistItems)\n .set",{"id":"external:db\n .update(watchlistItems)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(watchlistItems)\n .set"}}],["external:db\n .insert(watchlistItems)\n .values",{"id":"external:db\n .insert(watchlistItems)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(watchlistItems)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"removeWatchlistItem","symbolKind":"function","exported":true,"metadata":{"line":104,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(watchlistItems)\n .set",{"id":"external:db\n .update(watchlistItems)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(watchlistItems)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"getExposures","symbolKind":"function","exported":true,"metadata":{"line":124,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select({ count: count() })\n .from(exposures)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(exposures)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(exposures)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"getExposureDetails","symbolKind":"function","exported":true,"metadata":{"line":168,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(watchlistItems)\n .where",{"id":"external:db\n .select()\n .from(watchlistItems)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(watchlistItems)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"checkTierLimits","symbolKind":"function","exported":true,"metadata":{"line":192,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"runScan","symbolKind":"function","exported":true,"metadata":{"line":231,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:scanStates.get",{"id":"external:scanStates.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"scanStates.get"}}],["external:scanStates.set",{"id":"external:scanStates.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"scanStates.set"}}],["external:processScan(userId, sub.id, items).catch",{"id":"external:processScan(userId, sub.id, items).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"processScan(userId, sub.id, items).catch"}}],["symbol-name:processScan",{"id":"symbol-name:processScan","kind":"symbol","language":"jsts","symbolName":"processScan","metadata":{"unresolvedName":"processScan"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":258,"column":44,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"processScan","symbolKind":"function","exported":false,"metadata":{"line":270,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:sourcePromises.push",{"id":"external:sourcePromises.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"sourcePromises.push"}}],["symbol-name:scanHIBP",{"id":"symbol-name:scanHIBP","kind":"symbol","language":"jsts","symbolName":"scanHIBP","metadata":{"unresolvedName":"scanHIBP"}}],["symbol-name:scanSecurityTrails",{"id":"symbol-name:scanSecurityTrails","kind":"symbol","language":"jsts","symbolName":"scanSecurityTrails","metadata":{"unresolvedName":"scanSecurityTrails"}}],["symbol-name:scanCensys",{"id":"symbol-name:scanCensys","kind":"symbol","language":"jsts","symbolName":"scanCensys","metadata":{"unresolvedName":"scanCensys"}}],["symbol-name:scanShodan",{"id":"symbol-name:scanShodan","kind":"symbol","language":"jsts","symbolName":"scanShodan","metadata":{"unresolvedName":"scanShodan"}}],["symbol-name:scanForums",{"id":"symbol-name:scanForums","kind":"symbol","language":"jsts","symbolName":"scanForums","metadata":{"unresolvedName":"scanForums"}}],["external:allResults.push",{"id":"external:allResults.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"allResults.push"}}],["external:r.value.map",{"id":"external:r.value.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"r.value.map"}}],["symbol-name:processExposure",{"id":"symbol-name:processExposure","kind":"symbol","language":"jsts","symbolName":"processExposure","metadata":{"unresolvedName":"processExposure"}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getScanStatus",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getScanStatus","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"getScanStatus","symbolKind":"function","exported":true,"metadata":{"line":337,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports",{"id":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","symbolName":"getReports","symbolKind":"function","exported":true,"metadata":{"line":351,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:db\n .select({ count: count() })\n .from(securityReports)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(securityReports)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(securityReports)\n .where"}}],["external:db\n .select()\n .from(securityReports)\n .where",{"id":"external:db\n .select()\n .from(securityReports)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(securityReports)\n .where"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","metadata":{"lineCount":67,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","metadata":{"lineCount":168,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":58,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:welcomeEmail",{"id":"symbol-name:welcomeEmail","kind":"symbol","language":"jsts","symbolName":"welcomeEmail","metadata":{"unresolvedName":"welcomeEmail"}}],["external:expect(result.subject).toContain",{"id":"external:expect(result.subject).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.subject).toContain"}}],["external:expect(result.html).toContain",{"id":"external:expect(result.html).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.html).toContain"}}],["external:expect(result.text).toContain",{"id":"external:expect(result.text).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.text).toContain"}}],["symbol-name:alertNotificationEmail",{"id":"symbol-name:alertNotificationEmail","kind":"symbol","language":"jsts","symbolName":"alertNotificationEmail","metadata":{"unresolvedName":"alertNotificationEmail"}}],["external:expect(infoResult.subject).toContain",{"id":"external:expect(infoResult.subject).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(infoResult.subject).toContain"}}],["external:expect(warnResult.subject).toContain",{"id":"external:expect(warnResult.subject).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(warnResult.subject).toContain"}}],["symbol-name:passwordResetEmail",{"id":"symbol-name:passwordResetEmail","kind":"symbol","language":"jsts","symbolName":"passwordResetEmail","metadata":{"unresolvedName":"passwordResetEmail"}}],["symbol-name:familyInviteEmail",{"id":"symbol-name:familyInviteEmail","kind":"symbol","language":"jsts","symbolName":"familyInviteEmail","metadata":{"unresolvedName":"familyInviteEmail"}}],["symbol-name:billingReceiptEmail",{"id":"symbol-name:billingReceiptEmail","kind":"symbol","language":"jsts","symbolName":"billingReceiptEmail","metadata":{"unresolvedName":"billingReceiptEmail"}}],["/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedWrapper",{"id":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedWrapper","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","symbolName":"brandedWrapper","symbolKind":"function","exported":false,"metadata":{"line":1,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedText",{"id":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedText","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","symbolName":"brandedText","symbolKind":"function","exported":false,"metadata":{"line":35,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:welcomeEmail",{"id":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:welcomeEmail","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","symbolName":"welcomeEmail","symbolKind":"function","exported":true,"metadata":{"line":45,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:brandedWrapper",{"id":"symbol-name:brandedWrapper","kind":"symbol","language":"jsts","symbolName":"brandedWrapper","metadata":{"unresolvedName":"brandedWrapper"}}],["symbol-name:brandedText",{"id":"symbol-name:brandedText","kind":"symbol","language":"jsts","symbolName":"brandedText","metadata":{"unresolvedName":"brandedText"}}],["/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:alertNotificationEmail",{"id":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:alertNotificationEmail","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","symbolName":"alertNotificationEmail","symbolKind":"function","exported":true,"metadata":{"line":61,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:severity.toUpperCase",{"id":"external:severity.toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"severity.toUpperCase"}}],["/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:passwordResetEmail",{"id":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:passwordResetEmail","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","symbolName":"passwordResetEmail","symbolKind":"function","exported":true,"metadata":{"line":84,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:familyInviteEmail",{"id":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:familyInviteEmail","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","symbolName":"familyInviteEmail","symbolKind":"function","exported":true,"metadata":{"line":105,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:billingReceiptEmail",{"id":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:billingReceiptEmail","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","symbolName":"billingReceiptEmail","symbolKind":"function","exported":true,"metadata":{"line":130,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","metadata":{"lineCount":267,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":258,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:cb",{"id":"symbol-name:cb","kind":"symbol","language":"jsts","symbolName":"cb","metadata":{"unresolvedName":"cb"}}],["external:mockMemberFindFirst.mockResolvedValue",{"id":"external:mockMemberFindFirst.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockMemberFindFirst.mockResolvedValue"}}],["external:expect(result.members).toHaveLength",{"id":"external:expect(result.members).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.members).toHaveLength"}}],["external:expect(result.owner.id).toBe",{"id":"external:expect(result.owner.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.owner.id).toBe"}}],["external:expect(getFamilyGroup(\"nonexistent\")).rejects.toThrow",{"id":"external:expect(getFamilyGroup(\"nonexistent\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getFamilyGroup(\"nonexistent\")).rejects.toThrow"}}],["external:mockInviteFindFirst.mockResolvedValue",{"id":"external:mockInviteFindFirst.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockInviteFindFirst.mockResolvedValue"}}],["external:mockUserFindFirst.mockResolvedValue",{"id":"external:mockUserFindFirst.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockUserFindFirst.mockResolvedValue"}}],["external:mockInsertReturning.mockResolvedValue",{"id":"external:mockInsertReturning.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockInsertReturning.mockResolvedValue"}}],["external:expect(result.email).toBe",{"id":"external:expect(result.email).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.email).toBe"}}],["external:mockMemberFindFirst\n .mockResolvedValueOnce",{"id":"external:mockMemberFindFirst\n .mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockMemberFindFirst\n .mockResolvedValueOnce"}}],["external:mockDeleteWhere.mockResolvedValue",{"id":"external:mockDeleteWhere.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDeleteWhere.mockResolvedValue"}}],["external:mockUpdateSetWhereReturning.mockResolvedValue",{"id":"external:mockUpdateSetWhereReturning.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockUpdateSetWhereReturning.mockResolvedValue"}}],["external:expect(result.role).toBe",{"id":"external:expect(result.role).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.role).toBe"}}],["external:mockGroupFindFirst.mockResolvedValue",{"id":"external:mockGroupFindFirst.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGroupFindFirst.mockResolvedValue"}}],["symbol-name:transferOwnership",{"id":"symbol-name:transferOwnership","kind":"symbol","language":"jsts","symbolName":"transferOwnership","metadata":{"unresolvedName":"transferOwnership"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","metadata":{"lineCount":250,"featureKind":"service","trustBoundaries":[]}}],["external:~/server/db/schema/invitation",{"id":"external:~/server/db/schema/invitation","kind":"external","language":"jsts","metadata":{"source":"~/server/db/schema/invitation"}}],["/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup",{"id":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","symbolName":"getFamilyGroup","symbolKind":"function","exported":true,"metadata":{"line":8,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db.query.familyGroupMembers.findFirst",{"id":"external:db.query.familyGroupMembers.findFirst","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.query.familyGroupMembers.findFirst"}}],["/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:createFamilyGroup",{"id":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:createFamilyGroup","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","symbolName":"createFamilyGroup","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .insert(familyGroups)\n .values({ name, ownerId })\n .returning",{"id":"external:db\n .insert(familyGroups)\n .values({ name, ownerId })\n .returning","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(familyGroups)\n .values({ name, ownerId })\n .returning"}}],["external:db\n .insert(familyGroups)\n .values",{"id":"external:db\n .insert(familyGroups)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(familyGroups)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroupWithMembers",{"id":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroupWithMembers","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","symbolName":"getFamilyGroupWithMembers","symbolKind":"function","exported":true,"metadata":{"line":47,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db.query.familyGroups.findFirst",{"id":"external:db.query.familyGroups.findFirst","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.query.familyGroups.findFirst"}}],["/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember",{"id":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","symbolName":"inviteMember","symbolKind":"function","exported":true,"metadata":{"line":67,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db.query.invitations.findFirst",{"id":"external:db.query.invitations.findFirst","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.query.invitations.findFirst"}}],["external:db.query.users.findFirst",{"id":"external:db.query.users.findFirst","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.query.users.findFirst"}}],["external:expiresAt.setDate",{"id":"external:expiresAt.setDate","kind":"external","language":"jsts","metadata":{"unresolvedName":"expiresAt.setDate"}}],["external:expiresAt.getDate",{"id":"external:expiresAt.getDate","kind":"external","language":"jsts","metadata":{"unresolvedName":"expiresAt.getDate"}}],["external:db\n .insert(invitations)\n .values",{"id":"external:db\n .insert(invitations)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(invitations)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember",{"id":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","symbolName":"removeMember","symbolKind":"function","exported":true,"metadata":{"line":125,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .delete(familyGroupMembers)\n .where",{"id":"external:db\n .delete(familyGroupMembers)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .delete(familyGroupMembers)\n .where"}}],["external:db\n .delete",{"id":"external:db\n .delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .delete"}}],["/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole",{"id":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","symbolName":"updateMemberRole","symbolKind":"function","exported":true,"metadata":{"line":163,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(familyGroupMembers)\n .set({ role })\n .where",{"id":"external:db\n .update(familyGroupMembers)\n .set({ role })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(familyGroupMembers)\n .set({ role })\n .where"}}],["external:db\n .update(familyGroupMembers)\n .set",{"id":"external:db\n .update(familyGroupMembers)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(familyGroupMembers)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership",{"id":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","symbolName":"transferOwnership","symbolKind":"function","exported":true,"metadata":{"line":203,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db.transaction",{"id":"external:db.transaction","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.transaction"}}],["external:tx\n .update(familyGroupMembers)\n .set({ role: \"admin\" })\n .where",{"id":"external:tx\n .update(familyGroupMembers)\n .set({ role: \"admin\" })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"tx\n .update(familyGroupMembers)\n .set({ role: \"admin\" })\n .where"}}],["external:tx\n .update(familyGroupMembers)\n .set",{"id":"external:tx\n .update(familyGroupMembers)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"tx\n .update(familyGroupMembers)\n .set"}}],["external:tx\n .update",{"id":"external:tx\n .update","kind":"external","language":"jsts","metadata":{"unresolvedName":"tx\n .update"}}],["external:tx\n .update(familyGroupMembers)\n .set({ role: \"owner\" })\n .where",{"id":"external:tx\n .update(familyGroupMembers)\n .set({ role: \"owner\" })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"tx\n .update(familyGroupMembers)\n .set({ role: \"owner\" })\n .where"}}],["external:tx\n .update(familyGroups)\n .set({ ownerId: newOwnerId })\n .where",{"id":"external:tx\n .update(familyGroups)\n .set({ ownerId: newOwnerId })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"tx\n .update(familyGroups)\n .set({ ownerId: newOwnerId })\n .where"}}],["external:tx\n .update(familyGroups)\n .set",{"id":"external:tx\n .update(familyGroups)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"tx\n .update(familyGroups)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":230,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","metadata":{"lineCount":140,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:levenshteinDistance",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:levenshteinDistance","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","symbolName":"levenshteinDistance","symbolKind":"function","exported":false,"metadata":{"line":1,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","symbolName":"fuzzyMatchNames","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:name1.toLowerCase().trim",{"id":"external:name1.toLowerCase().trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"name1.toLowerCase().trim"}}],["external:name1.toLowerCase",{"id":"external:name1.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"name1.toLowerCase"}}],["external:name2.toLowerCase().trim",{"id":"external:name2.toLowerCase().trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"name2.toLowerCase().trim"}}],["external:name2.toLowerCase",{"id":"external:name2.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"name2.toLowerCase"}}],["symbol-name:levenshteinDistance",{"id":"symbol-name:levenshteinDistance","kind":"symbol","language":"jsts","symbolName":"levenshteinDistance","metadata":{"unresolvedName":"levenshteinDistance"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:severityForChange",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:severityForChange","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","symbolName":"severityForChange","symbolKind":"function","exported":true,"metadata":{"line":54,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:Math.abs",{"id":"external:Math.abs","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.abs"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:detectChanges",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:detectChanges","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","symbolName":"detectChanges","symbolKind":"function","exported":true,"metadata":{"line":69,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:fuzzyMatchNames",{"id":"symbol-name:fuzzyMatchNames","kind":"symbol","language":"jsts","symbolName":"fuzzyMatchNames","metadata":{"unresolvedName":"fuzzyMatchNames"}}],["external:changes.push",{"id":"external:changes.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"changes.push"}}],["symbol-name:severityForChange",{"id":"symbol-name:severityForChange","kind":"symbol","language":"jsts","symbolName":"severityForChange","metadata":{"unresolvedName":"severityForChange"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","metadata":{"lineCount":100,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:fetchCountyRecords",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:fetchCountyRecords","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","symbolName":"fetchCountyRecords","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseDeedRecords",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseDeedRecords","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","symbolName":"parseDeedRecords","symbolKind":"function","exported":true,"metadata":{"line":33,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","symbolName":"geocodeAddress","symbolKind":"function","exported":true,"metadata":{"line":38,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","symbolName":"getLastSnapshot","symbolKind":"function","exported":true,"metadata":{"line":65,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(propertySnapshots)\n .where",{"id":"external:db\n .select()\n .from(propertySnapshots)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(propertySnapshots)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseAddress",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseAddress","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","symbolName":"parseAddress","symbolKind":"function","exported":true,"metadata":{"line":79,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:address.split(\",\").map",{"id":"external:address.split(\",\").map","kind":"external","language":"jsts","metadata":{"unresolvedName":"address.split(\",\").map"}}],["external:address.split",{"id":"external:address.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"address.split"}}],["external:p.trim",{"id":"external:p.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"p.trim"}}],["external:lastPart.split(\" \").filter",{"id":"external:lastPart.split(\" \").filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"lastPart.split(\" \").filter"}}],["external:lastPart.split",{"id":"external:lastPart.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"lastPart.split"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","metadata":{"lineCount":510,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"getSubscription","symbolKind":"function","exported":false,"metadata":{"line":31,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"getProperties","symbolKind":"function","exported":true,"metadata":{"line":55,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:hasFeatureAccess",{"id":"symbol-name:hasFeatureAccess","kind":"symbol","language":"jsts","symbolName":"hasFeatureAccess","metadata":{"unresolvedName":"hasFeatureAccess"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"addProperty","symbolKind":"function","exported":true,"metadata":{"line":73,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:parseAddress",{"id":"symbol-name:parseAddress","kind":"symbol","language":"jsts","symbolName":"parseAddress","metadata":{"unresolvedName":"parseAddress"}}],["symbol-name:geocodeAddress",{"id":"symbol-name:geocodeAddress","kind":"symbol","language":"jsts","symbolName":"geocodeAddress","metadata":{"unresolvedName":"geocodeAddress"}}],["external:db\n .insert(propertyWatchlistItems)\n .values",{"id":"external:db\n .insert(propertyWatchlistItems)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(propertyWatchlistItems)\n .values"}}],["external:db.insert(propertySnapshots).values",{"id":"external:db.insert(propertySnapshots).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(propertySnapshots).values"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"removeProperty","symbolKind":"function","exported":true,"metadata":{"line":119,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(propertyWatchlistItems)\n .set",{"id":"external:db\n .update(propertyWatchlistItems)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(propertyWatchlistItems)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"getSnapshots","symbolKind":"function","exported":true,"metadata":{"line":149,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"getChanges","symbolKind":"function","exported":true,"metadata":{"line":179,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(propertyChanges)\n .where",{"id":"external:db\n .select()\n .from(propertyChanges)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(propertyChanges)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"getAlerts","symbolKind":"function","exported":true,"metadata":{"line":236,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:Promise.all",{"id":"external:Promise.all","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.all"}}],["external:propertyIds.map",{"id":"external:propertyIds.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"propertyIds.map"}}],["external:db\n .select",{"id":"external:db\n .select","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select"}}],["external:properties.filter(Boolean).map",{"id":"external:properties.filter(Boolean).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"properties.filter(Boolean).map"}}],["external:properties.filter",{"id":"external:properties.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"properties.filter"}}],["external:allChanges.map",{"id":"external:allChanges.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"allChanges.map"}}],["external:propertyMap.get",{"id":"external:propertyMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"propertyMap.get"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"checkTierLimits","symbolKind":"function","exported":false,"metadata":{"line":285,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select({ count: count() })\n .from(propertySnapshots)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(propertySnapshots)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(propertySnapshots)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"runScan","symbolKind":"function","exported":true,"metadata":{"line":325,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:getLastSnapshot",{"id":"symbol-name:getLastSnapshot","kind":"symbol","language":"jsts","symbolName":"getLastSnapshot","metadata":{"unresolvedName":"getLastSnapshot"}}],["symbol-name:fetchCountyRecords",{"id":"symbol-name:fetchCountyRecords","kind":"symbol","language":"jsts","symbolName":"fetchCountyRecords","metadata":{"unresolvedName":"fetchCountyRecords"}}],["symbol-name:detectChanges",{"id":"symbol-name:detectChanges","kind":"symbol","language":"jsts","symbolName":"detectChanges","metadata":{"unresolvedName":"detectChanges"}}],["external:db\n .insert(propertySnapshots)\n .values",{"id":"external:db\n .insert(propertySnapshots)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(propertySnapshots)\n .values"}}],["external:db\n .insert",{"id":"external:db\n .insert","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert"}}],["symbol-name:createPropertyChange",{"id":"symbol-name:createPropertyChange","kind":"symbol","language":"jsts","symbolName":"createPropertyChange","metadata":{"unresolvedName":"createPropertyChange"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:createPropertyChange",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:createPropertyChange","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"createPropertyChange","symbolKind":"function","exported":false,"metadata":{"line":407,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .insert(propertyChanges)\n .values",{"id":"external:db\n .insert(propertyChanges)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(propertyChanges)\n .values"}}],["symbol-name:generateAlert",{"id":"symbol-name:generateAlert","kind":"symbol","language":"jsts","symbolName":"generateAlert","metadata":{"unresolvedName":"generateAlert"}}],["/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","symbolName":"generateAlert","symbolKind":"function","exported":false,"metadata":{"line":431,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select({ address: propertyWatchlistItems.address })\n .from",{"id":"external:db\n .select({ address: propertyWatchlistItems.address })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ address: propertyWatchlistItems.address })\n .from"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","metadata":{"lineCount":465,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":435,"column":57,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:mockResendSend.mockResolvedValue",{"id":"external:mockResendSend.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockResendSend.mockResolvedValue"}}],["external:expect(mockResendSend).toHaveBeenCalledWith",{"id":"external:expect(mockResendSend).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockResendSend).toHaveBeenCalledWith"}}],["external:expect(mockResendSend).not.toHaveBeenCalled",{"id":"external:expect(mockResendSend).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockResendSend).not.toHaveBeenCalled"}}],["external:expect(sendEmail(\"test@example.com\", \"Subject\", \"<p>Body</p>\")).rejects.toThrow",{"id":"external:expect(sendEmail(\"test@example.com\", \"Subject\", \"<p>Body</p>\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sendEmail(\"test@example.com\", \"Subject\", \"<p>Body</p>\")).rejects.toThrow"}}],["external:mockMessagingSend.mockResolvedValue",{"id":"external:mockMessagingSend.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockMessagingSend.mockResolvedValue"}}],["external:expect(mockMessagingSend).toHaveBeenCalledTimes",{"id":"external:expect(mockMessagingSend).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockMessagingSend).toHaveBeenCalledTimes"}}],["external:expect(mockMessagingSend).toHaveBeenCalledWith",{"id":"external:expect(mockMessagingSend).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockMessagingSend).toHaveBeenCalledWith"}}],["external:expect(mockMessagingSend).not.toHaveBeenCalled",{"id":"external:expect(mockMessagingSend).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockMessagingSend).not.toHaveBeenCalled"}}],["external:mockMessagingSend\n .mockRejectedValueOnce",{"id":"external:mockMessagingSend\n .mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockMessagingSend\n .mockRejectedValueOnce"}}],["external:mockTwilioCreate.mockResolvedValue",{"id":"external:mockTwilioCreate.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockTwilioCreate.mockResolvedValue"}}],["external:expect(mockTwilioCreate).toHaveBeenCalledWith",{"id":"external:expect(mockTwilioCreate).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockTwilioCreate).toHaveBeenCalledWith"}}],["external:expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toThrow",{"id":"external:expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toThrow"}}],["external:expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toMatchObject",{"id":"external:expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toMatchObject"}}],["external:expect(sendSMS(\"+12\", \"Hello\")).rejects.toMatchObject",{"id":"external:expect(sendSMS(\"+12\", \"Hello\")).rejects.toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sendSMS(\"+12\", \"Hello\")).rejects.toMatchObject"}}],["external:expect(sendSMS(\"+1234567890\", \"Hello\")).resolves.toEqual",{"id":"external:expect(sendSMS(\"+1234567890\", \"Hello\")).resolves.toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sendSMS(\"+1234567890\", \"Hello\")).resolves.toEqual"}}],["external:expect(sendSMS(\"+447911123456\", \"Hello\")).resolves.toEqual",{"id":"external:expect(sendSMS(\"+447911123456\", \"Hello\")).resolves.toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sendSMS(\"+447911123456\", \"Hello\")).resolves.toEqual"}}],["external:expect(db.update).toHaveBeenCalled",{"id":"external:expect(db.update).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(db.update).toHaveBeenCalled"}}],["external:expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toThrow",{"id":"external:expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toThrow"}}],["external:expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toMatchObject",{"id":"external:expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toMatchObject"}}],["external:expect(result).toMatchObject",{"id":"external:expect(result).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result).toMatchObject"}}],["external:expect(result.smsEnabled).toBe",{"id":"external:expect(result.smsEnabled).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.smsEnabled).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","metadata":{"lineCount":257,"featureKind":"service","trustBoundaries":[]}}],["external:~/server/db/schema/notifications",{"id":"external:~/server/db/schema/notifications","kind":"external","language":"jsts","metadata":{"source":"~/server/db/schema/notifications"}}],["external:~/server/lib/resend",{"id":"external:~/server/lib/resend","kind":"external","language":"jsts","metadata":{"source":"~/server/lib/resend"}}],["external:~/server/lib/fcm",{"id":"external:~/server/lib/fcm","kind":"external","language":"jsts","metadata":{"source":"~/server/lib/fcm"}}],["external:~/server/lib/twilio",{"id":"external:~/server/lib/twilio","kind":"external","language":"jsts","metadata":{"source":"~/server/lib/twilio"}}],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail",{"id":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","symbolName":"sendEmail","symbolKind":"function","exported":true,"metadata":{"line":10,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:resend.emails.send",{"id":"external:resend.emails.send","kind":"external","language":"jsts","metadata":{"unresolvedName":"resend.emails.send"}}],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush",{"id":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","symbolName":"sendPush","symbolKind":"function","exported":true,"metadata":{"line":50,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(deviceTokens)\n .where",{"id":"external:db\n .select()\n .from(deviceTokens)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(deviceTokens)\n .where"}}],["external:tokens.map",{"id":"external:tokens.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"tokens.map"}}],["external:messaging.send",{"id":"external:messaging.send","kind":"external","language":"jsts","metadata":{"unresolvedName":"messaging.send"}}],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS",{"id":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","symbolName":"sendSMS","symbolKind":"function","exported":true,"metadata":{"line":106,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:e164Regex.test",{"id":"external:e164Regex.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"e164Regex.test"}}],["external:twilioClient.messages.create",{"id":"external:twilioClient.messages.create","kind":"external","language":"jsts","metadata":{"unresolvedName":"twilioClient.messages.create"}}],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice",{"id":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","symbolName":"registerDevice","symbolKind":"function","exported":true,"metadata":{"line":138,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(deviceTokens)\n .set",{"id":"external:db\n .update(deviceTokens)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(deviceTokens)\n .set"}}],["external:db\n .insert(deviceTokens)\n .values",{"id":"external:db\n .insert(deviceTokens)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(deviceTokens)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice",{"id":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","symbolName":"unregisterDevice","symbolKind":"function","exported":true,"metadata":{"line":175,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(deviceTokens)\n .set({ isActive: false })\n .where",{"id":"external:db\n .update(deviceTokens)\n .set({ isActive: false })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(deviceTokens)\n .set({ isActive: false })\n .where"}}],["external:db\n .update(deviceTokens)\n .set",{"id":"external:db\n .update(deviceTokens)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(deviceTokens)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices",{"id":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","symbolName":"listDevices","symbolKind":"function","exported":true,"metadata":{"line":203,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences",{"id":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","symbolName":"getPreferences","symbolKind":"function","exported":true,"metadata":{"line":213,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(notificationPreferences)\n .where",{"id":"external:db\n .select()\n .from(notificationPreferences)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(notificationPreferences)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences",{"id":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","symbolName":"updatePreferences","symbolKind":"function","exported":true,"metadata":{"line":231,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(notificationPreferences)\n .set(prefs)\n .where",{"id":"external:db\n .update(notificationPreferences)\n .set(prefs)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(notificationPreferences)\n .set(prefs)\n .where"}}],["external:db\n .update(notificationPreferences)\n .set",{"id":"external:db\n .update(notificationPreferences)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(notificationPreferences)\n .set"}}],["external:db\n .insert(notificationPreferences)\n .values",{"id":"external:db\n .insert(notificationPreferences)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(notificationPreferences)\n .values"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","metadata":{"lineCount":529,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getActiveBrokers",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getActiveBrokers","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","symbolName":"getActiveBrokers","symbolKind":"function","exported":true,"metadata":{"line":518,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getBrokerByDomain",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getBrokerByDomain","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","symbolName":"getBrokerByDomain","symbolKind":"function","exported":true,"metadata":{"line":522,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:brokerRegistry.find",{"id":"external:brokerRegistry.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"brokerRegistry.find"}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getBrokerByName",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getBrokerByName","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","symbolName":"getBrokerByName","symbolKind":"function","exported":true,"metadata":{"line":526,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","metadata":{"lineCount":77,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:submitAutomatedRemoval",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:submitAutomatedRemoval","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","symbolName":"submitAutomatedRemoval","symbolKind":"function","exported":true,"metadata":{"line":20,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:generateFormPayload",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:generateFormPayload","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","symbolName":"generateFormPayload","symbolKind":"function","exported":true,"metadata":{"line":37,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:sendRemovalEmail",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:sendRemovalEmail","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","symbolName":"sendRemovalEmail","symbolKind":"function","exported":true,"metadata":{"line":57,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:trackRemovalStatus",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:trackRemovalStatus","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","symbolName":"trackRemovalStatus","symbolKind":"function","exported":true,"metadata":{"line":70,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","metadata":{"lineCount":238,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":215,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:getBrokerRegistry",{"id":"symbol-name:getBrokerRegistry","kind":"symbol","language":"jsts","symbolName":"getBrokerRegistry","metadata":{"unresolvedName":"getBrokerRegistry"}}],["external:expect(brokers.length).toBeGreaterThan",{"id":"external:expect(brokers.length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(brokers.length).toBeGreaterThan"}}],["external:expect(brokers[0]).toHaveProperty",{"id":"external:expect(brokers[0]).toHaveProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(brokers[0]).toHaveProperty"}}],["symbol-name:createRemovalRequest",{"id":"symbol-name:createRemovalRequest","kind":"symbol","language":"jsts","symbolName":"createRemovalRequest","metadata":{"unresolvedName":"createRemovalRequest"}}],["symbol-name:getRemovalRequests",{"id":"symbol-name:getRemovalRequests","kind":"symbol","language":"jsts","symbolName":"getRemovalRequests","metadata":{"unresolvedName":"getRemovalRequests"}}],["symbol-name:scanForListings",{"id":"symbol-name:scanForListings","kind":"symbol","language":"jsts","symbolName":"scanForListings","metadata":{"unresolvedName":"scanForListings"}}],["external:expect(result.scanned).toBe",{"id":"external:expect(result.scanned).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.scanned).toBe"}}],["external:expect(result.listingsFound).toBe",{"id":"external:expect(result.listingsFound).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.listingsFound).toBe"}}],["external:mockUpdateSetWhereReturning\n .mockResolvedValueOnce",{"id":"external:mockUpdateSetWhereReturning\n .mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockUpdateSetWhereReturning\n .mockResolvedValueOnce"}}],["external:expect(result.processed).toBe",{"id":"external:expect(result.processed).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.processed).toBe"}}],["external:mockCountSelectFromWhere\n .mockResolvedValueOnce",{"id":"external:mockCountSelectFromWhere\n .mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockCountSelectFromWhere\n .mockResolvedValueOnce"}}],["symbol-name:getStats",{"id":"symbol-name:getStats","kind":"symbol","language":"jsts","symbolName":"getStats","metadata":{"unresolvedName":"getStats"}}],["external:expect(result.completionRate).toBe",{"id":"external:expect(result.completionRate).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.completionRate).toBe"}}],["external:expect(result.totalListings).toBe",{"id":"external:expect(result.totalListings).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.totalListings).toBe"}}],["external:expect(result.listingsRemoved).toBe",{"id":"external:expect(result.listingsRemoved).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.listingsRemoved).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","metadata":{"lineCount":491,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getSubscription",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"getSubscription","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerRegistry",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerRegistry","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"getBrokerRegistry","symbolKind":"function","exported":true,"metadata":{"line":23,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:getActiveBrokers",{"id":"symbol-name:getActiveBrokers","kind":"symbol","language":"jsts","symbolName":"getActiveBrokers","metadata":{"unresolvedName":"getActiveBrokers"}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"getRemovalRequests","symbolKind":"function","exported":true,"metadata":{"line":28,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select({ count: count() })\n .from(removalRequests)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(removalRequests)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(removalRequests)\n .where"}}],["external:db\n .select()\n .from(removalRequests)\n .where",{"id":"external:db\n .select()\n .from(removalRequests)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(removalRequests)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"createRemovalRequest","symbolKind":"function","exported":true,"metadata":{"line":64,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(infoBrokers)\n .where",{"id":"external:db\n .select()\n .from(infoBrokers)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(infoBrokers)\n .where"}}],["external:db\n .insert(removalRequests)\n .values",{"id":"external:db\n .insert(removalRequests)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(removalRequests)\n .values"}}],["symbol-name:submitAutomatedRemoval",{"id":"symbol-name:submitAutomatedRemoval","kind":"symbol","language":"jsts","symbolName":"submitAutomatedRemoval","metadata":{"unresolvedName":"submitAutomatedRemoval"}}],["symbol-name:updateRequestStatus",{"id":"symbol-name:updateRequestStatus","kind":"symbol","language":"jsts","symbolName":"updateRequestStatus","metadata":{"unresolvedName":"updateRequestStatus"}}],["symbol-name:sendRemovalEmail",{"id":"symbol-name:sendRemovalEmail","kind":"symbol","language":"jsts","symbolName":"sendRemovalEmail","metadata":{"unresolvedName":"sendRemovalEmail"}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"getRequestStatus","symbolKind":"function","exported":true,"metadata":{"line":145,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(brokerListings)\n .where",{"id":"external:db\n .select()\n .from(brokerListings)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(brokerListings)\n .where"}}],["symbol-name:or",{"id":"symbol-name:or","kind":"symbol","language":"jsts","symbolName":"or","metadata":{"unresolvedName":"or"}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"getBrokerListings","symbolKind":"function","exported":true,"metadata":{"line":185,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select({ count: count() })\n .from(brokerListings)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(brokerListings)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(brokerListings)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"scanForListings","symbolKind":"function","exported":true,"metadata":{"line":221,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(infoBrokers)\n .where",{"id":"external:db\n .select()\n .from(infoBrokers)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(infoBrokers)\n .where"}}],["external:db\n .select()\n .from",{"id":"external:db\n .select()\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from"}}],["external:sub.id.slice",{"id":"external:sub.id.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"sub.id.slice"}}],["external:db\n .insert(brokerListings)\n .values",{"id":"external:db\n .insert(brokerListings)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(brokerListings)\n .values"}}],["external:createdListings.push",{"id":"external:createdListings.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"createdListings.push"}}],["external:db\n .insert(normalizedAlerts)\n .values",{"id":"external:db\n .insert(normalizedAlerts)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(normalizedAlerts)\n .values"}}],["external:createdListings.map",{"id":"external:createdListings.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"createdListings.map"}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":303,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"getStats","symbolKind":"function","exported":true,"metadata":{"line":316,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select({ count: count() })\n .from(removalRequests)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(removalRequests)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(removalRequests)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"processRemovals","symbolKind":"function","exported":true,"metadata":{"line":367,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:isNull",{"id":"symbol-name:isNull","kind":"symbol","language":"jsts","symbolName":"isNull","metadata":{"unresolvedName":"isNull"}}],["external:results.push",{"id":"external:results.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"results.push"}}],["symbol-name:incrementRetry",{"id":"symbol-name:incrementRetry","kind":"symbol","language":"jsts","symbolName":"incrementRetry","metadata":{"unresolvedName":"incrementRetry"}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"incrementRetry","symbolKind":"function","exported":false,"metadata":{"line":437,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(removalRequests)\n .set",{"id":"external:db\n .update(removalRequests)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(removalRequests)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:updateRequestStatus",{"id":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:updateRequestStatus","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","symbolName":"updateRequestStatus","symbolKind":"function","exported":true,"metadata":{"line":460,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(removalRequests)\n .set(updateData as never)\n .where",{"id":"external:db\n .update(removalRequests)\n .set(updateData as never)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(removalRequests)\n .set(updateData as never)\n .where"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","metadata":{"lineCount":97,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","symbolName":"isBlockedUrl","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:url.startsWith",{"id":"external:url.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"url.startsWith"}}],["external:/^https?:\\/\\/(169\\.254\\.169\\.254|metadata\\.google\\.internal)/i.test",{"id":"external:/^https?:\\/\\/(169\\.254\\.169\\.254|metadata\\.google\\.internal)/i.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^https?:\\/\\/(169\\.254\\.169\\.254|metadata\\.google\\.internal)/i.test"}}],["external:url.replace(/^https?:\\/\\//, \"\").split",{"id":"external:url.replace(/^https?:\\/\\//, \"\").split","kind":"external","language":"jsts","metadata":{"unresolvedName":"url.replace(/^https?:\\/\\//, \"\").split"}}],["external:url.replace",{"id":"external:url.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"url.replace"}}],["external:/^(\\d+\\.\\d+\\.\\d+\\.\\d+)/.test",{"id":"external:/^(\\d+\\.\\d+\\.\\d+\\.\\d+)/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^(\\d+\\.\\d+\\.\\d+\\.\\d+)/.test"}}],["external:hostname.match",{"id":"external:hostname.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"hostname.match"}}],["external:ip.split(\".\").map",{"id":"external:ip.split(\".\").map","kind":"external","language":"jsts","metadata":{"unresolvedName":"ip.split(\".\").map"}}],["external:ip.split",{"id":"external:ip.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"ip.split"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":91,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:expect(isBlockedUrl(\"file:///etc/passwd\")).toBe",{"id":"external:expect(isBlockedUrl(\"file:///etc/passwd\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///etc/passwd\")).toBe"}}],["symbol-name:isBlockedUrl",{"id":"symbol-name:isBlockedUrl","kind":"symbol","language":"jsts","symbolName":"isBlockedUrl","metadata":{"unresolvedName":"isBlockedUrl"}}],["external:expect(isBlockedUrl(\"file:///etc/shadow\")).toBe",{"id":"external:expect(isBlockedUrl(\"file:///etc/shadow\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///etc/shadow\")).toBe"}}],["external:expect(isBlockedUrl(\"file:///windows/system32/config/sam\")).toBe",{"id":"external:expect(isBlockedUrl(\"file:///windows/system32/config/sam\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///windows/system32/config/sam\")).toBe"}}],["external:expect(isBlockedUrl(\"data:text/html,<script>alert(1)</script>\")).toBe",{"id":"external:expect(isBlockedUrl(\"data:text/html,<script>alert(1)</script>\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"data:text/html,<script>alert(1)</script>\")).toBe"}}],["external:expect(isBlockedUrl(\"data:image/png;base64,abc\")).toBe",{"id":"external:expect(isBlockedUrl(\"data:image/png;base64,abc\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"data:image/png;base64,abc\")).toBe"}}],["external:expect(isBlockedUrl(\"http://169.254.169.254/latest/meta-data/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://169.254.169.254/latest/meta-data/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://169.254.169.254/latest/meta-data/\")).toBe"}}],["external:expect(isBlockedUrl(\"https://169.254.169.254/computeMetadata/v1/\")).toBe",{"id":"external:expect(isBlockedUrl(\"https://169.254.169.254/computeMetadata/v1/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://169.254.169.254/computeMetadata/v1/\")).toBe"}}],["external:expect(isBlockedUrl(\"https://metadata.google.internal/\")).toBe",{"id":"external:expect(isBlockedUrl(\"https://metadata.google.internal/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://metadata.google.internal/\")).toBe"}}],["external:expect(isBlockedUrl(\"http://10.0.0.1/admin\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://10.0.0.1/admin\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.0.0.1/admin\")).toBe"}}],["external:expect(isBlockedUrl(\"http://10.255.255.255/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://10.255.255.255/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.255.255.255/\")).toBe"}}],["external:expect(isBlockedUrl(\"http://10.128.1.1/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://10.128.1.1/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.128.1.1/\")).toBe"}}],["external:expect(isBlockedUrl(\"http://172.16.0.1/internal\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://172.16.0.1/internal\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.16.0.1/internal\")).toBe"}}],["external:expect(isBlockedUrl(\"http://172.31.255.255/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://172.31.255.255/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.31.255.255/\")).toBe"}}],["external:expect(isBlockedUrl(\"http://172.17.0.1/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://172.17.0.1/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.17.0.1/\")).toBe"}}],["external:expect(isBlockedUrl(\"http://172.15.0.1/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://172.15.0.1/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.15.0.1/\")).toBe"}}],["external:expect(isBlockedUrl(\"http://172.32.0.1/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://172.32.0.1/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.32.0.1/\")).toBe"}}],["external:expect(isBlockedUrl(\"http://192.168.1.1/admin\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://192.168.1.1/admin\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.1.1/admin\")).toBe"}}],["external:expect(isBlockedUrl(\"http://192.168.0.1/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://192.168.0.1/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.0.1/\")).toBe"}}],["external:expect(isBlockedUrl(\"http://192.168.255.255/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://192.168.255.255/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.255.255/\")).toBe"}}],["external:expect(isBlockedUrl(\"http://127.0.0.1:8080/health\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://127.0.0.1:8080/health\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://127.0.0.1:8080/health\")).toBe"}}],["external:expect(isBlockedUrl(\"http://127.0.0.2/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://127.0.0.2/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://127.0.0.2/\")).toBe"}}],["external:expect(isBlockedUrl(\"http://0.0.0.0/\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://0.0.0.0/\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://0.0.0.0/\")).toBe"}}],["external:expect(isBlockedUrl(\"https://example.com/image.png\")).toBe",{"id":"external:expect(isBlockedUrl(\"https://example.com/image.png\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://example.com/image.png\")).toBe"}}],["external:expect(isBlockedUrl(\"http://cdn.example.com/font.woff2\")).toBe",{"id":"external:expect(isBlockedUrl(\"http://cdn.example.com/font.woff2\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://cdn.example.com/font.woff2\")).toBe"}}],["external:expect(isBlockedUrl(\"https://fonts.googleapis.com/css\")).toBe",{"id":"external:expect(isBlockedUrl(\"https://fonts.googleapis.com/css\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://fonts.googleapis.com/css\")).toBe"}}],["external:expect(isBlockedUrl(\"https://app.kordant.com/api\")).toBe",{"id":"external:expect(isBlockedUrl(\"https://app.kordant.com/api\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://app.kordant.com/api\")).toBe"}}],["external:expect(isBlockedUrl(\"https://example.com/192.168.1.1\")).toBe",{"id":"external:expect(isBlockedUrl(\"https://example.com/192.168.1.1\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://example.com/192.168.1.1\")).toBe"}}],["external:expect(isBlockedUrl(\"\")).toBe",{"id":"external:expect(isBlockedUrl(\"\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"\")).toBe"}}],["external:expect(isBlockedUrl(\"not-a-url\")).toBe",{"id":"external:expect(isBlockedUrl(\"not-a-url\")).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isBlockedUrl(\"not-a-url\")).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","metadata":{"lineCount":320,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:node:fs",{"id":"external:node:fs","kind":"external","language":"jsts","metadata":{"source":"node:fs"}}],["external:node:path",{"id":"external:node:path","kind":"external","language":"jsts","metadata":{"source":"node:path"}}],["external:node:url",{"id":"external:node:url","kind":"external","language":"jsts","metadata":{"source":"node:url"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getTier",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getTier","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"getTier","symbolKind":"function","exported":false,"metadata":{"line":32,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getDefaultPeriod",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getDefaultPeriod","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"getDefaultPeriod","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:now.getDate",{"id":"external:now.getDate","kind":"external","language":"jsts","metadata":{"unresolvedName":"now.getDate"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"compileData","symbolKind":"function","exported":true,"metadata":{"line":52,"column":1,"cyclomaticComplexity":17,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:getDefaultPeriod",{"id":"symbol-name:getDefaultPeriod","kind":"symbol","language":"jsts","symbolName":"getDefaultPeriod","metadata":{"unresolvedName":"getDefaultPeriod"}}],["symbol-name:lte",{"id":"symbol-name:lte","kind":"symbol","language":"jsts","symbolName":"lte","metadata":{"unresolvedName":"lte"}}],["external:ps.getTime",{"id":"external:ps.getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"ps.getTime"}}],["external:pe.getTime",{"id":"external:pe.getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"pe.getTime"}}],["external:db\n .select({ count: count() })\n .from(voiceAnalyses)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(voiceAnalyses)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(voiceAnalyses)\n .where"}}],["external:db\n .select({ count: count() })\n .from(spamFeedback)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(spamFeedback)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(spamFeedback)\n .where"}}],["external:db\n .select({ count: count() })\n .from(propertyChanges)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(propertyChanges)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(propertyChanges)\n .where"}}],["external:db\n .select({ source: normalizedAlerts.source })\n .from",{"id":"external:db\n .select({ source: normalizedAlerts.source })\n .from","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ source: normalizedAlerts.source })\n .from"}}],["external:Object.entries(sourceCounts)\n .map",{"id":"external:Object.entries(sourceCounts)\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(sourceCounts)\n .map"}}],["symbol-name:compileRecommendations",{"id":"symbol-name:compileRecommendations","kind":"symbol","language":"jsts","symbolName":"compileRecommendations","metadata":{"unresolvedName":"compileRecommendations"}}],["external:ps.toLocaleDateString",{"id":"external:ps.toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"ps.toLocaleDateString"}}],["external:pe.toLocaleDateString",{"id":"external:pe.toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"pe.toLocaleDateString"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":289,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileRecommendations",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileRecommendations","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"compileRecommendations","symbolKind":"function","exported":false,"metadata":{"line":189,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:items.push",{"id":"external:items.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"items.push"}}],["external:items.join",{"id":"external:items.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"items.join"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:loadTemplate",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:loadTemplate","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"loadTemplate","symbolKind":"function","exported":false,"metadata":{"line":224,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:readFileSync",{"id":"symbol-name:readFileSync","kind":"symbol","language":"jsts","symbolName":"readFileSync","metadata":{"unresolvedName":"readFileSync"}}],["symbol-name:join",{"id":"symbol-name:join","kind":"symbol","language":"jsts","symbolName":"join","metadata":{"unresolvedName":"join"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderTemplate",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderTemplate","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"renderTemplate","symbolKind":"function","exported":false,"metadata":{"line":234,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:template.replace",{"id":"external:template.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"template.replace"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderHTML",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderHTML","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"renderHTML","symbolKind":"function","exported":true,"metadata":{"line":240,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:loadTemplate",{"id":"symbol-name:loadTemplate","kind":"symbol","language":"jsts","symbolName":"loadTemplate","metadata":{"unresolvedName":"loadTemplate"}}],["symbol-name:renderTemplate",{"id":"symbol-name:renderTemplate","kind":"symbol","language":"jsts","symbolName":"renderTemplate","metadata":{"unresolvedName":"renderTemplate"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"isBlockedUrl","symbolKind":"function","exported":true,"metadata":{"line":252,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"generatePDF","symbolKind":"function","exported":true,"metadata":{"line":282,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:puppeteer.launch",{"id":"external:puppeteer.launch","kind":"external","language":"jsts","metadata":{"unresolvedName":"puppeteer.launch"}}],["external:browser.newPage",{"id":"external:browser.newPage","kind":"external","language":"jsts","metadata":{"unresolvedName":"browser.newPage"}}],["external:page.on",{"id":"external:page.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"page.on"}}],["external:request.url",{"id":"external:request.url","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.url"}}],["external:request.abort",{"id":"external:request.abort","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.abort"}}],["external:request.continue",{"id":"external:request.continue","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.continue"}}],["external:page.setContent",{"id":"external:page.setContent","kind":"external","language":"jsts","metadata":{"unresolvedName":"page.setContent"}}],["external:page.pdf",{"id":"external:page.pdf","kind":"external","language":"jsts","metadata":{"unresolvedName":"page.pdf"}}],["external:browser.close",{"id":"external:browser.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"browser.close"}}],["external:Buffer.from",{"id":"external:Buffer.from","kind":"external","language":"jsts","metadata":{"unresolvedName":"Buffer.from"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:uploadPDF",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:uploadPDF","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","symbolName":"uploadPDF","symbolKind":"function","exported":true,"metadata":{"line":307,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:existsSync",{"id":"symbol-name:existsSync","kind":"symbol","language":"jsts","symbolName":"existsSync","metadata":{"unresolvedName":"existsSync"}}],["symbol-name:mkdirSync",{"id":"symbol-name:mkdirSync","kind":"symbol","language":"jsts","symbolName":"mkdirSync","metadata":{"unresolvedName":"mkdirSync"}}],["symbol-name:writeFileSync",{"id":"symbol-name:writeFileSync","kind":"symbol","language":"jsts","symbolName":"writeFileSync","metadata":{"unresolvedName":"writeFileSync"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","metadata":{"lineCount":298,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","symbolName":"getDb","symbolKind":"function","exported":false,"metadata":{"line":29,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","symbolName":"setupDefaults","symbolKind":"function","exported":false,"metadata":{"line":33,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:db.select.mockReturnValue",{"id":"external:db.select.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.select.mockReturnValue"}}],["external:db.insert.mockReturnValue",{"id":"external:db.insert.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert.mockReturnValue"}}],["external:db.update.mockReturnValue",{"id":"external:db.update.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.update.mockReturnValue"}}],["external:db.delete.mockReturnValue",{"id":"external:db.delete.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.delete.mockReturnValue"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","symbolName":"setupSelect","symbolKind":"function","exported":false,"metadata":{"line":68,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":269,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:vi.resetAllMocks",{"id":"external:vi.resetAllMocks","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.resetAllMocks"}}],["symbol-name:getDb",{"id":"symbol-name:getDb","kind":"symbol","language":"jsts","symbolName":"getDb","metadata":{"unresolvedName":"getDb"}}],["symbol-name:setupDefaults",{"id":"symbol-name:setupDefaults","kind":"symbol","language":"jsts","symbolName":"setupDefaults","metadata":{"unresolvedName":"setupDefaults"}}],["external:(db.select as ReturnType<typeof vi.fn>)\n .mockReturnValueOnce",{"id":"external:(db.select as ReturnType<typeof vi.fn>)\n .mockReturnValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>)\n .mockReturnValueOnce"}}],["symbol-name:getReports",{"id":"symbol-name:getReports","kind":"symbol","language":"jsts","symbolName":"getReports","metadata":{"unresolvedName":"getReports"}}],["symbol-name:setupSelect",{"id":"symbol-name:setupSelect","kind":"symbol","language":"jsts","symbolName":"setupSelect","metadata":{"unresolvedName":"setupSelect"}}],["external:expect(getReports(\"user-1\")).rejects.toThrow",{"id":"external:expect(getReports(\"user-1\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getReports(\"user-1\")).rejects.toThrow"}}],["external:vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce",{"id":"external:vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce"}}],["external:vi.fn()\n .mockResolvedValueOnce",{"id":"external:vi.fn()\n .mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce"}}],["symbol-name:getReport",{"id":"symbol-name:getReport","kind":"symbol","language":"jsts","symbolName":"getReport","metadata":{"unresolvedName":"getReport"}}],["external:expect(result.title).toBe",{"id":"external:expect(result.title).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.title).toBe"}}],["external:expect(getReport(\"user-1\", \"nonexistent\")).rejects.toThrow",{"id":"external:expect(getReport(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getReport(\"user-1\", \"nonexistent\")).rejects.toThrow"}}],["external:expect(generateReport(\"user-1\", \"ANNUAL_PREMIUM\")).rejects.toThrow",{"id":"external:expect(generateReport(\"user-1\", \"ANNUAL_PREMIUM\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(generateReport(\"user-1\", \"ANNUAL_PREMIUM\")).rejects.toThrow"}}],["symbol-name:deleteReport",{"id":"symbol-name:deleteReport","kind":"symbol","language":"jsts","symbolName":"deleteReport","metadata":{"unresolvedName":"deleteReport"}}],["external:expect(deleteReport(\"user-1\", \"nonexistent\")).rejects.toThrow",{"id":"external:expect(deleteReport(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(deleteReport(\"user-1\", \"nonexistent\")).rejects.toThrow"}}],["symbol-name:getScheduledReports",{"id":"symbol-name:getScheduledReports","kind":"symbol","language":"jsts","symbolName":"getScheduledReports","metadata":{"unresolvedName":"getScheduledReports"}}],["external:expect(result[0].frequency).toBe",{"id":"external:expect(result[0].frequency).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result[0].frequency).toBe"}}],["symbol-name:updateSchedule",{"id":"symbol-name:updateSchedule","kind":"symbol","language":"jsts","symbolName":"updateSchedule","metadata":{"unresolvedName":"updateSchedule"}}],["external:expect(result.frequency).toBe",{"id":"external:expect(result.frequency).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.frequency).toBe"}}],["external:expect(result.enabled).toBe",{"id":"external:expect(result.enabled).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.enabled).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","metadata":{"lineCount":239,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","symbolName":"getSubscription","symbolKind":"function","exported":false,"metadata":{"line":13,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReportTypeLabel",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReportTypeLabel","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","symbolName":"getReportTypeLabel","symbolKind":"function","exported":false,"metadata":{"line":37,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","symbolName":"getReports","symbolKind":"function","exported":true,"metadata":{"line":46,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","symbolName":"getReport","symbolKind":"function","exported":true,"metadata":{"line":77,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","symbolName":"generateReport","symbolKind":"function","exported":true,"metadata":{"line":93,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:getReportTypeLabel",{"id":"symbol-name:getReportTypeLabel","kind":"symbol","language":"jsts","symbolName":"getReportTypeLabel","metadata":{"unresolvedName":"getReportTypeLabel"}}],["external:db\n .insert(securityReports)\n .values",{"id":"external:db\n .insert(securityReports)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(securityReports)\n .values"}}],["symbol-name:generateReportAsync",{"id":"symbol-name:generateReportAsync","kind":"symbol","language":"jsts","symbolName":"generateReportAsync","metadata":{"unresolvedName":"generateReportAsync"}}],["external:db.update(securityReports)\n .set",{"id":"external:db.update(securityReports)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.update(securityReports)\n .set"}}],["external:db.update",{"id":"external:db.update","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.update"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":128,"column":84,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","symbolName":"generateReportAsync","symbolKind":"function","exported":false,"metadata":{"line":139,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:db\n .update(securityReports)\n .set({ status: \"GENERATING\" })\n .where",{"id":"external:db\n .update(securityReports)\n .set({ status: \"GENERATING\" })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(securityReports)\n .set({ status: \"GENERATING\" })\n .where"}}],["external:db\n .update(securityReports)\n .set",{"id":"external:db\n .update(securityReports)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(securityReports)\n .set"}}],["symbol-name:compileData",{"id":"symbol-name:compileData","kind":"symbol","language":"jsts","symbolName":"compileData","metadata":{"unresolvedName":"compileData"}}],["symbol-name:renderHTML",{"id":"symbol-name:renderHTML","kind":"symbol","language":"jsts","symbolName":"renderHTML","metadata":{"unresolvedName":"renderHTML"}}],["symbol-name:generatePDF",{"id":"symbol-name:generatePDF","kind":"symbol","language":"jsts","symbolName":"generatePDF","metadata":{"unresolvedName":"generatePDF"}}],["external:reportType.toLowerCase",{"id":"external:reportType.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"reportType.toLowerCase"}}],["symbol-name:uploadPDF",{"id":"symbol-name:uploadPDF","kind":"symbol","language":"jsts","symbolName":"uploadPDF","metadata":{"unresolvedName":"uploadPDF"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","symbolName":"deleteReport","symbolKind":"function","exported":true,"metadata":{"line":174,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:db.delete(securityReports).where",{"id":"external:db.delete(securityReports).where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.delete(securityReports).where"}}],["external:db.delete",{"id":"external:db.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.delete"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","symbolName":"getScheduledReports","symbolKind":"function","exported":true,"metadata":{"line":191,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:db\n .select()\n .from(reportSchedules)\n .where",{"id":"external:db\n .select()\n .from(reportSchedules)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(reportSchedules)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule",{"id":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","symbolName":"updateSchedule","symbolKind":"function","exported":true,"metadata":{"line":201,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:db\n .insert(reportSchedules)\n .values",{"id":"external:db\n .insert(reportSchedules)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(reportSchedules)\n .values"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","metadata":{"lineCount":76,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","metadata":{"lineCount":98,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":71,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:classifyTextBERT",{"id":"symbol-name:classifyTextBERT","kind":"symbol","language":"jsts","symbolName":"classifyTextBERT","metadata":{"unresolvedName":"classifyTextBERT"}}],["external:expect(result.confidence).toBe",{"id":"external:expect(result.confidence).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.confidence).toBe"}}],["symbol-name:extractFeatures",{"id":"symbol-name:extractFeatures","kind":"symbol","language":"jsts","symbolName":"extractFeatures","metadata":{"unresolvedName":"extractFeatures"}}],["external:expect(features.areaCode).toBe",{"id":"external:expect(features.areaCode).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(features.areaCode).toBe"}}],["external:expect(features.duration).toBe",{"id":"external:expect(features.duration).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(features.duration).toBe"}}],["external:expect(features.timeOfDay).toBe",{"id":"external:expect(features.timeOfDay).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(features.timeOfDay).toBe"}}],["symbol-name:ruleEngine",{"id":"symbol-name:ruleEngine","kind":"symbol","language":"jsts","symbolName":"ruleEngine","metadata":{"unresolvedName":"ruleEngine"}}],["external:expect(result!.action).toBe",{"id":"external:expect(result!.action).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result!.action).toBe"}}],["external:expect(result!.ruleId).toBe",{"id":"external:expect(result!.ruleId).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result!.ruleId).toBe"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:classifyTextBERT",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:classifyTextBERT","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","symbolName":"classifyTextBERT","symbolKind":"function","exported":true,"metadata":{"line":22,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:extractFeatures",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:extractFeatures","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","symbolName":"extractFeatures","symbolKind":"function","exported":true,"metadata":{"line":30,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:metadata.callerNumber.slice",{"id":"external:metadata.callerNumber.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"metadata.callerNumber.slice"}}],["external:new Date().getHours",{"id":"external:new Date().getHours","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date().getHours"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","symbolName":"ruleEngine","symbolKind":"function","exported":true,"metadata":{"line":56,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:[...rules].sort",{"id":"external:[...rules].sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...rules].sort"}}],["symbol-name:matchRule",{"id":"symbol-name:matchRule","kind":"symbol","language":"jsts","symbolName":"matchRule","metadata":{"unresolvedName":"matchRule"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:matchRule",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:matchRule","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","symbolName":"matchRule","symbolKind":"function","exported":false,"metadata":{"line":77,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:input.phoneNumber.startsWith",{"id":"external:input.phoneNumber.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"input.phoneNumber.startsWith"}}],["external:new RegExp(rule.pattern, \"i\").test",{"id":"external:new RegExp(rule.pattern, \"i\").test","kind":"external","language":"jsts","metadata":{"unresolvedName":"new RegExp(rule.pattern, \"i\").test"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","metadata":{"lineCount":33,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","metadata":{"lineCount":119,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":28,"column":58,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:lookupHiya",{"id":"symbol-name:lookupHiya","kind":"symbol","language":"jsts","symbolName":"lookupHiya","metadata":{"unresolvedName":"lookupHiya"}}],["external:expect(result!.source).toBe",{"id":"external:expect(result!.source).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result!.source).toBe"}}],["symbol-name:lookupTruecaller",{"id":"symbol-name:lookupTruecaller","kind":"symbol","language":"jsts","symbolName":"lookupTruecaller","metadata":{"unresolvedName":"lookupTruecaller"}}],["symbol-name:lookupInternalDB",{"id":"symbol-name:lookupInternalDB","kind":"symbol","language":"jsts","symbolName":"lookupInternalDB","metadata":{"unresolvedName":"lookupInternalDB"}}],["symbol-name:checkReputation",{"id":"symbol-name:checkReputation","kind":"symbol","language":"jsts","symbolName":"checkReputation","metadata":{"unresolvedName":"checkReputation"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:isCircuitOpen",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:isCircuitOpen","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","symbolName":"isCircuitOpen","symbolKind":"function","exported":false,"metadata":{"line":23,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:circuitBreakers.get",{"id":"external:circuitBreakers.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"circuitBreakers.get"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:recordFailure",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:recordFailure","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","symbolName":"recordFailure","symbolKind":"function","exported":false,"metadata":{"line":35,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:circuitBreakers.set",{"id":"external:circuitBreakers.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"circuitBreakers.set"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupHiya",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupHiya","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","symbolName":"lookupHiya","symbolKind":"function","exported":true,"metadata":{"line":45,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupTruecaller",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupTruecaller","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","symbolName":"lookupTruecaller","symbolKind":"function","exported":true,"metadata":{"line":61,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupInternalDB",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupInternalDB","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","symbolName":"lookupInternalDB","symbolKind":"function","exported":true,"metadata":{"line":77,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:cache.get",{"id":"external:cache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"cache.get"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:cacheReputation",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:cacheReputation","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","symbolName":"cacheReputation","symbolKind":"function","exported":true,"metadata":{"line":85,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:cache.set",{"id":"external:cache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"cache.set"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","symbolName":"checkReputation","symbolKind":"function","exported":true,"metadata":{"line":95,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:cacheReputation",{"id":"symbol-name:cacheReputation","kind":"symbol","language":"jsts","symbolName":"cacheReputation","metadata":{"unresolvedName":"cacheReputation"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","metadata":{"lineCount":152,"featureKind":"service","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","metadata":{"lineCount":361,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":139,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:vi.mocked(checkReputation).mockResolvedValue",{"id":"external:vi.mocked(checkReputation).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(checkReputation).mockResolvedValue"}}],["external:expect(result.phoneNumber).toBe",{"id":"external:expect(result.phoneNumber).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.phoneNumber).toBe"}}],["external:vi.mocked(classifyTextBERT).mockResolvedValue",{"id":"external:vi.mocked(classifyTextBERT).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(classifyTextBERT).mockResolvedValue"}}],["external:vi.mocked(extractFeatures).mockResolvedValue",{"id":"external:vi.mocked(extractFeatures).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(extractFeatures).mockResolvedValue"}}],["external:vi.mocked(ruleEngine).mockResolvedValue",{"id":"external:vi.mocked(ruleEngine).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(ruleEngine).mockResolvedValue"}}],["external:mockSelectFromWhereOrderBy.mockResolvedValue",{"id":"external:mockSelectFromWhereOrderBy.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSelectFromWhereOrderBy.mockResolvedValue"}}],["external:expect(result.callerNumber).toBe",{"id":"external:expect(result.callerNumber).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.callerNumber).toBe"}}],["external:expect(result.matchedRule?.action).toBe",{"id":"external:expect(result.matchedRule?.action).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.matchedRule?.action).toBe"}}],["external:vi.mocked(mockDb.db.insert).mockReturnValue",{"id":"external:vi.mocked(mockDb.db.insert).mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(mockDb.db.insert).mockReturnValue"}}],["external:expect(result.pattern).toBe",{"id":"external:expect(result.pattern).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.pattern).toBe"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:normalizePhoneNumber",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:normalizePhoneNumber","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"normalizePhoneNumber","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:phone.replace",{"id":"external:phone.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"phone.replace"}}],["external:cleaned.startsWith",{"id":"external:cleaned.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"cleaned.startsWith"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"logAudit","symbolKind":"function","exported":false,"metadata":{"line":22,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db.insert(auditLogs).values",{"id":"external:db.insert(auditLogs).values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.insert(auditLogs).values"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:checkNumberReputation",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:checkNumberReputation","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"checkNumberReputation","symbolKind":"function","exported":true,"metadata":{"line":47,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:normalizePhoneNumber",{"id":"symbol-name:normalizePhoneNumber","kind":"symbol","language":"jsts","symbolName":"normalizePhoneNumber","metadata":{"unresolvedName":"normalizePhoneNumber"}}],["symbol-name:logAudit",{"id":"symbol-name:logAudit","kind":"symbol","language":"jsts","symbolName":"logAudit","metadata":{"unresolvedName":"logAudit"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifySMS",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifySMS","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"classifySMS","symbolKind":"function","exported":true,"metadata":{"line":76,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":201,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"classifyCall","symbolKind":"function","exported":true,"metadata":{"line":122,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(spamRules)\n .where",{"id":"external:db\n .select()\n .from(spamRules)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(spamRules)\n .where"}}],["external:rules.map",{"id":"external:rules.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"rules.map"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getRules",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getRules","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"getRules","symbolKind":"function","exported":true,"metadata":{"line":210,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:createRule",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:createRule","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"createRule","symbolKind":"function","exported":true,"metadata":{"line":226,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .insert(spamRules)\n .values",{"id":"external:db\n .insert(spamRules)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(spamRules)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"deleteRule","symbolKind":"function","exported":true,"metadata":{"line":249,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(spamRules)\n .set",{"id":"external:db\n .update(spamRules)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(spamRules)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"submitFeedback","symbolKind":"function","exported":true,"metadata":{"line":269,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:createHash(\"sha256\").update(normalized).digest",{"id":"external:createHash(\"sha256\").update(normalized).digest","kind":"external","language":"jsts","metadata":{"unresolvedName":"createHash(\"sha256\").update(normalized).digest"}}],["external:db\n .insert(spamFeedback)\n .values",{"id":"external:db\n .insert(spamFeedback)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(spamFeedback)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats",{"id":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","symbolName":"getStats","symbolKind":"function","exported":true,"metadata":{"line":295,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select({ count: count() })\n .from(spamRules)\n .where",{"id":"external:db\n .select({ count: count() })\n .from(spamRules)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(spamRules)\n .where"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","metadata":{"lineCount":141,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":134,"column":51,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:mockFindFirst.mockResolvedValue",{"id":"external:mockFindFirst.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockFindFirst.mockResolvedValue"}}],["external:expect(mockFindFirst).toHaveBeenCalledWith",{"id":"external:expect(mockFindFirst).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockFindFirst).toHaveBeenCalledWith"}}],["external:expect.anything",{"id":"external:expect.anything","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect.anything"}}],["external:expect(getUserById(\"nonexistent\")).rejects.toThrow",{"id":"external:expect(getUserById(\"nonexistent\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getUserById(\"nonexistent\")).rejects.toThrow"}}],["external:expect(getUserById(\"nonexistent\")).rejects.toMatchObject",{"id":"external:expect(getUserById(\"nonexistent\")).rejects.toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getUserById(\"nonexistent\")).rejects.toMatchObject"}}],["external:expect(updateUser(\"nonexistent\", { name: \"New\" })).rejects.toThrow",{"id":"external:expect(updateUser(\"nonexistent\", { name: \"New\" })).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(updateUser(\"nonexistent\", { name: \"New\" })).rejects.toThrow"}}],["external:expect(result.deletedAt).toBeInstanceOf",{"id":"external:expect(result.deletedAt).toBeInstanceOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.deletedAt).toBeInstanceOf"}}],["external:expect(deleteUser(\"nonexistent\")).rejects.toThrow",{"id":"external:expect(deleteUser(\"nonexistent\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(deleteUser(\"nonexistent\")).rejects.toThrow"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","metadata":{"lineCount":140,"featureKind":"service","trustBoundaries":[]}}],["external:~/server/auth/password",{"id":"external:~/server/auth/password","kind":"external","language":"jsts","metadata":{"source":"~/server/auth/password"}}],["/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword",{"id":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","symbolName":"createUserWithPassword","symbolKind":"function","exported":true,"metadata":{"line":8,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(users)\n .where(eq(users.email, email))\n .limit",{"id":"external:db\n .select()\n .from(users)\n .where(eq(users.email, email))\n .limit","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where(eq(users.email, email))\n .limit"}}],["external:db\n .insert(users)\n .values({ name, email, passwordHash })\n .returning",{"id":"external:db\n .insert(users)\n .values({ name, email, passwordHash })\n .returning","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(users)\n .values({ name, email, passwordHash })\n .returning"}}],["external:db\n .insert(users)\n .values",{"id":"external:db\n .insert(users)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(users)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser",{"id":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","symbolName":"authenticateUser","symbolKind":"function","exported":true,"metadata":{"line":34,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:getUserById",{"id":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:getUserById","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","symbolName":"getUserById","symbolKind":"function","exported":true,"metadata":{"line":63,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser",{"id":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","symbolName":"updateUser","symbolKind":"function","exported":true,"metadata":{"line":83,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(users)\n .where(eq(users.id, id))\n .limit",{"id":"external:db\n .select()\n .from(users)\n .where(eq(users.id, id))\n .limit","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where(eq(users.id, id))\n .limit"}}],["external:db\n .update(users)\n .set(data)\n .where",{"id":"external:db\n .update(users)\n .set(data)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(users)\n .set(data)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser",{"id":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","symbolName":"deleteUser","symbolKind":"function","exported":true,"metadata":{"line":121,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(users)\n .set({ deletedAt: new Date() })\n .where",{"id":"external:db\n .update(users)\n .set({ deletedAt: new Date() })\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(users)\n .set({ deletedAt: new Date() })\n .where"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","metadata":{"lineCount":48,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":38,"column":64,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:preprocessAudio",{"id":"symbol-name:preprocessAudio","kind":"symbol","language":"jsts","symbolName":"preprocessAudio","metadata":{"unresolvedName":"preprocessAudio"}}],["external:expect(result.duration).toBe",{"id":"external:expect(result.duration).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.duration).toBe"}}],["external:expect(result.sampleRate).toBe",{"id":"external:expect(result.sampleRate).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.sampleRate).toBe"}}],["external:expect(result.channels).toBe",{"id":"external:expect(result.channels).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.channels).toBe"}}],["external:expect(result.rawPcm).toEqual",{"id":"external:expect(result.rawPcm).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.rawPcm).toEqual"}}],["symbol-name:detectSynthetic",{"id":"symbol-name:detectSynthetic","kind":"symbol","language":"jsts","symbolName":"detectSynthetic","metadata":{"unresolvedName":"detectSynthetic"}}],["external:expect(result.isSynthetic).toBe",{"id":"external:expect(result.isSynthetic).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.isSynthetic).toBe"}}],["symbol-name:matchVoice",{"id":"symbol-name:matchVoice","kind":"symbol","language":"jsts","symbolName":"matchVoice","metadata":{"unresolvedName":"matchVoice"}}],["external:expect(result.similarity).toBe",{"id":"external:expect(result.similarity).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.similarity).toBe"}}],["external:expect(result.matched).toBe",{"id":"external:expect(result.matched).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.matched).toBe"}}],["symbol-name:generateEmbedding",{"id":"symbol-name:generateEmbedding","kind":"symbol","language":"jsts","symbolName":"generateEmbedding","metadata":{"unresolvedName":"generateEmbedding"}}],["external:expect(result.vector.length).toBe",{"id":"external:expect(result.vector.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.vector.length).toBe"}}],["external:expect(result.hash).toBeTruthy",{"id":"external:expect(result.hash).toBeTruthy","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.hash).toBeTruthy"}}],["external:expect(typeof result.hash).toBe",{"id":"external:expect(typeof result.hash).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(typeof result.hash).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","metadata":{"lineCount":57,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:preprocessAudio",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:preprocessAudio","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","symbolName":"preprocessAudio","symbolKind":"function","exported":true,"metadata":{"line":24,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:detectSynthetic",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:detectSynthetic","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","symbolName":"detectSynthetic","symbolKind":"function","exported":true,"metadata":{"line":33,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:matchVoice",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:matchVoice","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","symbolName":"matchVoice","symbolKind":"function","exported":true,"metadata":{"line":41,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","symbolName":"generateEmbedding","symbolKind":"function","exported":true,"metadata":{"line":48,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:createHash(\"sha256\").update(features.rawPcm).digest",{"id":"external:createHash(\"sha256\").update(features.rawPcm).digest","kind":"external","language":"jsts","metadata":{"unresolvedName":"createHash(\"sha256\").update(features.rawPcm).digest"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","metadata":{"lineCount":95,"featureKind":"service","trustBoundaries":[]}}],["external:node:fs/promises",{"id":"external:node:fs/promises","kind":"external","language":"jsts","metadata":{"source":"node:fs/promises"}}],["external:node:os",{"id":"external:node:os","kind":"external","language":"jsts","metadata":{"source":"node:os"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":83,"column":48,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:mkdtempSync",{"id":"symbol-name:mkdtempSync","kind":"symbol","language":"jsts","symbolName":"mkdtempSync","metadata":{"unresolvedName":"mkdtempSync"}}],["symbol-name:tmpdir",{"id":"symbol-name:tmpdir","kind":"symbol","language":"jsts","symbolName":"tmpdir","metadata":{"unresolvedName":"tmpdir"}}],["external:vi.spyOn(process, \"cwd\").mockReturnValue",{"id":"external:vi.spyOn(process, \"cwd\").mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(process, \"cwd\").mockReturnValue"}}],["external:vi.spyOn",{"id":"external:vi.spyOn","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn"}}],["symbol-name:rmSync",{"id":"symbol-name:rmSync","kind":"symbol","language":"jsts","symbolName":"rmSync","metadata":{"unresolvedName":"rmSync"}}],["symbol-name:computeHash",{"id":"symbol-name:computeHash","kind":"symbol","language":"jsts","symbolName":"computeHash","metadata":{"unresolvedName":"computeHash"}}],["external:expect(hash.length).toBe",{"id":"external:expect(hash.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(hash.length).toBe"}}],["symbol-name:saveAudio",{"id":"symbol-name:saveAudio","kind":"symbol","language":"jsts","symbolName":"saveAudio","metadata":{"unresolvedName":"saveAudio"}}],["external:expect(result.hash.length).toBe",{"id":"external:expect(result.hash.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.hash.length).toBe"}}],["external:expect(result.filePath).toContain",{"id":"external:expect(result.filePath).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.filePath).toContain"}}],["external:expect(existsSync(result.filePath)).toBe",{"id":"external:expect(existsSync(result.filePath)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(existsSync(result.filePath)).toBe"}}],["external:expect(existsSync(dir)).toBe",{"id":"external:expect(existsSync(dir)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(existsSync(dir)).toBe"}}],["symbol-name:getAudioUrl",{"id":"symbol-name:getAudioUrl","kind":"symbol","language":"jsts","symbolName":"getAudioUrl","metadata":{"unresolvedName":"getAudioUrl"}}],["external:expect(url).toBe",{"id":"external:expect(url).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(url).toBe"}}],["symbol-name:writeFile",{"id":"symbol-name:writeFile","kind":"symbol","language":"jsts","symbolName":"writeFile","metadata":{"unresolvedName":"writeFile"}}],["external:expect(existsSync(filePath)).toBe",{"id":"external:expect(existsSync(filePath)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(existsSync(filePath)).toBe"}}],["symbol-name:deleteFile",{"id":"symbol-name:deleteFile","kind":"symbol","language":"jsts","symbolName":"deleteFile","metadata":{"unresolvedName":"deleteFile"}}],["external:expect(deleteFile(\"/nonexistent.wav\")).resolves.toBeUndefined",{"id":"external:expect(deleteFile(\"/nonexistent.wav\")).resolves.toBeUndefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(deleteFile(\"/nonexistent.wav\")).resolves.toBeUndefined"}}],["symbol-name:deleteAudio",{"id":"symbol-name:deleteAudio","kind":"symbol","language":"jsts","symbolName":"deleteAudio","metadata":{"unresolvedName":"deleteAudio"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","metadata":{"lineCount":44,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","symbolName":"computeHash","symbolKind":"function","exported":true,"metadata":{"line":6,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:createHash(\"sha256\").update(audioBuffer).digest",{"id":"external:createHash(\"sha256\").update(audioBuffer).digest","kind":"external","language":"jsts","metadata":{"unresolvedName":"createHash(\"sha256\").update(audioBuffer).digest"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getUserDir",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getUserDir","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","symbolName":"getUserDir","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:process.cwd",{"id":"external:process.cwd","kind":"external","language":"jsts","metadata":{"unresolvedName":"process.cwd"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","symbolName":"saveAudio","symbolKind":"function","exported":true,"metadata":{"line":14,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:getUserDir",{"id":"symbol-name:getUserDir","kind":"symbol","language":"jsts","symbolName":"getUserDir","metadata":{"unresolvedName":"getUserDir"}}],["symbol-name:mkdir",{"id":"symbol-name:mkdir","kind":"symbol","language":"jsts","symbolName":"mkdir","metadata":{"unresolvedName":"mkdir"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getAudioUrl",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getAudioUrl","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","symbolName":"getAudioUrl","symbolKind":"function","exported":true,"metadata":{"line":28,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","symbolName":"deleteFile","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:unlink",{"id":"symbol-name:unlink","kind":"symbol","language":"jsts","symbolName":"unlink","metadata":{"unresolvedName":"unlink"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteAudio",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteAudio","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","symbolName":"deleteAudio","symbolKind":"function","exported":true,"metadata":{"line":40,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:mockQueryResult",{"id":"symbol-name:mockQueryResult","kind":"symbol","language":"jsts","symbolName":"mockQueryResult","metadata":{"unresolvedName":"mockQueryResult"}}],["external:Reflect.get(target, prop).bind",{"id":"external:Reflect.get(target, prop).bind","kind":"external","language":"jsts","metadata":{"unresolvedName":"Reflect.get(target, prop).bind"}}],["external:Reflect.get",{"id":"external:Reflect.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"Reflect.get"}}],["symbol-name:createChain",{"id":"symbol-name:createChain","kind":"symbol","language":"jsts","symbolName":"createChain","metadata":{"unresolvedName":"createChain"}}],["external:mockQueryResult.mockResolvedValueOnce",{"id":"external:mockQueryResult.mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}}],["symbol-name:getEnrollments",{"id":"symbol-name:getEnrollments","kind":"symbol","language":"jsts","symbolName":"getEnrollments","metadata":{"unresolvedName":"getEnrollments"}}],["external:vi.mocked(storage.saveAudio).mockResolvedValue",{"id":"external:vi.mocked(storage.saveAudio).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(storage.saveAudio).mockResolvedValue"}}],["external:vi.mocked(ml.preprocessAudio).mockResolvedValue",{"id":"external:vi.mocked(ml.preprocessAudio).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(ml.preprocessAudio).mockResolvedValue"}}],["external:vi.mocked(ml.generateEmbedding).mockResolvedValue",{"id":"external:vi.mocked(ml.generateEmbedding).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(ml.generateEmbedding).mockResolvedValue"}}],["symbol-name:createEnrollment",{"id":"symbol-name:createEnrollment","kind":"symbol","language":"jsts","symbolName":"createEnrollment","metadata":{"unresolvedName":"createEnrollment"}}],["external:expect(storage.saveAudio).toHaveBeenCalledWith",{"id":"external:expect(storage.saveAudio).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(storage.saveAudio).toHaveBeenCalledWith"}}],["external:expect(ml.generateEmbedding).toHaveBeenCalled",{"id":"external:expect(ml.generateEmbedding).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(ml.generateEmbedding).toHaveBeenCalled"}}],["external:mockQueryResult\n .mockResolvedValueOnce",{"id":"external:mockQueryResult\n .mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockQueryResult\n .mockResolvedValueOnce"}}],["external:expect(storage.deleteFile).toHaveBeenCalledWith",{"id":"external:expect(storage.deleteFile).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(storage.deleteFile).toHaveBeenCalledWith"}}],["external:expect(deleteEnrollment(\"user-1\", \"nonexistent\")).rejects.toThrow",{"id":"external:expect(deleteEnrollment(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(deleteEnrollment(\"user-1\", \"nonexistent\")).rejects.toThrow"}}],["external:vi.mocked(storage.getAudioUrl).mockReturnValue",{"id":"external:vi.mocked(storage.getAudioUrl).mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(storage.getAudioUrl).mockReturnValue"}}],["external:vi.mocked(ml.detectSynthetic).mockResolvedValue",{"id":"external:vi.mocked(ml.detectSynthetic).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(ml.detectSynthetic).mockResolvedValue"}}],["external:expect(result.verdict).toBe",{"id":"external:expect(result.verdict).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.verdict).toBe"}}],["symbol-name:getAnalyses",{"id":"symbol-name:getAnalyses","kind":"symbol","language":"jsts","symbolName":"getAnalyses","metadata":{"unresolvedName":"getAnalyses"}}],["symbol-name:getAnalysisResult",{"id":"symbol-name:getAnalysisResult","kind":"symbol","language":"jsts","symbolName":"getAnalysisResult","metadata":{"unresolvedName":"getAnalysisResult"}}],["external:expect(getAnalysisResult(\"user-1\", \"nonexistent\")).rejects.toThrow",{"id":"external:expect(getAnalysisResult(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getAnalysisResult(\"user-1\", \"nonexistent\")).rejects.toThrow"}}],["symbol-name:getJobStatus",{"id":"symbol-name:getJobStatus","kind":"symbol","language":"jsts","symbolName":"getJobStatus","metadata":{"unresolvedName":"getJobStatus"}}],["external:expect(result.result).toEqual",{"id":"external:expect(result.result).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.result).toEqual"}}],["external:expect(getJobStatus(\"user-1\", \"nonexistent\")).rejects.toThrow",{"id":"external:expect(getJobStatus(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getJobStatus(\"user-1\", \"nonexistent\")).rejects.toThrow"}}],["symbol-name:createBatchJob",{"id":"symbol-name:createBatchJob","kind":"symbol","language":"jsts","symbolName":"createBatchJob","metadata":{"unresolvedName":"createBatchJob"}}],["external:expect(result.analysisType).toBe",{"id":"external:expect(result.analysisType).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.analysisType).toBe"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","metadata":{"lineCount":322,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:validateDecodedSize",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:validateDecodedSize","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"validateDecodedSize","symbolKind":"function","exported":false,"metadata":{"line":33,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:(MAX_DECODED_SIZE / 1024 / 1024).toFixed",{"id":"external:(MAX_DECODED_SIZE / 1024 / 1024).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(MAX_DECODED_SIZE / 1024 / 1024).toFixed"}}],["external:(estimatedDecodedSize / 1024 / 1024).toFixed",{"id":"external:(estimatedDecodedSize / 1024 / 1024).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(estimatedDecodedSize / 1024 / 1024).toFixed"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"getEnrollments","symbolKind":"function","exported":true,"metadata":{"line":49,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(voiceEnrollments)\n .where",{"id":"external:db\n .select()\n .from(voiceEnrollments)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(voiceEnrollments)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"createEnrollment","symbolKind":"function","exported":true,"metadata":{"line":57,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["symbol-name:validateDecodedSize",{"id":"symbol-name:validateDecodedSize","kind":"symbol","language":"jsts","symbolName":"validateDecodedSize","metadata":{"unresolvedName":"validateDecodedSize"}}],["external:db\n .insert(voiceEnrollments)\n .values",{"id":"external:db\n .insert(voiceEnrollments)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(voiceEnrollments)\n .values"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"deleteEnrollment","symbolKind":"function","exported":true,"metadata":{"line":78,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .update(voiceEnrollments)\n .set",{"id":"external:db\n .update(voiceEnrollments)\n .set","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .update(voiceEnrollments)\n .set"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deriveVerdict",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deriveVerdict","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"deriveVerdict","symbolKind":"function","exported":false,"metadata":{"line":103,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"createVoiceAlert","symbolKind":"function","exported":false,"metadata":{"line":110,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(subscriptions)\n .where",{"id":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}}],["external:(confidence * 100).toFixed",{"id":"external:(confidence * 100).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(confidence * 100).toFixed"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"analyzeAudio","symbolKind":"function","exported":true,"metadata":{"line":158,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(voiceEnrollments)\n .where",{"id":"external:db\n .select()\n .from(voiceEnrollments)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(voiceEnrollments)\n .where"}}],["symbol-name:deriveVerdict",{"id":"symbol-name:deriveVerdict","kind":"symbol","language":"jsts","symbolName":"deriveVerdict","metadata":{"unresolvedName":"deriveVerdict"}}],["external:db\n .insert(voiceAnalyses)\n .values",{"id":"external:db\n .insert(voiceAnalyses)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(voiceAnalyses)\n .values"}}],["symbol-name:createVoiceAlert",{"id":"symbol-name:createVoiceAlert","kind":"symbol","language":"jsts","symbolName":"createVoiceAlert","metadata":{"unresolvedName":"createVoiceAlert"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"getAnalyses","symbolKind":"function","exported":true,"metadata":{"line":229,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(voiceAnalyses)\n .where",{"id":"external:db\n .select()\n .from(voiceAnalyses)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(voiceAnalyses)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"getAnalysisResult","symbolKind":"function","exported":true,"metadata":{"line":268,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"getJobStatus","symbolKind":"function","exported":true,"metadata":{"line":282,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .select()\n .from(analysisResults)\n .where",{"id":"external:db\n .select()\n .from(analysisResults)\n .where","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .select()\n .from(analysisResults)\n .where"}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createBatchJob",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createBatchJob","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","symbolName":"createBatchJob","symbolKind":"function","exported":true,"metadata":{"line":309,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:db\n .insert(analysisJobs)\n .values",{"id":"external:db\n .insert(analysisJobs)\n .values","kind":"external","language":"jsts","metadata":{"unresolvedName":"db\n .insert(analysisJobs)\n .values"}}],["file:/Users/mike/Code/Kordant/web/src/server/stripe.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/stripe.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/stripe.ts","metadata":{"lineCount":7,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","metadata":{"lineCount":226,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":209,"column":68,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:MockWebSocketServer",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:MockWebSocketServer","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","symbolName":"MockWebSocketServer","symbolKind":"function","exported":false,"metadata":{"line":26,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:makeWs",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:makeWs","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","symbolName":"makeWs","symbolKind":"function","exported":false,"metadata":{"line":41,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:h",{"id":"symbol-name:h","kind":"symbol","language":"jsts","symbolName":"h","metadata":{"unresolvedName":"h"}}],["/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:on",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:on","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","symbolName":"on","symbolKind":"function","exported":false,"metadata":{"line":49,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:emit",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:emit","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","symbolName":"emit","symbolKind":"function","exported":false,"metadata":{"line":52,"column":5,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:beforeAll",{"id":"symbol-name:beforeAll","kind":"symbol","language":"jsts","symbolName":"beforeAll","metadata":{"unresolvedName":"beforeAll"}}],["symbol-name:start",{"id":"symbol-name:start","kind":"symbol","language":"jsts","symbolName":"start","metadata":{"unresolvedName":"start"}}],["symbol-name:afterAll",{"id":"symbol-name:afterAll","kind":"symbol","language":"jsts","symbolName":"afterAll","metadata":{"unresolvedName":"afterAll"}}],["symbol-name:stop",{"id":"symbol-name:stop","kind":"symbol","language":"jsts","symbolName":"stop","metadata":{"unresolvedName":"stop"}}],["external:expect(verifyClient).toBeDefined",{"id":"external:expect(verifyClient).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(verifyClient).toBeDefined"}}],["symbol-name:verifyClient!",{"id":"symbol-name:verifyClient!","kind":"symbol","language":"jsts","symbolName":"verifyClient!","metadata":{"unresolvedName":"verifyClient!"}}],["symbol-name:makeWs",{"id":"symbol-name:makeWs","kind":"symbol","language":"jsts","symbolName":"makeWs","metadata":{"unresolvedName":"makeWs"}}],["symbol-name:connectionHandler!",{"id":"symbol-name:connectionHandler!","kind":"symbol","language":"jsts","symbolName":"connectionHandler!","metadata":{"unresolvedName":"connectionHandler!"}}],["external:expect(ws.close).not.toHaveBeenCalled",{"id":"external:expect(ws.close).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(ws.close).not.toHaveBeenCalled"}}],["external:mockVerifyJWT.mockRejectedValue",{"id":"external:mockVerifyJWT.mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockVerifyJWT.mockRejectedValue"}}],["external:ws.emit",{"id":"external:ws.emit","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws.emit"}}],["external:expect(ws.send).toHaveBeenCalledWith",{"id":"external:expect(ws.send).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(ws.send).toHaveBeenCalledWith"}}],["external:expect(ws.close).toHaveBeenCalledWith",{"id":"external:expect(ws.close).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(ws.close).toHaveBeenCalledWith"}}],["external:mockVerifyJWT.mockResolvedValue",{"id":"external:mockVerifyJWT.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockVerifyJWT.mockResolvedValue"}}],["file:/Users/mike/Code/Kordant/web/src/server/websocket.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","metadata":{"lineCount":327,"featureKind":"library","trustBoundaries":[]}}],["external:ws",{"id":"external:ws","kind":"external","language":"jsts","metadata":{"source":"ws"}}],["external:node:http",{"id":"external:node:http","kind":"external","language":"jsts","metadata":{"source":"node:http"}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:getTrustedOrigins",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getTrustedOrigins","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"getTrustedOrigins","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:/^https?:$/.test",{"id":"external:/^https?:$/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^https?:$/.test"}}],["external:origins.push",{"id":"external:origins.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"origins.push"}}],["external:explicit.split(\",\").map",{"id":"external:explicit.split(\",\").map","kind":"external","language":"jsts","metadata":{"unresolvedName":"explicit.split(\",\").map"}}],["external:explicit.split",{"id":"external:explicit.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"explicit.split"}}],["external:o.trim",{"id":"external:o.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"o.trim"}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:isTrustedOrigin",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:isTrustedOrigin","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"isTrustedOrigin","symbolKind":"function","exported":false,"metadata":{"line":46,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:trustedOrigins.includes",{"id":"external:trustedOrigins.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"trustedOrigins.includes"}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:authenticateToken",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:authenticateToken","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"authenticateToken","symbolKind":"function","exported":false,"metadata":{"line":84,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"addSocket","symbolKind":"function","exported":false,"metadata":{"line":95,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:userSockets.get",{"id":"external:userSockets.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"userSockets.get"}}],["external:userSockets.set",{"id":"external:userSockets.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"userSockets.set"}}],["external:sockets.add",{"id":"external:sockets.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"sockets.add"}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"removeSocket","symbolKind":"function","exported":false,"metadata":{"line":104,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:sockets.delete",{"id":"external:sockets.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"sockets.delete"}}],["external:userSockets.delete",{"id":"external:userSockets.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"userSockets.delete"}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:heartbeat",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:heartbeat","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"heartbeat","symbolKind":"function","exported":false,"metadata":{"line":113,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"startHeartbeat","symbolKind":"function","exported":false,"metadata":{"line":117,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:wss.clients.forEach",{"id":"external:wss.clients.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"wss.clients.forEach"}}],["external:ws.terminate",{"id":"external:ws.terminate","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws.terminate"}}],["external:ws.ping",{"id":"external:ws.ping","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws.ping"}}],["external:heartbeatTimer.unref",{"id":"external:heartbeatTimer.unref","kind":"external","language":"jsts","metadata":{"unresolvedName":"heartbeatTimer.unref"}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":319,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:stopHeartbeat",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stopHeartbeat","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"stopHeartbeat","symbolKind":"function","exported":false,"metadata":{"line":141,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:enforceAuthTimeout",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:enforceAuthTimeout","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"enforceAuthTimeout","symbolKind":"function","exported":false,"metadata":{"line":153,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:broadcastToUser",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:broadcastToUser","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"broadcastToUser","symbolKind":"function","exported":true,"metadata":{"line":164,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectedUsers",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectedUsers","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"getConnectedUsers","symbolKind":"function","exported":true,"metadata":{"line":179,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:userSockets.keys",{"id":"external:userSockets.keys","kind":"external","language":"jsts","metadata":{"unresolvedName":"userSockets.keys"}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectionCount",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectionCount","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"getConnectionCount","symbolKind":"function","exported":true,"metadata":{"line":183,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:userSockets.values",{"id":"external:userSockets.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"userSockets.values"}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:start",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"start","symbolKind":"function","exported":true,"metadata":{"line":191,"column":1,"cyclomaticComplexity":18,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:resolve",{"id":"symbol-name:resolve","kind":"symbol","language":"jsts","symbolName":"resolve","metadata":{"unresolvedName":"resolve"}}],["symbol-name:isTrustedOrigin",{"id":"symbol-name:isTrustedOrigin","kind":"symbol","language":"jsts","symbolName":"isTrustedOrigin","metadata":{"unresolvedName":"isTrustedOrigin"}}],["external:wss.on",{"id":"external:wss.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"wss.on"}}],["symbol-name:enforceAuthTimeout",{"id":"symbol-name:enforceAuthTimeout","kind":"symbol","language":"jsts","symbolName":"enforceAuthTimeout","metadata":{"unresolvedName":"enforceAuthTimeout"}}],["external:ws.on",{"id":"external:ws.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws.on"}}],["external:data.toString",{"id":"external:data.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.toString"}}],["symbol-name:authenticateToken",{"id":"symbol-name:authenticateToken","kind":"symbol","language":"jsts","symbolName":"authenticateToken","metadata":{"unresolvedName":"authenticateToken"}}],["symbol-name:addSocket",{"id":"symbol-name:addSocket","kind":"symbol","language":"jsts","symbolName":"addSocket","metadata":{"unresolvedName":"addSocket"}}],["symbol-name:heartbeat",{"id":"symbol-name:heartbeat","kind":"symbol","language":"jsts","symbolName":"heartbeat","metadata":{"unresolvedName":"heartbeat"}}],["symbol-name:removeSocket",{"id":"symbol-name:removeSocket","kind":"symbol","language":"jsts","symbolName":"removeSocket","metadata":{"unresolvedName":"removeSocket"}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:verifyClient",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:verifyClient","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"verifyClient","symbolKind":"function","exported":false,"metadata":{"line":201,"column":19,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop",{"id":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/websocket.ts","symbolName":"stop","symbolKind":"function","exported":true,"metadata":{"line":307,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:wss.close",{"id":"external:wss.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"wss.close"}}],["external:userSockets.clear",{"id":"external:userSockets.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"userSockets.clear"}}],["file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js",{"id":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js","metadata":{"lineCount":7,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js:migrate",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js:migrate","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js","symbolName":"migrate","symbolKind":"function","exported":false,"metadata":{"line":1,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js",{"id":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js","metadata":{"lineCount":24,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js:drizzle",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js:drizzle","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js","symbolName":"drizzle","symbolKind":"function","exported":false,"metadata":{"line":1,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js",{"id":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","metadata":{"lineCount":96,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createColumn",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createColumn","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","symbolName":"createColumn","symbolKind":"function","exported":false,"metadata":{"line":4,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:get",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:get","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","symbolName":"get","symbolKind":"function","exported":false,"metadata":{"line":74,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":73,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:apply",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:apply","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","symbolName":"apply","symbolKind":"function","exported":false,"metadata":{"line":75,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:sqliteTable",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:sqliteTable","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","symbolName":"sqliteTable","symbolKind":"function","exported":false,"metadata":{"line":21,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:columns.push",{"id":"external:columns.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"columns.push"}}],["symbol-name:indexesFn",{"id":"symbol-name:indexesFn","kind":"symbol","language":"jsts","symbolName":"indexesFn","metadata":{"unresolvedName":"indexesFn"}}],["external:indexes.push",{"id":"external:indexes.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"indexes.push"}}],["external:tableRegistry.set",{"id":"external:tableRegistry.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"tableRegistry.set"}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:textFn",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:textFn","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","symbolName":"textFn","symbolKind":"function","exported":false,"metadata":{"line":53,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createColumn",{"id":"symbol-name:createColumn","kind":"symbol","language":"jsts","symbolName":"createColumn","metadata":{"unresolvedName":"createColumn"}}],["external:allColumns.push",{"id":"external:allColumns.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"allColumns.push"}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:integerFn",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:integerFn","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","symbolName":"integerFn","symbolKind":"function","exported":false,"metadata":{"line":59,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:realFn",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:realFn","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","symbolName":"realFn","symbolKind":"function","exported":false,"metadata":{"line":65,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createChainable",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createChainable","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","symbolName":"createChainable","symbolKind":"function","exported":false,"metadata":{"line":71,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","symbolName":"getTableConfig","symbolKind":"function","exported":false,"metadata":{"line":84,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:tableRegistry.get",{"id":"external:tableRegistry.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"tableRegistry.get"}}],["file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js",{"id":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","metadata":{"lineCount":29,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:createChainable",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:createChainable","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","symbolName":"createChainable","symbolKind":"function","exported":false,"metadata":{"line":2,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createChainable",{"id":"symbol-name:createChainable","kind":"symbol","language":"jsts","symbolName":"createChainable","metadata":{"unresolvedName":"createChainable"}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":3,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:apply",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:apply","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","symbolName":"apply","symbolKind":"function","exported":false,"metadata":{"line":4,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:get",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:get","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","symbolName":"get","symbolKind":"function","exported":false,"metadata":{"line":5,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js",{"id":"file:/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js","metadata":{"lineCount":9,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js:createClient",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js:createClient","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js","symbolName":"createClient","symbolKind":"function","exported":false,"metadata":{"line":1,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js:close",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js:close","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js","symbolName":"close","symbolKind":"function","exported":false,"metadata":{"line":3,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/test/__mocks__/ws.js",{"id":"file:/Users/mike/Code/Kordant/web/test/__mocks__/ws.js","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/ws.js","metadata":{"lineCount":16,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/ws.js:on",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/ws.js:on","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/ws.js","symbolName":"on","symbolKind":"function","exported":false,"metadata":{"line":10,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/__mocks__/ws.js:close",{"id":"/Users/mike/Code/Kordant/web/test/__mocks__/ws.js:close","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/__mocks__/ws.js","symbolName":"close","symbolKind":"function","exported":false,"metadata":{"line":11,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/test/setup.ts",{"id":"file:/Users/mike/Code/Kordant/web/test/setup.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","metadata":{"lineCount":93,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":25,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:on",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:on","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"on","symbolKind":"function","exported":false,"metadata":{"line":7,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:close",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:close","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"close","symbolKind":"function","exported":false,"metadata":{"line":8,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:setSize",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:setSize","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"setSize","symbolKind":"function","exported":false,"metadata":{"line":28,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:setPixelRatio",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:setPixelRatio","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"setPixelRatio","symbolKind":"function","exported":false,"metadata":{"line":29,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:setClearColor",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:setClearColor","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"setClearColor","symbolKind":"function","exported":false,"metadata":{"line":30,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:render",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"render","symbolKind":"function","exported":false,"metadata":{"line":31,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:dispose",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:dispose","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"dispose","symbolKind":"function","exported":false,"metadata":{"line":56,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:add",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:add","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"add","symbolKind":"function","exported":false,"metadata":{"line":36,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:updateProjectionMatrix",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:updateProjectionMatrix","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"updateProjectionMatrix","symbolKind":"function","exported":false,"metadata":{"line":41,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:computeVertexNormals",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:computeVertexNormals","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"computeVertexNormals","symbolKind":"function","exported":false,"metadata":{"line":46,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:setAttribute",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:setAttribute","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"setAttribute","symbolKind":"function","exported":false,"metadata":{"line":48,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:set",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:set","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"set","symbolKind":"function","exported":false,"metadata":{"line":61,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:multiplyScalar",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:multiplyScalar","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"multiplyScalar","symbolKind":"function","exported":false,"metadata":{"line":61,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:update",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:update","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"update","symbolKind":"function","exported":false,"metadata":{"line":74,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:getDelta",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:getDelta","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"getDelta","symbolKind":"function","exported":false,"metadata":{"line":75,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/test/setup.ts:getElapsed",{"id":"/Users/mike/Code/Kordant/web/test/setup.ts:getElapsed","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/test/setup.ts","symbolName":"getElapsed","symbolKind":"function","exported":false,"metadata":{"line":76,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/Users/mike/Code/Kordant/web/vite.config.ts",{"id":"file:/Users/mike/Code/Kordant/web/vite.config.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/vite.config.ts","metadata":{"lineCount":13,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:vite",{"id":"external:vite","kind":"external","language":"jsts","metadata":{"source":"vite"}}],["external:@solidjs/vite-plugin-nitro-2",{"id":"external:@solidjs/vite-plugin-nitro-2","kind":"external","language":"jsts","metadata":{"source":"@solidjs/vite-plugin-nitro-2"}}],["external:@tailwindcss/vite",{"id":"external:@tailwindcss/vite","kind":"external","language":"jsts","metadata":{"source":"@tailwindcss/vite"}}],["external:@solidjs/start/config",{"id":"external:@solidjs/start/config","kind":"external","language":"jsts","metadata":{"source":"@solidjs/start/config"}}],["file:/Users/mike/Code/Kordant/web/vitest.config.ts",{"id":"file:/Users/mike/Code/Kordant/web/vitest.config.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/vitest.config.ts","metadata":{"lineCount":60,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:vitest/config",{"id":"external:vitest/config","kind":"external","language":"jsts","metadata":{"source":"vitest/config"}}],["external:path",{"id":"external:path","kind":"external","language":"jsts","metadata":{"source":"path"}}],["external:fs",{"id":"external:fs","kind":"external","language":"jsts","metadata":{"source":"fs"}}],["external:vite-plugin-solid",{"id":"external:vite-plugin-solid","kind":"external","language":"jsts","metadata":{"source":"vite-plugin-solid"}}],["/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile",{"id":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/vitest.config.ts","symbolName":"loadEnvFile","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:trimmed.startsWith",{"id":"external:trimmed.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.startsWith"}}],["external:trimmed.slice(0, eqIndex).trim",{"id":"external:trimmed.slice(0, eqIndex).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.slice(0, eqIndex).trim"}}],["external:trimmed.slice(eqIndex + 1).trim",{"id":"external:trimmed.slice(eqIndex + 1).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.slice(eqIndex + 1).trim"}}],["external:value.startsWith",{"id":"external:value.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.startsWith"}}],["external:value.endsWith",{"id":"external:value.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.endsWith"}}],["external:value.slice",{"id":"external:value.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.slice"}}],["file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts",{"id":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","kind":"file","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","metadata":{"lineCount":301,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:createChain",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:createChain","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","symbolName":"createChain","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:get",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:get","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","symbolName":"get","symbolKind":"function","exported":false,"metadata":{"line":9,"column":5,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>",{"id":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":274,"column":55,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":[]}}],["external:expect(createEnrollment(\"user-1\", \"My Voice\", largeAudio)).rejects.toThrow",{"id":"external:expect(createEnrollment(\"user-1\", \"My Voice\", largeAudio)).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(createEnrollment(\"user-1\", \"My Voice\", largeAudio)).rejects.toThrow"}}],["external:expect(analyzeAudio(\"user-1\", largeAudio)).rejects.toThrow",{"id":"external:expect(analyzeAudio(\"user-1\", largeAudio)).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(analyzeAudio(\"user-1\", largeAudio)).rejects.toThrow"}}]],"edges":[{"from":"file:/Users/mike/Code/Kordant/web/drizzle.config.ts","to":"external:drizzle-kit","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"external:@playwright/test","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:test","kind":"calls","metadata":{"unresolvedName":"test"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.goto","kind":"calls","metadata":{"unresolvedName":"page.goto"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(page).toHaveTitle","kind":"calls","metadata":{"unresolvedName":"expect(page).toHaveTitle"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.getByRole(\"link\", { name: /features/i }).click","kind":"calls","metadata":{"unresolvedName":"page.getByRole(\"link\", { name: /features/i }).click"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.getByRole","kind":"calls","metadata":{"unresolvedName":"page.getByRole"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(page).toHaveURL","kind":"calls","metadata":{"unresolvedName":"expect(page).toHaveURL"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(page.locator(\"form\")).toBeVisible","kind":"calls","metadata":{"unresolvedName":"expect(page.locator(\"form\")).toBeVisible"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.locator","kind":"calls","metadata":{"unresolvedName":"page.locator"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(page).toBeURL","kind":"calls","metadata":{"unresolvedName":"expect(page).toBeURL"}},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.goto","kind":"calls","metadata":{"unresolvedName":"page.goto"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(page).toHaveTitle","kind":"calls","metadata":{"unresolvedName":"expect(page).toHaveTitle"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.goto","kind":"calls","metadata":{"unresolvedName":"page.goto"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.getByRole(\"link\", { name: /features/i }).click","kind":"calls","metadata":{"unresolvedName":"page.getByRole(\"link\", { name: /features/i }).click"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.getByRole","kind":"calls","metadata":{"unresolvedName":"page.getByRole"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(page).toHaveURL","kind":"calls","metadata":{"unresolvedName":"expect(page).toHaveURL"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.goto","kind":"calls","metadata":{"unresolvedName":"page.goto"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(page.locator(\"form\")).toBeVisible","kind":"calls","metadata":{"unresolvedName":"expect(page.locator(\"form\")).toBeVisible"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.locator","kind":"calls","metadata":{"unresolvedName":"page.locator"}},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.goto","kind":"calls","metadata":{"unresolvedName":"page.goto"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(page.locator(\"form\")).toBeVisible","kind":"calls","metadata":{"unresolvedName":"expect(page.locator(\"form\")).toBeVisible"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.locator","kind":"calls","metadata":{"unresolvedName":"page.locator"}},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.goto","kind":"calls","metadata":{"unresolvedName":"page.goto"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(page).toBeURL","kind":"calls","metadata":{"unresolvedName":"expect(page).toBeURL"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:test","kind":"calls","metadata":{"unresolvedName":"test"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.goto","kind":"calls","metadata":{"unresolvedName":"page.goto"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.evaluate","kind":"calls","metadata":{"unresolvedName":"page.evaluate"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:issues.push","kind":"calls","metadata":{"unresolvedName":"issues.push"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(contrasts).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(contrasts).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.locator(\"img\").all","kind":"calls","metadata":{"unresolvedName":"page.locator(\"img\").all"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.locator","kind":"calls","metadata":{"unresolvedName":"page.locator"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:img.getAttribute","kind":"calls","metadata":{"unresolvedName":"img.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(alt).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(alt).toBeDefined"}},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.goto","kind":"calls","metadata":{"unresolvedName":"page.goto"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.evaluate","kind":"calls","metadata":{"unresolvedName":"page.evaluate"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:issues.push","kind":"calls","metadata":{"unresolvedName":"issues.push"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(contrasts).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(contrasts).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:issues.push","kind":"calls","metadata":{"unresolvedName":"issues.push"}},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts","to":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.goto","kind":"calls","metadata":{"unresolvedName":"page.goto"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.locator(\"img\").all","kind":"calls","metadata":{"unresolvedName":"page.locator(\"img\").all"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:page.locator","kind":"calls","metadata":{"unresolvedName":"page.locator"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:img.getAttribute","kind":"calls","metadata":{"unresolvedName":"img.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"external:expect(alt).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(alt).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/e2e/critical-flows.spec.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/playwright.config.ts","to":"external:@playwright/test","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/public/instrument.server.mjs","to":"external:@sentry/solidstart","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"external:@solidjs/start/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"external:clerk-solidjs/start","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"external:clerk-solidjs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/layout","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"file:/Users/mike/Code/Kordant/web/src/app.css","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"/Users/mike/Code/Kordant/web/src/app.tsx:pathMatches","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"/Users/mike/Code/Kordant/web/src/app.tsx:pathMatches","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:pathMatches","to":"external:prefixes.some","kind":"calls","metadata":{"unresolvedName":"prefixes.some"}},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:pathMatches","to":"external:pathname.startsWith","kind":"calls","metadata":{"unresolvedName":"pathname.startsWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"/Users/mike/Code/Kordant/web/src/app.tsx:RouteGuard","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"/Users/mike/Code/Kordant/web/src/app.tsx:RouteGuard","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:RouteGuard","to":"symbol-name:useLocation","kind":"calls","metadata":{"unresolvedName":"useLocation"}},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:RouteGuard","to":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","kind":"calls","metadata":{"unresolvedName":"useAuth"}},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:RouteGuard","to":"external:auth.isLoaded","kind":"calls","metadata":{"unresolvedName":"auth.isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:RouteGuard","to":"external:auth.isSignedIn","kind":"calls","metadata":{"unresolvedName":"auth.isSignedIn"}},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:RouteGuard","to":"/Users/mike/Code/Kordant/web/src/app.tsx:pathMatches","kind":"calls","metadata":{"unresolvedName":"pathMatches"}},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:RouteGuard","to":"/Users/mike/Code/Kordant/web/src/app.tsx:redirect","kind":"calls","metadata":{"unresolvedName":"redirect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"/Users/mike/Code/Kordant/web/src/app.tsx:redirect","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"/Users/mike/Code/Kordant/web/src/app.tsx:redirect","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:redirect","to":"external:auth.isLoaded","kind":"calls","metadata":{"unresolvedName":"auth.isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:redirect","to":"external:auth.isSignedIn","kind":"calls","metadata":{"unresolvedName":"auth.isSignedIn"}},{"from":"/Users/mike/Code/Kordant/web/src/app.tsx:redirect","to":"/Users/mike/Code/Kordant/web/src/app.tsx:pathMatches","kind":"calls","metadata":{"unresolvedName":"pathMatches"}},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"/Users/mike/Code/Kordant/web/src/app.tsx:ClerkApp","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"/Users/mike/Code/Kordant/web/src/app.tsx:ClerkApp","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"/Users/mike/Code/Kordant/web/src/app.tsx:App","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/app.tsx","to":"/Users/mike/Code/Kordant/web/src/app.tsx:App","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/Counter.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/Counter.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/Counter.css","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/Counter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/Counter.tsx:Counter","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/Counter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/Counter.tsx:Counter","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/Counter.tsx:Counter","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/Counter.tsx:Counter","to":"symbol-name:setCount","kind":"calls","metadata":{"unresolvedName":"setCount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/Counter.tsx:Counter","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","to":"external:@stripe/stripe-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"external:mod.loadStripe","kind":"calls","metadata":{"unresolvedName":"mod.loadStripe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"external:stripe.createEmbeddedCheckoutPage","kind":"calls","metadata":{"unresolvedName":"stripe.createEmbeddedCheckoutPage"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"external:props.onCheckoutComplete","kind":"calls","metadata":{"unresolvedName":"props.onCheckoutComplete"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"external:embeddedCheckout.mount","kind":"calls","metadata":{"unresolvedName":"embeddedCheckout.mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"external:embeddedCheckout?.destroy","kind":"calls","metadata":{"unresolvedName":"embeddedCheckout?.destroy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"symbol-name:loading","kind":"calls","metadata":{"unresolvedName":"loading"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:EmbeddedCheckout","to":"symbol-name:error","kind":"calls","metadata":{"unresolvedName":"error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","to":"external:mod.loadStripe","kind":"calls","metadata":{"unresolvedName":"mod.loadStripe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","to":"external:stripe.createEmbeddedCheckoutPage","kind":"calls","metadata":{"unresolvedName":"stripe.createEmbeddedCheckoutPage"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","to":"external:props.onCheckoutComplete","kind":"calls","metadata":{"unresolvedName":"props.onCheckoutComplete"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","to":"external:embeddedCheckout.mount","kind":"calls","metadata":{"unresolvedName":"embeddedCheckout.mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","to":"external:embeddedCheckout?.destroy","kind":"calls","metadata":{"unresolvedName":"embeddedCheckout?.destroy"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:onComplete","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:onComplete","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:onComplete","to":"external:props.onCheckoutComplete","kind":"calls","metadata":{"unresolvedName":"props.onCheckoutComplete"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/EmbeddedCheckout.tsx:<anonymous>","to":"external:embeddedCheckout?.destroy","kind":"calls","metadata":{"unresolvedName":"embeddedCheckout?.destroy"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","to":"external:~/components/layout","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","to":"symbol-name:setIndex","kind":"calls","metadata":{"unresolvedName":"setIndex"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","to":"symbol-name:index","kind":"calls","metadata":{"unresolvedName":"index"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:AuthLayout","to":"symbol-name:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>","to":"symbol-name:setIndex","kind":"calls","metadata":{"unresolvedName":"setIndex"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx:<anonymous>","to":"symbol-name:setIndex","kind":"calls","metadata":{"unresolvedName":"setIndex"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","to":"external:globalThis.crypto?.randomUUID","kind":"calls","metadata":{"unresolvedName":"globalThis.crypto?.randomUUID"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","to":"external:Math.random().toString(36).slice","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).slice"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","to":"symbol-name:id","kind":"calls","metadata":{"unresolvedName":"id"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","to":"symbol-name:visible","kind":"calls","metadata":{"unresolvedName":"visible"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx:PasswordInput","to":"symbol-name:setVisible","kind":"calls","metadata":{"unresolvedName":"setVisible"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx:SocialAuthButtons","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx:SocialAuthButtons","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"external:solid-js/web","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/auth/PasswordInput.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/auth/SocialAuthButtons.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/auth/AuthLayout.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:mount","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:mount","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:mount","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:mount","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:mount","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:mount","to":"symbol-name:comp","kind":"calls","metadata":{"unresolvedName":"comp"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"label\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"label\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(input.getAttribute(\"type\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(input.getAttribute(\"type\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:input.getAttribute","kind":"calls","metadata":{"unresolvedName":"input.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(toggle.getAttribute(\"aria-label\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toggle.getAttribute(\"aria-label\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:toggle.getAttribute","kind":"calls","metadata":{"unresolvedName":"toggle.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:toggle.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"toggle.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:input.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"input.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(onInput).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onInput).toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"label\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"label\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(input.getAttribute(\"type\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(input.getAttribute(\"type\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:input.getAttribute","kind":"calls","metadata":{"unresolvedName":"input.getAttribute"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(input.getAttribute(\"type\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(input.getAttribute(\"type\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:input.getAttribute","kind":"calls","metadata":{"unresolvedName":"input.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(toggle.getAttribute(\"aria-label\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toggle.getAttribute(\"aria-label\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:toggle.getAttribute","kind":"calls","metadata":{"unresolvedName":"toggle.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:toggle.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"toggle.dispatchEvent"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:input.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"input.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(onInput).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onInput).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(buttons.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(buttons.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(buttons[0].textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(buttons[0].textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(buttons[1].textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(buttons[1].textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(buttons[0].querySelector(\"svg\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(buttons[0].querySelector(\"svg\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:buttons[0].querySelector","kind":"calls","metadata":{"unresolvedName":"buttons[0].querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(buttons[1].querySelector(\"svg\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(buttons[1].querySelector(\"svg\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:buttons[1].querySelector","kind":"calls","metadata":{"unresolvedName":"buttons[1].querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(buttons.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(buttons.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(buttons[0].textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(buttons[0].textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(buttons[1].textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(buttons[1].textContent).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(buttons[0].querySelector(\"svg\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(buttons[0].querySelector(\"svg\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:buttons[0].querySelector","kind":"calls","metadata":{"unresolvedName":"buttons[0].querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(buttons[1].querySelector(\"svg\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(buttons[1].querySelector(\"svg\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:buttons[1].querySelector","kind":"calls","metadata":{"unresolvedName":"buttons[1].querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\".gradient-card\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\".gradient-card\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\".gradient-card\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\".gradient-card\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/auth/auth.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:ActivityIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:ActivityIcon","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:ActivityIcon","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:ActivityFeed","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:ActivityFeed","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ActivityFeed.tsx:ActivityFeed","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"external:~/components/ui/Card","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"external:~/components/ui/Badge","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"external:~/components/ui/Button","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:severityVariant","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:severityVariant","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:timeAgo","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:timeAgo","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:timeAgo","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:timeAgo","to":"external:new Date(date).getTime","kind":"calls","metadata":{"unresolvedName":"new Date(date).getTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:timeAgo","to":"external:date.getTime","kind":"calls","metadata":{"unresolvedName":"date.getTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:timeAgo","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:SeverityIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:SeverityIcon","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:SeverityIcon","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:color","kind":"calls","metadata":{"unresolvedName":"color"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:color","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:color","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"external:api.correlation.getAlerts.query","kind":"calls","metadata":{"unresolvedName":"api.correlation.getAlerts.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:alerts","kind":"calls","metadata":{"unresolvedName":"alerts"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:setResolving","kind":"calls","metadata":{"unresolvedName":"setResolving"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"external:api.correlation.resolveAlert.mutate","kind":"calls","metadata":{"unresolvedName":"api.correlation.resolveAlert.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:items","kind":"calls","metadata":{"unresolvedName":"items"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:severityVariant","kind":"calls","metadata":{"unresolvedName":"severityVariant"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:timeAgo","kind":"calls","metadata":{"unresolvedName":"timeAgo"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"symbol-name:resolving","kind":"calls","metadata":{"unresolvedName":"resolving"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:handleMarkRead","kind":"calls","metadata":{"unresolvedName":"handleMarkRead"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:AlertFeedWidget","to":"external:[1, 2, 3].map","kind":"calls","metadata":{"unresolvedName":"[1, 2, 3].map"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:handleMarkRead","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:handleMarkRead","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:handleMarkRead","to":"symbol-name:setResolving","kind":"calls","metadata":{"unresolvedName":"setResolving"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:handleMarkRead","to":"external:api.correlation.resolveAlert.mutate","kind":"calls","metadata":{"unresolvedName":"api.correlation.resolveAlert.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:handleMarkRead","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","to":"symbol-name:severityVariant","kind":"calls","metadata":{"unresolvedName":"severityVariant"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:timeAgo","kind":"calls","metadata":{"unresolvedName":"timeAgo"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","to":"symbol-name:resolving","kind":"calls","metadata":{"unresolvedName":"resolving"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:handleMarkRead","kind":"calls","metadata":{"unresolvedName":"handleMarkRead"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"external:~/components/ui/Card","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"external:~/components/ui/Badge","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"external:~/components/ui/Button","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityColor","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityColor","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityVariant","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityVariant","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityLabel","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityLabel","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"external:api.darkwatch.getExposures.query","kind":"calls","metadata":{"unresolvedName":"api.darkwatch.getExposures.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:exposures","kind":"calls","metadata":{"unresolvedName":"exposures"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"external:Object.entries(counts).map","kind":"calls","metadata":{"unresolvedName":"Object.entries(counts).map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityColor","kind":"calls","metadata":{"unresolvedName":"severityColor"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:severityLabel","kind":"calls","metadata":{"unresolvedName":"severityLabel"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:setScanning","kind":"calls","metadata":{"unresolvedName":"setScanning"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"external:api.darkwatch.runScan.mutate","kind":"calls","metadata":{"unresolvedName":"api.darkwatch.runScan.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:scanning","kind":"calls","metadata":{"unresolvedName":"scanning"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown","kind":"calls","metadata":{"unresolvedName":"severityBreakdown"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:severityVariant","kind":"calls","metadata":{"unresolvedName":"severityVariant"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:latest","kind":"calls","metadata":{"unresolvedName":"latest"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"symbol-name:l","kind":"calls","metadata":{"unresolvedName":"l"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"external:new Date(data.detectedAt as string).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(data.detectedAt as string).toLocaleDateString"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:ExposureWidget","to":"external:[1, 2, 3].map","kind":"calls","metadata":{"unresolvedName":"[1, 2, 3].map"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown","to":"symbol-name:exposures","kind":"calls","metadata":{"unresolvedName":"exposures"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown","to":"external:Object.entries(counts).map","kind":"calls","metadata":{"unresolvedName":"Object.entries(counts).map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityColor","kind":"calls","metadata":{"unresolvedName":"severityColor"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:severityBreakdown","to":"symbol-name:severityLabel","kind":"calls","metadata":{"unresolvedName":"severityLabel"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:handleRunScan","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:handleRunScan","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:handleRunScan","to":"symbol-name:setScanning","kind":"calls","metadata":{"unresolvedName":"setScanning"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:handleRunScan","to":"external:api.darkwatch.runScan.mutate","kind":"calls","metadata":{"unresolvedName":"api.darkwatch.runScan.mutate"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","to":"symbol-name:l","kind":"calls","metadata":{"unresolvedName":"l"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","to":"symbol-name:severityVariant","kind":"calls","metadata":{"unresolvedName":"severityVariant"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","to":"symbol-name:severityLabel","kind":"calls","metadata":{"unresolvedName":"severityLabel"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx:<anonymous>","to":"external:new Date(data.detectedAt as string).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(data.detectedAt as string).toLocaleDateString"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"external:~/components/ui/Card","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"external:~/components/ui/Badge","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:severityVariant","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:severityVariant","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:severityLabel","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:severityLabel","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"external:api.hometitle.getProperties.query","kind":"calls","metadata":{"unresolvedName":"api.hometitle.getProperties.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"external:api.hometitle.getAlerts.query","kind":"calls","metadata":{"unresolvedName":"api.hometitle.getAlerts.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:properties","kind":"calls","metadata":{"unresolvedName":"properties"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:alerts","kind":"calls","metadata":{"unresolvedName":"alerts"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:changes","kind":"calls","metadata":{"unresolvedName":"changes"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"external:[1, 2].map","kind":"calls","metadata":{"unresolvedName":"[1, 2].map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:propertyCount","kind":"calls","metadata":{"unresolvedName":"propertyCount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:changeCount","kind":"calls","metadata":{"unresolvedName":"changeCount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:latestChange","kind":"calls","metadata":{"unresolvedName":"latestChange"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:lc","kind":"calls","metadata":{"unresolvedName":"lc"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:severityVariant","kind":"calls","metadata":{"unresolvedName":"severityVariant"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"symbol-name:severityLabel","kind":"calls","metadata":{"unresolvedName":"severityLabel"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"external:String(c.changeType ?? \"\").replace","kind":"calls","metadata":{"unresolvedName":"String(c.changeType ?? \"\").replace"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:HomeTitleWidget","to":"external:new Date(c.detectedAt as string).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(c.detectedAt as string).toLocaleDateString"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","to":"symbol-name:lc","kind":"calls","metadata":{"unresolvedName":"lc"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","to":"symbol-name:severityVariant","kind":"calls","metadata":{"unresolvedName":"severityVariant"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","to":"symbol-name:severityLabel","kind":"calls","metadata":{"unresolvedName":"severityLabel"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","to":"external:String(c.changeType ?? \"\").replace","kind":"calls","metadata":{"unresolvedName":"String(c.changeType ?? \"\").replace"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx:<anonymous>","to":"external:new Date(c.detectedAt as string).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(c.detectedAt as string).toLocaleDateString"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx:QuickActions","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx:QuickActions","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx:QuickActions","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActions.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","to":"external:~/components/ui/Card","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx:ActionSVG","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx:ActionSVG","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx:QuickActionsWidget","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx:QuickActionsWidget","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx:QuickActionsWidget","to":"external:actions.map","kind":"calls","metadata":{"unresolvedName":"actions.map"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"external:~/components/ui/Card","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"external:api.removebrokers.getStats.query","kind":"calls","metadata":{"unresolvedName":"api.removebrokers.getStats.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"external:api.removebrokers.getBrokerRegistry.query","kind":"calls","metadata":{"unresolvedName":"api.removebrokers.getBrokerRegistry.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:registry","kind":"calls","metadata":{"unresolvedName":"registry"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"calls","metadata":{"unresolvedName":"stats"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"external:[1, 2, 3].map","kind":"calls","metadata":{"unresolvedName":"[1, 2, 3].map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:totalBrokers","kind":"calls","metadata":{"unresolvedName":"totalBrokers"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:pending","kind":"calls","metadata":{"unresolvedName":"pending"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:completed","kind":"calls","metadata":{"unresolvedName":"completed"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:completionRate","kind":"calls","metadata":{"unresolvedName":"completionRate"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:RemoveBrokersWidget","to":"symbol-name:totalRequests","kind":"calls","metadata":{"unresolvedName":"totalRequests"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:<anonymous>","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:pending","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:pending","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx:pending","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"calls","metadata":{"unresolvedName":"stats"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:OverviewIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:OverviewIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:DarkWatchIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:DarkWatchIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:VoicePrintIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:VoicePrintIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:SpamShieldIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:SpamShieldIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:HomeTitleIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:HomeTitleIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:RemoveBrokersIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:RemoveBrokersIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:SettingsIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:SettingsIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:Sidebar","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:Sidebar","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:Sidebar","to":"symbol-name:useLocation","kind":"calls","metadata":{"unresolvedName":"useLocation"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:Sidebar","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:Sidebar","to":"external:sidebarLinks.map","kind":"calls","metadata":{"unresolvedName":"sidebarLinks.map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:Sidebar","to":"external:location.pathname.startsWith","kind":"calls","metadata":{"unresolvedName":"location.pathname.startsWith"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:Sidebar","to":"external:props.onClose","kind":"calls","metadata":{"unresolvedName":"props.onClose"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:<anonymous>","to":"external:location.pathname.startsWith","kind":"calls","metadata":{"unresolvedName":"location.pathname.startsWith"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/Sidebar.tsx:<anonymous>","to":"external:props.onClose","kind":"calls","metadata":{"unresolvedName":"props.onClose"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"external:~/components/ui/Card","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"external:~/components/ui/Badge","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"external:api.spamshield.getStats.query","kind":"calls","metadata":{"unresolvedName":"api.spamshield.getStats.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"external:api.spamshield.getRules.query","kind":"calls","metadata":{"unresolvedName":"api.spamshield.getRules.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"calls","metadata":{"unresolvedName":"stats"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:rules","kind":"calls","metadata":{"unresolvedName":"rules"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"external:userRules.slice(0, 3).map","kind":"calls","metadata":{"unresolvedName":"userRules.slice(0, 3).map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"external:userRules.slice","kind":"calls","metadata":{"unresolvedName":"userRules.slice"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:blockedToday","kind":"calls","metadata":{"unresolvedName":"blockedToday"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:totalDetections","kind":"calls","metadata":{"unresolvedName":"totalDetections"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:accuracy","kind":"calls","metadata":{"unresolvedName":"accuracy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:topSources","kind":"calls","metadata":{"unresolvedName":"topSources"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"symbol-name:rulesCount","kind":"calls","metadata":{"unresolvedName":"rulesCount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:SpamShieldWidget","to":"external:[1, 2, 3].map","kind":"calls","metadata":{"unresolvedName":"[1, 2, 3].map"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:<anonymous>","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:topSources","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:topSources","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:topSources","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:rules","kind":"calls","metadata":{"unresolvedName":"rules"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:topSources","to":"external:userRules.slice(0, 3).map","kind":"calls","metadata":{"unresolvedName":"userRules.slice(0, 3).map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:topSources","to":"external:userRules.slice","kind":"calls","metadata":{"unresolvedName":"userRules.slice"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx:topSources","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx:StatCard","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx:StatCard","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/StatCard.tsx:StatCard","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"external:~/components/ui/Card","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:scoreColor","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:scoreColor","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:scoreLabel","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:scoreLabel","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"external:api.correlation.getStats.query","kind":"calls","metadata":{"unresolvedName":"api.correlation.getStats.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"calls","metadata":{"unresolvedName":"stats"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:score","kind":"calls","metadata":{"unresolvedName":"score"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:prevScore","kind":"calls","metadata":{"unresolvedName":"prevScore"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:setPrevScore","kind":"calls","metadata":{"unresolvedName":"setPrevScore"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:scoreColor","kind":"calls","metadata":{"unresolvedName":"scoreColor"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:scoreLabel","kind":"calls","metadata":{"unresolvedName":"scoreLabel"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx:color","kind":"calls","metadata":{"unresolvedName":"color"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:dashOffset","kind":"calls","metadata":{"unresolvedName":"dashOffset"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"symbol-name:label","kind":"calls","metadata":{"unresolvedName":"label"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:ThreatScoreWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:trend","kind":"calls","metadata":{"unresolvedName":"trend"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:<anonymous>","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:score","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:score","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:score","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"calls","metadata":{"unresolvedName":"stats"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:trend","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:trend","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:trend","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:score","kind":"calls","metadata":{"unresolvedName":"score"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:trend","to":"symbol-name:prevScore","kind":"calls","metadata":{"unresolvedName":"prevScore"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx:trend","to":"symbol-name:setPrevScore","kind":"calls","metadata":{"unresolvedName":"setPrevScore"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","to":"external:~/hooks","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","kind":"calls","metadata":{"unresolvedName":"useAuth"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"external:auth.user","kind":"calls","metadata":{"unresolvedName":"auth.user"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"external:name\n .split(\" \")\n .map((n: string) => n[0])\n .join","kind":"calls","metadata":{"unresolvedName":"name\n .split(\" \")\n .map((n: string) => n[0])\n .join"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"external:name\n .split(\" \")\n .map","kind":"calls","metadata":{"unresolvedName":"name\n .split(\" \")\n .map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"external:name\n .split","kind":"calls","metadata":{"unresolvedName":"name\n .split"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"external:props.onMenuToggle","kind":"calls","metadata":{"unresolvedName":"props.onMenuToggle"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"external:notifications.unreadCount","kind":"calls","metadata":{"unresolvedName":"notifications.unreadCount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"symbol-name:setShowDropdown","kind":"calls","metadata":{"unresolvedName":"setShowDropdown"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:initials","kind":"calls","metadata":{"unresolvedName":"initials"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"symbol-name:showDropdown","kind":"calls","metadata":{"unresolvedName":"showDropdown"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:TopBar","to":"external:auth.logout","kind":"calls","metadata":{"unresolvedName":"auth.logout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:initials","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:initials","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:initials","to":"external:auth.user","kind":"calls","metadata":{"unresolvedName":"auth.user"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:initials","to":"external:name\n .split(\" \")\n .map((n: string) => n[0])\n .join","kind":"calls","metadata":{"unresolvedName":"name\n .split(\" \")\n .map((n: string) => n[0])\n .join"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:initials","to":"external:name\n .split(\" \")\n .map","kind":"calls","metadata":{"unresolvedName":"name\n .split(\" \")\n .map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:initials","to":"external:name\n .split","kind":"calls","metadata":{"unresolvedName":"name\n .split"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:<anonymous>","to":"symbol-name:setShowDropdown","kind":"calls","metadata":{"unresolvedName":"setShowDropdown"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/TopBar.tsx:<anonymous>","to":"external:auth.logout","kind":"calls","metadata":{"unresolvedName":"auth.logout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"external:~/components/ui/Card","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"external:~/components/ui/Button","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"external:api.voiceprint.getEnrollments.query","kind":"calls","metadata":{"unresolvedName":"api.voiceprint.getEnrollments.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"external:api.voiceprint.getAnalyses.query","kind":"calls","metadata":{"unresolvedName":"api.voiceprint.getAnalyses.query"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:enrollments","kind":"calls","metadata":{"unresolvedName":"enrollments"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:analyses","kind":"calls","metadata":{"unresolvedName":"analyses"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:analysisItems","kind":"calls","metadata":{"unresolvedName":"analysisItems"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"external:items.filter","kind":"calls","metadata":{"unresolvedName":"items.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"external:items.map","kind":"calls","metadata":{"unresolvedName":"items.map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"external:[1, 2, 3].map","kind":"calls","metadata":{"unresolvedName":"[1, 2, 3].map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:enrollmentCount","kind":"calls","metadata":{"unresolvedName":"enrollmentCount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"symbol-name:analysisCount","kind":"calls","metadata":{"unresolvedName":"analysisCount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:syntheticRate","kind":"calls","metadata":{"unresolvedName":"syntheticRate"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"external:analysisItems().slice","kind":"calls","metadata":{"unresolvedName":"analysisItems().slice"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:maxConfidence","kind":"calls","metadata":{"unresolvedName":"maxConfidence"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:VoicePrintWidget","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","to":"symbol-name:setTick","kind":"calls","metadata":{"unresolvedName":"setTick"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:syntheticRate","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:syntheticRate","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:syntheticRate","to":"symbol-name:analysisItems","kind":"calls","metadata":{"unresolvedName":"analysisItems"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:syntheticRate","to":"external:items.filter","kind":"calls","metadata":{"unresolvedName":"items.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:syntheticRate","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:maxConfidence","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:maxConfidence","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:maxConfidence","to":"symbol-name:analysisItems","kind":"calls","metadata":{"unresolvedName":"analysisItems"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:maxConfidence","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:maxConfidence","to":"external:items.map","kind":"calls","metadata":{"unresolvedName":"items.map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:maxConfidence","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:maxConfidence","kind":"calls","metadata":{"unresolvedName":"maxConfidence"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"external:solid-js/web","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ThreatScoreWidget.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/AlertFeedWidget.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/ExposureWidget.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/VoicePrintWidget.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/SpamShieldWidget.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/HomeTitleWidget.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/RemoveBrokersWidget.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/QuickActionsWidget.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mount","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mount","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mount","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mount","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mount","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mount","to":"symbol-name:comp","kind":"calls","metadata":{"unresolvedName":"comp"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(mockGetStats).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockGetStats).toHaveBeenCalledTimes"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetStats.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(mockGetStats).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockGetStats).toHaveBeenCalledTimes"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetAlerts.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlerts.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(buttons.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(buttons.length).toBeGreaterThanOrEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(mockGetAlerts).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetAlerts).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockResolveAlert.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockResolveAlert.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:button.click","kind":"calls","metadata":{"unresolvedName":"button.click"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(mockResolveAlert).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockResolveAlert).toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetAlerts.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlerts.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(buttons.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(buttons.length).toBeGreaterThanOrEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(mockGetAlerts).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetAlerts).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetAlerts.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlerts.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockResolveAlert.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockResolveAlert.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:button.click","kind":"calls","metadata":{"unresolvedName":"button.click"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(mockResolveAlert).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockResolveAlert).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetExposures.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetExposures.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(buttons.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(buttons.length).toBeGreaterThanOrEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(mockGetExposures).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetExposures).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetExposures.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetExposures.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(buttons.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(buttons.length).toBeGreaterThanOrEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(mockGetExposures).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetExposures).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetEnrollments.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetEnrollments.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetAnalyses.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAnalyses.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetEnrollments.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetEnrollments.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetAnalyses.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAnalyses.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetSpamStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetSpamStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetRules.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRules.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetSpamStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetSpamStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetRules.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRules.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetProperties.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetProperties.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetAlertsHT.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlertsHT.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetProperties.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetProperties.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetAlertsHT.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlertsHT.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetRemoveStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRemoveStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetBrokerRegistry.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetBrokerRegistry.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetRemoveStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRemoveStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:mockGetBrokerRegistry.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetBrokerRegistry.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:mountWithRouter","kind":"calls","metadata":{"unresolvedName":"mountWithRouter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:Array.from(links).map","kind":"calls","metadata":{"unresolvedName":"Array.from(links).map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:l.getAttribute","kind":"calls","metadata":{"unresolvedName":"l.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(hrefs).toContain","kind":"calls","metadata":{"unresolvedName":"expect(hrefs).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:Array.from(links).map","kind":"calls","metadata":{"unresolvedName":"Array.from(links).map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:l.getAttribute","kind":"calls","metadata":{"unresolvedName":"l.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"external:expect(hrefs).toContain","kind":"calls","metadata":{"unresolvedName":"expect(hrefs).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/dashboard/dashboard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:easeOutQuart","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:easeOutQuart","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:easeOutQuart","to":"external:Math.pow","kind":"calls","metadata":{"unresolvedName":"Math.pow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:renderer.setClearColor","kind":"calls","metadata":{"unresolvedName":"renderer.setClearColor"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:renderer.setPixelRatio","kind":"calls","metadata":{"unresolvedName":"renderer.setPixelRatio"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:renderer.setSize","kind":"calls","metadata":{"unresolvedName":"renderer.setSize"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:containerRef.appendChild","kind":"calls","metadata":{"unresolvedName":"containerRef.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:camera.updateProjectionMatrix","kind":"calls","metadata":{"unresolvedName":"camera.updateProjectionMatrix"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:geometry.computeVertexNormals","kind":"calls","metadata":{"unresolvedName":"geometry.computeVertexNormals"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:geometry.setAttribute","kind":"calls","metadata":{"unresolvedName":"geometry.setAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:mesh.rotation.set","kind":"calls","metadata":{"unresolvedName":"mesh.rotation.set"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:mesh.scale.set","kind":"calls","metadata":{"unresolvedName":"mesh.scale.set"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:mesh.scale.multiplyScalar","kind":"calls","metadata":{"unresolvedName":"mesh.scale.multiplyScalar"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:setPlaneTransform","kind":"calls","metadata":{"unresolvedName":"setPlaneTransform"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:scene.add","kind":"calls","metadata":{"unresolvedName":"scene.add"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:timer.update","kind":"calls","metadata":{"unresolvedName":"timer.update"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:timer.getDelta","kind":"calls","metadata":{"unresolvedName":"timer.getDelta"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:timer.getElapsed","kind":"calls","metadata":{"unresolvedName":"timer.getElapsed"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:Math.sin","kind":"calls","metadata":{"unresolvedName":"Math.sin"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:easeOutQuart","kind":"calls","metadata":{"unresolvedName":"easeOutQuart"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:renderer.render","kind":"calls","metadata":{"unresolvedName":"renderer.render"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:geometry.dispose","kind":"calls","metadata":{"unresolvedName":"geometry.dispose"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:material.dispose","kind":"calls","metadata":{"unresolvedName":"material.dispose"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:ColorWaveBackground","to":"external:renderer.dispose","kind":"calls","metadata":{"unresolvedName":"renderer.dispose"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:renderer.setClearColor","kind":"calls","metadata":{"unresolvedName":"renderer.setClearColor"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:renderer.setPixelRatio","kind":"calls","metadata":{"unresolvedName":"renderer.setPixelRatio"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:renderer.setSize","kind":"calls","metadata":{"unresolvedName":"renderer.setSize"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:containerRef.appendChild","kind":"calls","metadata":{"unresolvedName":"containerRef.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:camera.updateProjectionMatrix","kind":"calls","metadata":{"unresolvedName":"camera.updateProjectionMatrix"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:geometry.computeVertexNormals","kind":"calls","metadata":{"unresolvedName":"geometry.computeVertexNormals"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:geometry.setAttribute","kind":"calls","metadata":{"unresolvedName":"geometry.setAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:mesh.rotation.set","kind":"calls","metadata":{"unresolvedName":"mesh.rotation.set"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:mesh.scale.set","kind":"calls","metadata":{"unresolvedName":"mesh.scale.set"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:mesh.scale.multiplyScalar","kind":"calls","metadata":{"unresolvedName":"mesh.scale.multiplyScalar"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:setPlaneTransform","kind":"calls","metadata":{"unresolvedName":"setPlaneTransform"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:scene.add","kind":"calls","metadata":{"unresolvedName":"scene.add"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:timer.update","kind":"calls","metadata":{"unresolvedName":"timer.update"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:timer.getDelta","kind":"calls","metadata":{"unresolvedName":"timer.getDelta"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:timer.getElapsed","kind":"calls","metadata":{"unresolvedName":"timer.getElapsed"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:Math.sin","kind":"calls","metadata":{"unresolvedName":"Math.sin"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:easeOutQuart","kind":"calls","metadata":{"unresolvedName":"easeOutQuart"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:renderer.render","kind":"calls","metadata":{"unresolvedName":"renderer.render"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:geometry.dispose","kind":"calls","metadata":{"unresolvedName":"geometry.dispose"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:material.dispose","kind":"calls","metadata":{"unresolvedName":"material.dispose"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:renderer.dispose","kind":"calls","metadata":{"unresolvedName":"renderer.dispose"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:setPlaneTransform","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:setPlaneTransform","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:setPlaneTransform","to":"external:mesh.rotation.set","kind":"calls","metadata":{"unresolvedName":"mesh.rotation.set"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:setPlaneTransform","to":"external:mesh.scale.set","kind":"calls","metadata":{"unresolvedName":"mesh.scale.set"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:setPlaneTransform","to":"external:mesh.scale.multiplyScalar","kind":"calls","metadata":{"unresolvedName":"mesh.scale.multiplyScalar"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","to":"external:timer.update","kind":"calls","metadata":{"unresolvedName":"timer.update"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","to":"external:timer.getDelta","kind":"calls","metadata":{"unresolvedName":"timer.getDelta"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","to":"external:timer.getElapsed","kind":"calls","metadata":{"unresolvedName":"timer.getElapsed"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","to":"external:Math.sin","kind":"calls","metadata":{"unresolvedName":"Math.sin"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:easeOutQuart","kind":"calls","metadata":{"unresolvedName":"easeOutQuart"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","to":"external:renderer.render","kind":"calls","metadata":{"unresolvedName":"renderer.render"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:animate","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onResize","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onResize","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onResize","to":"external:renderer.setSize","kind":"calls","metadata":{"unresolvedName":"renderer.setSize"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onResize","to":"external:camera.updateProjectionMatrix","kind":"calls","metadata":{"unresolvedName":"camera.updateProjectionMatrix"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onResize","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:setPlaneTransform","kind":"calls","metadata":{"unresolvedName":"setPlaneTransform"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onVisibilityChange","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:onVisibilityChange","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:geometry.dispose","kind":"calls","metadata":{"unresolvedName":"geometry.dispose"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:material.dispose","kind":"calls","metadata":{"unresolvedName":"material.dispose"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx:<anonymous>","to":"external:renderer.dispose","kind":"calls","metadata":{"unresolvedName":"renderer.dispose"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"external:solid-js/web","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/landing/ColorWaveBackground.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","to":"symbol-name:comp","kind":"calls","metadata":{"unresolvedName":"comp"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","to":"external:vi.waitFor","kind":"calls","metadata":{"unresolvedName":"vi.waitFor"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","to":"external:expect(document.querySelector(\"canvas\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"canvas\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:mount","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"canvas\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"canvas\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(canvas).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas.style.position).toBe","kind":"calls","metadata":{"unresolvedName":"expect(canvas.style.position).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas.style.top).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(canvas.style.top).toMatch"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas.style.left).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(canvas.style.left).toMatch"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas.style.width).toBe","kind":"calls","metadata":{"unresolvedName":"expect(canvas.style.width).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas.style.height).toBe","kind":"calls","metadata":{"unresolvedName":"expect(canvas.style.height).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(container).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(container).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(container!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(container!.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(canvas).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas.style.position).toBe","kind":"calls","metadata":{"unresolvedName":"expect(canvas.style.position).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas.style.top).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(canvas.style.top).toMatch"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas.style.left).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(canvas.style.left).toMatch"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas.style.width).toBe","kind":"calls","metadata":{"unresolvedName":"expect(canvas.style.width).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas.style.height).toBe","kind":"calls","metadata":{"unresolvedName":"expect(canvas.style.height).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(container).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(container).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(container!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(container!.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(canvas).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(canvas).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(canvas).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"external:expect(canvas).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(canvas).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/landing/background.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell","to":"external:window.scrollTo","kind":"calls","metadata":{"unresolvedName":"window.scrollTo"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:onRouteChange","kind":"calls","metadata":{"unresolvedName":"onRouteChange"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:AppShell","to":"symbol-name:title","kind":"calls","metadata":{"unresolvedName":"title"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","to":"external:window.scrollTo","kind":"calls","metadata":{"unresolvedName":"window.scrollTo"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:onRouteChange","kind":"calls","metadata":{"unresolvedName":"onRouteChange"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:onRouteChange","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:onRouteChange","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:onRouteChange","to":"external:window.scrollTo","kind":"calls","metadata":{"unresolvedName":"window.scrollTo"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:onRouteChange","kind":"calls","metadata":{"unresolvedName":"onRouteChange"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/AppShell.tsx:<anonymous>","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:ShieldLogo","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:ShieldLogo","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:GithubIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:GithubIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:TwitterIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:TwitterIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:LinkedInIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:LinkedInIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:Footer","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:Footer","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Footer.tsx:Footer","to":"external:new Date().getFullYear","kind":"calls","metadata":{"unresolvedName":"new Date().getFullYear"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"external:~/components/ui/Typewriter","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"external:~/lib/theme","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"external:clerk-solidjs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"external:~/hooks/useRealtimeAlerts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ShieldLogo","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ShieldLogo","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ThemeToggle","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ThemeToggle","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ThemeToggle","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ThemeToggle","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ThemeToggle","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ThemeToggle","to":"symbol-name:setMounted","kind":"calls","metadata":{"unresolvedName":"setMounted"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ThemeToggle","to":"symbol-name:mounted","kind":"calls","metadata":{"unresolvedName":"mounted"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:ThemeToggle","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>","to":"symbol-name:setMounted","kind":"calls","metadata":{"unresolvedName":"setMounted"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:RealtimeIndicator","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:RealtimeIndicator","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:RealtimeIndicator","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","kind":"calls","metadata":{"unresolvedName":"useRealtimeAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:RealtimeIndicator","to":"symbol-name:unreadCount","kind":"calls","metadata":{"unresolvedName":"unreadCount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:RealtimeIndicator","to":"symbol-name:connectionStatus","kind":"calls","metadata":{"unresolvedName":"connectionStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"symbol-name:useLocation","kind":"calls","metadata":{"unresolvedName":"useLocation"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"symbol-name:setScrolled","kind":"calls","metadata":{"unresolvedName":"setScrolled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"external:location.pathname.startsWith","kind":"calls","metadata":{"unresolvedName":"location.pathname.startsWith"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:isActive","kind":"calls","metadata":{"unresolvedName":"isActive"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"symbol-name:setMobileOpen","kind":"calls","metadata":{"unresolvedName":"setMobileOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"symbol-name:scrolled","kind":"calls","metadata":{"unresolvedName":"scrolled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"external:marketingLinks.map","kind":"calls","metadata":{"unresolvedName":"marketingLinks.map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"external:productLinks.map","kind":"calls","metadata":{"unresolvedName":"productLinks.map"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:Navbar","to":"symbol-name:mobileOpen","kind":"calls","metadata":{"unresolvedName":"mobileOpen"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>","to":"symbol-name:setScrolled","kind":"calls","metadata":{"unresolvedName":"setScrolled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:<anonymous>","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:onScroll","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:onScroll","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:onScroll","to":"symbol-name:setScrolled","kind":"calls","metadata":{"unresolvedName":"setScrolled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:isActive","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:isActive","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/Navbar.tsx:isActive","to":"external:location.pathname.startsWith","kind":"calls","metadata":{"unresolvedName":"location.pathname.startsWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx:PageContainer","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx:PageContainer","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx:PageContainer","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"external:solid-js/web","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/layout/PageContainer.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:mount","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:mount","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:mount","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:mount","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:mount","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:mount","to":"symbol-name:comp","kind":"calls","metadata":{"unresolvedName":"comp"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(container).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(container.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(container).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(container.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(container).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(container.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(container).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(container.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(container).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(container.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(container).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(container.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(container).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(container.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(container.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(typeof mod.useAuth).toBe","kind":"calls","metadata":{"unresolvedName":"expect(typeof mod.useAuth).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"external:expect(typeof mod.useAuth).toBe","kind":"calls","metadata":{"unresolvedName":"expect(typeof mod.useAuth).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/layout/layout.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx:Badge","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx:Badge","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx:Badge","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Spinner","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Spinner","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Button","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Button","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Button","to":"symbol-name:isDisabled","kind":"calls","metadata":{"unresolvedName":"isDisabled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Button","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Button","to":"symbol-name:variant","kind":"calls","metadata":{"unresolvedName":"variant"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx:Button","to":"symbol-name:size","kind":"calls","metadata":{"unresolvedName":"size"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx:Card","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx:Card","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx:Card","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx:EmptyState","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx:EmptyState","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx:EmptyState","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ShieldLogo","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ShieldLogo","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","to":"external:URL.createObjectURL","kind":"calls","metadata":{"unresolvedName":"URL.createObjectURL"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","to":"external:a.click","kind":"calls","metadata":{"unresolvedName":"a.click"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","to":"external:URL.revokeObjectURL","kind":"calls","metadata":{"unresolvedName":"URL.revokeObjectURL"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorFallback","to":"symbol-name:expanded","kind":"calls","metadata":{"unresolvedName":"expanded"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:handleReport","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:handleReport","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:handleReport","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:handleReport","to":"external:URL.createObjectURL","kind":"calls","metadata":{"unresolvedName":"URL.createObjectURL"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:handleReport","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:handleReport","to":"external:a.click","kind":"calls","metadata":{"unresolvedName":"a.click"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:handleReport","to":"external:URL.revokeObjectURL","kind":"calls","metadata":{"unresolvedName":"URL.revokeObjectURL"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorBoundary","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx:ErrorBoundary","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:Input","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:Input","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:Input","to":"external:globalThis.crypto?.randomUUID","kind":"calls","metadata":{"unresolvedName":"globalThis.crypto?.randomUUID"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:Input","to":"external:Math.random().toString(36).slice","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).slice"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:Input","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:Input","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:Input","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx:Input","to":"symbol-name:id","kind":"calls","metadata":{"unresolvedName":"id"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"external:solid-js/web","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"symbol-name:createEffect","kind":"calls","metadata":{"unresolvedName":"createEffect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"symbol-name:setVisible","kind":"calls","metadata":{"unresolvedName":"setVisible"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"symbol-name:setAnimating","kind":"calls","metadata":{"unresolvedName":"setAnimating"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"symbol-name:visible","kind":"calls","metadata":{"unresolvedName":"visible"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"external:props.onClose","kind":"calls","metadata":{"unresolvedName":"props.onClose"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"external:contentRef.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"contentRef.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"external:last?.focus","kind":"calls","metadata":{"unresolvedName":"last?.focus"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"external:first?.focus","kind":"calls","metadata":{"unresolvedName":"first?.focus"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"external:focusable[0]?.focus","kind":"calls","metadata":{"unresolvedName":"focusable[0]?.focus"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:Modal","to":"symbol-name:animating","kind":"calls","metadata":{"unresolvedName":"animating"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"symbol-name:setVisible","kind":"calls","metadata":{"unresolvedName":"setVisible"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"symbol-name:setAnimating","kind":"calls","metadata":{"unresolvedName":"setAnimating"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"symbol-name:visible","kind":"calls","metadata":{"unresolvedName":"visible"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleBackdropClick","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleBackdropClick","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleBackdropClick","to":"external:props.onClose","kind":"calls","metadata":{"unresolvedName":"props.onClose"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleKeyDown","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleKeyDown","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleKeyDown","to":"external:props.onClose","kind":"calls","metadata":{"unresolvedName":"props.onClose"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleKeyDown","to":"external:contentRef.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"contentRef.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleKeyDown","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleKeyDown","to":"external:last?.focus","kind":"calls","metadata":{"unresolvedName":"last?.focus"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:handleKeyDown","to":"external:first?.focus","kind":"calls","metadata":{"unresolvedName":"first?.focus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"symbol-name:visible","kind":"calls","metadata":{"unresolvedName":"visible"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"external:contentRef.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"contentRef.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx:<anonymous>","to":"external:focusable[0]?.focus","kind":"calls","metadata":{"unresolvedName":"focusable[0]?.focus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition","to":"symbol-name:useLocation","kind":"calls","metadata":{"unresolvedName":"useLocation"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition","to":"symbol-name:createEffect","kind":"calls","metadata":{"unresolvedName":"createEffect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition","to":"symbol-name:setEntering","kind":"calls","metadata":{"unresolvedName":"setEntering"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:PageTransition","to":"symbol-name:entering","kind":"calls","metadata":{"unresolvedName":"entering"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:<anonymous>","to":"symbol-name:setEntering","kind":"calls","metadata":{"unresolvedName":"setEntering"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:<anonymous>","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:<anonymous>","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/PageTransition.tsx:<anonymous>","to":"symbol-name:setEntering","kind":"calls","metadata":{"unresolvedName":"setEntering"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonText","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonText","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonText","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonText","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonText","to":"symbol-name:lines","kind":"calls","metadata":{"unresolvedName":"lines"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonText","to":"symbol-name:i","kind":"calls","metadata":{"unresolvedName":"i"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonCard","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonCard","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonCard","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonAvatar","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonAvatar","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonAvatar","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonAvatar","to":"symbol-name:size","kind":"calls","metadata":{"unresolvedName":"size"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonTable","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonTable","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonTable","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonTable","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonTable","to":"symbol-name:rows","kind":"calls","metadata":{"unresolvedName":"rows"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonTable","to":"symbol-name:columns","kind":"calls","metadata":{"unresolvedName":"columns"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonTable","to":"symbol-name:i","kind":"calls","metadata":{"unresolvedName":"i"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx:SkeletonTable","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"external:globalThis.crypto?.randomUUID","kind":"calls","metadata":{"unresolvedName":"globalThis.crypto?.randomUUID"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"external:Math.random().toString(36).slice","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).slice"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"symbol-name:setToasts","kind":"calls","metadata":{"unresolvedName":"setToasts"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","kind":"calls","metadata":{"unresolvedName":"dismissToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"external:timers.set","kind":"calls","metadata":{"unresolvedName":"timers.set"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"external:timers.get","kind":"calls","metadata":{"unresolvedName":"timers.get"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"external:timers.delete","kind":"calls","metadata":{"unresolvedName":"timers.delete"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"external:timers.values","kind":"calls","metadata":{"unresolvedName":"timers.values"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastProvider","to":"external:timers.clear","kind":"calls","metadata":{"unresolvedName":"timers.clear"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","to":"external:globalThis.crypto?.randomUUID","kind":"calls","metadata":{"unresolvedName":"globalThis.crypto?.randomUUID"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","to":"external:Math.random().toString(36).slice","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).slice"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","to":"symbol-name:setToasts","kind":"calls","metadata":{"unresolvedName":"setToasts"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","kind":"calls","metadata":{"unresolvedName":"dismissToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","to":"external:timers.set","kind":"calls","metadata":{"unresolvedName":"timers.set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","to":"external:timers.get","kind":"calls","metadata":{"unresolvedName":"timers.get"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","to":"external:timers.delete","kind":"calls","metadata":{"unresolvedName":"timers.delete"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","to":"symbol-name:setToasts","kind":"calls","metadata":{"unresolvedName":"setToasts"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:<anonymous>","to":"external:timers.values","kind":"calls","metadata":{"unresolvedName":"timers.values"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:<anonymous>","to":"external:timers.clear","kind":"calls","metadata":{"unresolvedName":"timers.clear"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastContainer","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastContainer","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastContainer","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastContainer","to":"symbol-name:toasts","kind":"calls","metadata":{"unresolvedName":"toasts"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastContainer","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:ToastContainer","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:dismissToast","kind":"calls","metadata":{"unresolvedName":"dismissToast"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:children","kind":"calls","metadata":{"unresolvedName":"children"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:text.trim","kind":"calls","metadata":{"unresolvedName":"text.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:document.createDocumentFragment","kind":"calls","metadata":{"unresolvedName":"document.createDocumentFragment"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:text.split(\"\").forEach","kind":"calls","metadata":{"unresolvedName":"text.split(\"\").forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:text.split","kind":"calls","metadata":{"unresolvedName":"text.split"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:charElements.push","kind":"calls","metadata":{"unresolvedName":"charElements.push"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:span.appendChild","kind":"calls","metadata":{"unresolvedName":"span.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:fragment.appendChild","kind":"calls","metadata":{"unresolvedName":"fragment.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:node.parentNode?.replaceChild","kind":"calls","metadata":{"unresolvedName":"node.parentNode?.replaceChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:Array.from(node.childNodes).forEach","kind":"calls","metadata":{"unresolvedName":"Array.from(node.childNodes).forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","kind":"calls","metadata":{"unresolvedName":"walkDOM"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:setAnimated","kind":"calls","metadata":{"unresolvedName":"setAnimated"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:containerRef.setAttribute","kind":"calls","metadata":{"unresolvedName":"containerRef.setAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:setShouldHide","kind":"calls","metadata":{"unresolvedName":"setShouldHide"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:cursorRef?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"cursorRef?.removeEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:setIsTyping","kind":"calls","metadata":{"unresolvedName":"setIsTyping"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:charSpan.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"charSpan.getBoundingClientRect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:containerRef?.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"containerRef?.getBoundingClientRect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:cursorRef?.addEventListener","kind":"calls","metadata":{"unresolvedName":"cursorRef?.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:setIsDelaying","kind":"calls","metadata":{"unresolvedName":"setIsDelaying"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","kind":"calls","metadata":{"unresolvedName":"startReveal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:entries.forEach","kind":"calls","metadata":{"unresolvedName":"entries.forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:cleanupAnimation","kind":"calls","metadata":{"unresolvedName":"cleanupAnimation"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:isDelaying","kind":"calls","metadata":{"unresolvedName":"isDelaying"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:isTyping","kind":"calls","metadata":{"unresolvedName":"isTyping"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:shouldHide","kind":"calls","metadata":{"unresolvedName":"shouldHide"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:animated","kind":"calls","metadata":{"unresolvedName":"animated"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:Typewriter","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:getCursorClass","kind":"calls","metadata":{"unresolvedName":"getCursorClass"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:text.trim","kind":"calls","metadata":{"unresolvedName":"text.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:document.createDocumentFragment","kind":"calls","metadata":{"unresolvedName":"document.createDocumentFragment"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:text.split(\"\").forEach","kind":"calls","metadata":{"unresolvedName":"text.split(\"\").forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:text.split","kind":"calls","metadata":{"unresolvedName":"text.split"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:charElements.push","kind":"calls","metadata":{"unresolvedName":"charElements.push"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:span.appendChild","kind":"calls","metadata":{"unresolvedName":"span.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:fragment.appendChild","kind":"calls","metadata":{"unresolvedName":"fragment.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:node.parentNode?.replaceChild","kind":"calls","metadata":{"unresolvedName":"node.parentNode?.replaceChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:Array.from(node.childNodes).forEach","kind":"calls","metadata":{"unresolvedName":"Array.from(node.childNodes).forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","kind":"calls","metadata":{"unresolvedName":"walkDOM"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:setAnimated","kind":"calls","metadata":{"unresolvedName":"setAnimated"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:containerRef.setAttribute","kind":"calls","metadata":{"unresolvedName":"containerRef.setAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:setShouldHide","kind":"calls","metadata":{"unresolvedName":"setShouldHide"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:cursorRef?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"cursorRef?.removeEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:setIsTyping","kind":"calls","metadata":{"unresolvedName":"setIsTyping"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:charSpan.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"charSpan.getBoundingClientRect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:containerRef?.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"containerRef?.getBoundingClientRect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:cursorRef?.addEventListener","kind":"calls","metadata":{"unresolvedName":"cursorRef?.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:setIsDelaying","kind":"calls","metadata":{"unresolvedName":"setIsDelaying"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","kind":"calls","metadata":{"unresolvedName":"startReveal"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:entries.forEach","kind":"calls","metadata":{"unresolvedName":"entries.forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:cleanupAnimation","kind":"calls","metadata":{"unresolvedName":"cleanupAnimation"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:text.trim","kind":"calls","metadata":{"unresolvedName":"text.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:document.createDocumentFragment","kind":"calls","metadata":{"unresolvedName":"document.createDocumentFragment"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:text.split(\"\").forEach","kind":"calls","metadata":{"unresolvedName":"text.split(\"\").forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:text.split","kind":"calls","metadata":{"unresolvedName":"text.split"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:charElements.push","kind":"calls","metadata":{"unresolvedName":"charElements.push"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:span.appendChild","kind":"calls","metadata":{"unresolvedName":"span.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:fragment.appendChild","kind":"calls","metadata":{"unresolvedName":"fragment.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:node.parentNode?.replaceChild","kind":"calls","metadata":{"unresolvedName":"node.parentNode?.replaceChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:Array.from(node.childNodes).forEach","kind":"calls","metadata":{"unresolvedName":"Array.from(node.childNodes).forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:walkDOM","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:charElements.push","kind":"calls","metadata":{"unresolvedName":"charElements.push"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:span.appendChild","kind":"calls","metadata":{"unresolvedName":"span.appendChild"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:handleAnimationEnd","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:handleAnimationEnd","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:handleAnimationEnd","to":"symbol-name:setShouldHide","kind":"calls","metadata":{"unresolvedName":"setShouldHide"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:handleAnimationEnd","to":"external:cursorRef?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"cursorRef?.removeEventListener"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","to":"symbol-name:setIsTyping","kind":"calls","metadata":{"unresolvedName":"setIsTyping"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","to":"external:charSpan.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"charSpan.getBoundingClientRect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","to":"external:containerRef?.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"containerRef?.getBoundingClientRect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","to":"external:cursorRef?.addEventListener","kind":"calls","metadata":{"unresolvedName":"cursorRef?.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:revealNextChar","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:revealNextChar","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:revealNextChar","to":"external:charSpan.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"charSpan.getBoundingClientRect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:revealNextChar","to":"external:containerRef?.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"containerRef?.getBoundingClientRect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:revealNextChar","to":"symbol-name:setIsTyping","kind":"calls","metadata":{"unresolvedName":"setIsTyping"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:revealNextChar","to":"external:cursorRef?.addEventListener","kind":"calls","metadata":{"unresolvedName":"cursorRef?.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:revealNextChar","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:revealNextChar","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:setIsDelaying","kind":"calls","metadata":{"unresolvedName":"setIsDelaying"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:startReveal","kind":"calls","metadata":{"unresolvedName":"startReveal"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:entries.forEach","kind":"calls","metadata":{"unresolvedName":"entries.forEach"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:<anonymous>","to":"symbol-name:cleanupAnimation","kind":"calls","metadata":{"unresolvedName":"cleanupAnimation"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:getCursorClass","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:getCursorClass","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:getCursorClass","to":"symbol-name:isDelaying","kind":"calls","metadata":{"unresolvedName":"isDelaying"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:getCursorClass","to":"symbol-name:isTyping","kind":"calls","metadata":{"unresolvedName":"isTyping"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/Typewriter.tsx:getCursorClass","to":"symbol-name:shouldHide","kind":"calls","metadata":{"unresolvedName":"shouldHide"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"external:solid-js/web","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/Card.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/Input.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/Badge.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/Modal.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/ErrorBoundary.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/EmptyState.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/components/ui/Skeleton.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:mount","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:mount","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:mount","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:mount","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:mount","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:mount","to":"symbol-name:comp","kind":"calls","metadata":{"unresolvedName":"comp"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.getAttribute(\"type\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(btn.getAttribute(\"type\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:btn.getAttribute","kind":"calls","metadata":{"unresolvedName":"btn.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"button\")!.disabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"button\")!.disabled).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.disabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(btn.disabled).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.querySelector(\"svg\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(btn.querySelector(\"svg\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:btn.querySelector","kind":"calls","metadata":{"unresolvedName":"btn.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector(\"button\")!.click","kind":"calls","metadata":{"unresolvedName":"document.querySelector(\"button\")!.click"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClick).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onClick).toHaveBeenCalledTimes"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClick).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onClick).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"button\")!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"button\")!.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.getAttribute(\"type\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(btn.getAttribute(\"type\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:btn.getAttribute","kind":"calls","metadata":{"unresolvedName":"btn.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"button\")!.disabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"button\")!.disabled).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.disabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(btn.disabled).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.querySelector(\"svg\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(btn.querySelector(\"svg\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:btn.querySelector","kind":"calls","metadata":{"unresolvedName":"btn.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector(\"button\")!.click","kind":"calls","metadata":{"unresolvedName":"document.querySelector(\"button\")!.click"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClick).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onClick).toHaveBeenCalledTimes"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector(\"button\")!.click","kind":"calls","metadata":{"unresolvedName":"document.querySelector(\"button\")!.click"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClick).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onClick).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"button\")!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"button\")!.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\".gradient-card\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\".gradient-card\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.querySelector(\".my-card\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.body.querySelector(\".my-card\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.querySelector","kind":"calls","metadata":{"unresolvedName":"document.body.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\".gradient-card\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\".gradient-card\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.querySelector(\".my-card\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.body.querySelector(\".my-card\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.querySelector","kind":"calls","metadata":{"unresolvedName":"document.body.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"label\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"label\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(input.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(input.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"input\")!.getAttribute(\"type\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"input\")!.getAttribute(\"type\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector(\"input\")!.getAttribute","kind":"calls","metadata":{"unresolvedName":"document.querySelector(\"input\")!.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"input\")!.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"input\")!.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"label\")!.getAttribute(\"for\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"label\")!.getAttribute(\"for\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector(\"label\")!.getAttribute","kind":"calls","metadata":{"unresolvedName":"document.querySelector(\"label\")!.getAttribute"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"label\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"label\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(input.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(input.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"input\")!.getAttribute(\"type\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"input\")!.getAttribute(\"type\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector(\"input\")!.getAttribute","kind":"calls","metadata":{"unresolvedName":"document.querySelector(\"input\")!.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"input\")!.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"input\")!.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"label\")!.getAttribute(\"for\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"label\")!.getAttribute(\"for\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector(\"label\")!.getAttribute","kind":"calls","metadata":{"unresolvedName":"document.querySelector(\"label\")!.getAttribute"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"input\")!.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"input\")!.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(badge.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(badge.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(badge.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(badge.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"span\")!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"span\")!.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(badge.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(badge.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(badge.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(badge.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"span\")!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"span\")!.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"span\")!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"span\")!.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"span\")!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"span\")!.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"span\")!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"span\")!.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"span\")!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"span\")!.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"span\")!.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"span\")!.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.querySelector","kind":"calls","metadata":{"unresolvedName":"document.body.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:overlay.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"overlay.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClose).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:dialog.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"dialog.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClose).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onClose).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(dialog.getAttribute(\"aria-modal\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(dialog.getAttribute(\"aria-modal\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:dialog.getAttribute","kind":"calls","metadata":{"unresolvedName":"dialog.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(dialog.getAttribute(\"aria-label\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(dialog.getAttribute(\"aria-label\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:container.remove","kind":"calls","metadata":{"unresolvedName":"container.remove"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.querySelector","kind":"calls","metadata":{"unresolvedName":"document.body.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:overlay.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"overlay.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClose).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.querySelector","kind":"calls","metadata":{"unresolvedName":"document.body.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:overlay.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"overlay.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClose).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.querySelector","kind":"calls","metadata":{"unresolvedName":"document.body.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:dialog.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"dialog.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClose).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onClose).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.querySelector","kind":"calls","metadata":{"unresolvedName":"document.body.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(dialog.getAttribute(\"aria-modal\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(dialog.getAttribute(\"aria-modal\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:dialog.getAttribute","kind":"calls","metadata":{"unresolvedName":"dialog.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(dialog.getAttribute(\"aria-label\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(dialog.getAttribute(\"aria-label\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:container.remove","kind":"calls","metadata":{"unresolvedName":"container.remove"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(captured).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(captured).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(typeof captured!.showToast).toBe","kind":"calls","metadata":{"unresolvedName":"expect(typeof captured!.showToast).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(typeof captured!.dismissToast).toBe","kind":"calls","metadata":{"unresolvedName":"expect(typeof captured!.dismissToast).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:show","kind":"calls","metadata":{"unresolvedName":"show"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:toast.dismissToast","kind":"calls","metadata":{"unresolvedName":"toast.dismissToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:dismiss","kind":"calls","metadata":{"unresolvedName":"dismiss"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:toast.toasts","kind":"calls","metadata":{"unresolvedName":"toast.toasts"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.querySelector","kind":"calls","metadata":{"unresolvedName":"document.body.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(toastEl.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(toastEl.className).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(captured).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(captured).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(typeof captured!.showToast).toBe","kind":"calls","metadata":{"unresolvedName":"expect(typeof captured!.showToast).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(typeof captured!.dismissToast).toBe","kind":"calls","metadata":{"unresolvedName":"expect(typeof captured!.dismissToast).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Bad","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Bad","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Bad","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:show","kind":"calls","metadata":{"unresolvedName":"show"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:toast.dismissToast","kind":"calls","metadata":{"unresolvedName":"toast.dismissToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:show","kind":"calls","metadata":{"unresolvedName":"show"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:dismiss","kind":"calls","metadata":{"unresolvedName":"dismiss"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"external:toast.dismissToast","kind":"calls","metadata":{"unresolvedName":"toast.dismissToast"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:show","kind":"calls","metadata":{"unresolvedName":"show"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:toast.toasts","kind":"calls","metadata":{"unresolvedName":"toast.toasts"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:show","kind":"calls","metadata":{"unresolvedName":"show"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"external:toast.toasts","kind":"calls","metadata":{"unresolvedName":"toast.toasts"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:show","kind":"calls","metadata":{"unresolvedName":"show"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.body.querySelector","kind":"calls","metadata":{"unresolvedName":"document.body.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(toastEl.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(toastEl.className).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Child","to":"external:toast.showToast","kind":"calls","metadata":{"unresolvedName":"toast.showToast"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Throwing","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:Throwing","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(el).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(el).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(el.getAttribute(\"aria-label\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(el.getAttribute(\"aria-label\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:el.getAttribute","kind":"calls","metadata":{"unresolvedName":"el.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(bars.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(bars.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(el.style.width).toBe","kind":"calls","metadata":{"unresolvedName":"expect(el.style.width).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(el.style.height).toBe","kind":"calls","metadata":{"unresolvedName":"expect(el.style.height).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(rows.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(rows.length).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(el).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(el).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(el.getAttribute(\"aria-label\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(el.getAttribute(\"aria-label\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:el.getAttribute","kind":"calls","metadata":{"unresolvedName":"el.getAttribute"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(bars.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(bars.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(el).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(el).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(el.getAttribute(\"aria-label\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(el.getAttribute(\"aria-label\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:el.getAttribute","kind":"calls","metadata":{"unresolvedName":"el.getAttribute"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(el.style.width).toBe","kind":"calls","metadata":{"unresolvedName":"expect(el.style.width).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(el.style.height).toBe","kind":"calls","metadata":{"unresolvedName":"expect(el.style.height).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(rows.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(rows.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(btn).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:btn.click","kind":"calls","metadata":{"unresolvedName":"btn.click"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClick).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onClick).toHaveBeenCalledTimes"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"[data-testid='test-icon']\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"[data-testid='test-icon']\")).toBeTruthy"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(btn).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(btn.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(btn.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:btn.click","kind":"calls","metadata":{"unresolvedName":"btn.click"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(onClick).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onClick).toHaveBeenCalledTimes"}},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx","to":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"[data-testid='test-icon']\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"[data-testid='test-icon']\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/components/ui/ui.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/entry-client.tsx","to":"external:@sentry/solidstart","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/entry-client.tsx","to":"external:@solidjs/start/client","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/entry-server.tsx","to":"external:@solidjs/start/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","to":"external:api.user.me.query","kind":"calls","metadata":{"unresolvedName":"api.user.me.query"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","to":"symbol-name:user","kind":"calls","metadata":{"unresolvedName":"user"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:<anonymous>","to":"external:api.user.me.query","kind":"calls","metadata":{"unresolvedName":"api.user.me.query"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:logout","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:logout","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:logout","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","to":"external:api.correlation.getAlerts.query","kind":"calls","metadata":{"unresolvedName":"api.correlation.getAlerts.query"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","to":"symbol-name:result","kind":"calls","metadata":{"unresolvedName":"result"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","to":"symbol-name:alerts","kind":"calls","metadata":{"unresolvedName":"alerts"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:useNotifications","to":"external:api.correlation.resolveAlert.mutate","kind":"calls","metadata":{"unresolvedName":"api.correlation.resolveAlert.mutate"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:<anonymous>","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:<anonymous>","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:markRead","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:markRead","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:markRead","to":"external:api.correlation.resolveAlert.mutate","kind":"calls","metadata":{"unresolvedName":"api.correlation.resolveAlert.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useNotifications.ts:markRead","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"external:~/lib/websocket","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:loadUnreadCount","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:loadUnreadCount","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:loadUnreadCount","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:loadUnreadCount","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:saveUnreadCount","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:saveUnreadCount","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:saveUnreadCount","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:saveUnreadCount","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:prefersReducedMotion","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:prefersReducedMotion","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:prefersReducedMotion","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:useToast","kind":"calls","metadata":{"unresolvedName":"useToast"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:loadUnreadCount","kind":"calls","metadata":{"unresolvedName":"loadUnreadCount"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"calls","metadata":{"unresolvedName":"createWebSocketClient"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:prefersReducedMotion","kind":"calls","metadata":{"unresolvedName":"prefersReducedMotion"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"symbol-name:setUnreadCount","kind":"calls","metadata":{"unresolvedName":"setUnreadCount"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:saveUnreadCount","kind":"calls","metadata":{"unresolvedName":"saveUnreadCount"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","kind":"calls","metadata":{"unresolvedName":"showToast"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"symbol-name:setConnectionStatus","kind":"calls","metadata":{"unresolvedName":"setConnectionStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"external:client.onAlert","kind":"calls","metadata":{"unresolvedName":"client.onAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"external:client.onStatusChange","kind":"calls","metadata":{"unresolvedName":"client.onStatusChange"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"external:client.connect","kind":"calls","metadata":{"unresolvedName":"client.connect"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"symbol-name:removeAlertListener","kind":"calls","metadata":{"unresolvedName":"removeAlertListener"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"symbol-name:removeStatusListener","kind":"calls","metadata":{"unresolvedName":"removeStatusListener"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:useRealtimeAlerts","to":"external:client.cleanup","kind":"calls","metadata":{"unresolvedName":"client.cleanup"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleAlert","to":"symbol-name:setUnreadCount","kind":"calls","metadata":{"unresolvedName":"setUnreadCount"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleAlert","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:saveUnreadCount","kind":"calls","metadata":{"unresolvedName":"saveUnreadCount"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleAlert","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","kind":"calls","metadata":{"unresolvedName":"showToast"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:saveUnreadCount","kind":"calls","metadata":{"unresolvedName":"saveUnreadCount"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleStatusChange","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleStatusChange","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleStatusChange","to":"symbol-name:setConnectionStatus","kind":"calls","metadata":{"unresolvedName":"setConnectionStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:handleStatusChange","to":"/Users/mike/Code/Kordant/web/src/components/ui/Toast.tsx:showToast","kind":"calls","metadata":{"unresolvedName":"showToast"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","to":"external:client.onAlert","kind":"calls","metadata":{"unresolvedName":"client.onAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","to":"external:client.onStatusChange","kind":"calls","metadata":{"unresolvedName":"client.onStatusChange"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","to":"external:client.connect","kind":"calls","metadata":{"unresolvedName":"client.connect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","to":"symbol-name:removeAlertListener","kind":"calls","metadata":{"unresolvedName":"removeAlertListener"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","to":"symbol-name:removeStatusListener","kind":"calls","metadata":{"unresolvedName":"removeStatusListener"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:<anonymous>","to":"external:client.cleanup","kind":"calls","metadata":{"unresolvedName":"client.cleanup"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:clearUnread","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:clearUnread","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:clearUnread","to":"symbol-name:setUnreadCount","kind":"calls","metadata":{"unresolvedName":"setUnreadCount"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:clearUnread","to":"/Users/mike/Code/Kordant/web/src/hooks/useRealtimeAlerts.ts:saveUnreadCount","kind":"calls","metadata":{"unresolvedName":"saveUnreadCount"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription","to":"external:api.billing.getSubscription.query","kind":"calls","metadata":{"unresolvedName":"api.billing.getSubscription.query"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription","to":"symbol-name:subscription","kind":"calls","metadata":{"unresolvedName":"subscription"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription","to":"symbol-name:effectiveTier","kind":"calls","metadata":{"unresolvedName":"effectiveTier"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription","to":"external:trials().some","kind":"calls","metadata":{"unresolvedName":"trials().some"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription","to":"symbol-name:trials","kind":"calls","metadata":{"unresolvedName":"trials"}},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:hasFeature","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts","to":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:hasFeature","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:hasFeature","to":"symbol-name:effectiveTier","kind":"calls","metadata":{"unresolvedName":"effectiveTier"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:hasFeature","to":"external:trials().some","kind":"calls","metadata":{"unresolvedName":"trials().some"}},{"from":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:hasFeature","to":"symbol-name:trials","kind":"calls","metadata":{"unresolvedName":"trials"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/api.ts","to":"external:@trpc/client","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/api.ts","to":"external:~/server/api/root","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/api.ts","to":"/Users/mike/Code/Kordant/web/src/lib/api.ts:getBaseUrl","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/api.ts","to":"/Users/mike/Code/Kordant/web/src/lib/api.ts:getBaseUrl","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/api.ts","to":"/Users/mike/Code/Kordant/web/src/lib/api.ts:getAuthToken","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/api.ts","to":"/Users/mike/Code/Kordant/web/src/lib/api.ts:getAuthToken","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/api.ts:getAuthToken","to":"external:document.cookie.match","kind":"calls","metadata":{"unresolvedName":"document.cookie.match"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/api.ts:getAuthToken","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/api.ts","to":"/Users/mike/Code/Kordant/web/src/lib/api.ts:headers","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/api.ts","to":"/Users/mike/Code/Kordant/web/src/lib/api.ts:headers","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/api.ts:headers","to":"symbol-name:getAuthToken","kind":"calls","metadata":{"unresolvedName":"getAuthToken"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/auth.ts","to":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:getCheckoutUrl","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/auth.ts","to":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:getCheckoutUrl","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/auth.ts","to":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:submitOnboarding","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/auth.ts","to":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:submitOnboarding","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:submitOnboarding","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:submitOnboarding","to":"external:item.includes","kind":"calls","metadata":{"unresolvedName":"item.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:submitOnboarding","to":"external:api.darkwatch.addWatchlistItem.mutate","kind":"calls","metadata":{"unresolvedName":"api.darkwatch.addWatchlistItem.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:submitOnboarding","to":"external:api.user.inviteFamilyMember.mutate","kind":"calls","metadata":{"unresolvedName":"api.user.inviteFamilyMember.mutate"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(sanitizeHtml(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sanitizeHtml(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(sanitizeHtml(\"plain text\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sanitizeHtml(\"plain text\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(output).toContain","kind":"calls","metadata":{"unresolvedName":"expect(output).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(sanitizeHtml(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sanitizeHtml(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"external:expect(sanitizeHtml(\"plain text\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sanitizeHtml(\"plain text\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.test.ts:<anonymous>","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.ts","to":"external:isomorphic-dompurify","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.ts:sanitizeHtml","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/html-utils.ts","to":"/Users/mike/Code/Kordant/web/src/lib/html-utils.ts:sanitizeHtml","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/html-utils.ts:sanitizeHtml","to":"external:DOMPurify.sanitize","kind":"calls","metadata":{"unresolvedName":"DOMPurify.sanitize"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createLocalStorageMock","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createLocalStorageMock","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createLocalStorageMock","to":"external:store.get","kind":"calls","metadata":{"unresolvedName":"store.get"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createLocalStorageMock","to":"external:store.set","kind":"calls","metadata":{"unresolvedName":"store.set"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createLocalStorageMock","to":"external:store.delete","kind":"calls","metadata":{"unresolvedName":"store.delete"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createLocalStorageMock","to":"external:store.clear","kind":"calls","metadata":{"unresolvedName":"store.clear"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","to":"external:document.documentElement.classList.remove","kind":"calls","metadata":{"unresolvedName":"document.documentElement.classList.remove"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","to":"external:document\n .querySelectorAll('meta[name=\"theme-color\"]')\n .forEach","kind":"calls","metadata":{"unresolvedName":"document\n .querySelectorAll('meta[name=\"theme-color\"]')\n .forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","to":"external:document\n .querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document\n .querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","to":"external:el.remove","kind":"calls","metadata":{"unresolvedName":"el.remove"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createLocalStorageMock","kind":"calls","metadata":{"unresolvedName":"createLocalStorageMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","to":"external:vi.fn().mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockImplementation"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:runWithRoot","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:runWithRoot","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:runWithRoot","to":"symbol-name:createRoot","kind":"calls","metadata":{"unresolvedName":"createRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:runWithRoot","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getSystemTheme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getSystemTheme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme","kind":"calls","metadata":{"unresolvedName":"getSystemTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getSystemTheme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getSystemTheme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme","kind":"calls","metadata":{"unresolvedName":"getSystemTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getSystemTheme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getSystemTheme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme","kind":"calls","metadata":{"unresolvedName":"getSystemTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"calls","metadata":{"unresolvedName":"setupDOM"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getStoredTheme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getStoredTheme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme","kind":"calls","metadata":{"unresolvedName":"getStoredTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"calls","metadata":{"unresolvedName":"setupDOM"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getStoredTheme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getStoredTheme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme","kind":"calls","metadata":{"unresolvedName":"getStoredTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getStoredTheme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getStoredTheme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme","kind":"calls","metadata":{"unresolvedName":"getStoredTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getStoredTheme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getStoredTheme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme","kind":"calls","metadata":{"unresolvedName":"getStoredTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getStoredTheme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getStoredTheme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme","kind":"calls","metadata":{"unresolvedName":"getStoredTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getResolvedTheme(\"light\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getResolvedTheme(\"light\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getResolvedTheme","kind":"calls","metadata":{"unresolvedName":"getResolvedTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getResolvedTheme(\"dark\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getResolvedTheme(\"dark\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getResolvedTheme(\"system\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getResolvedTheme(\"system\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getResolvedTheme(\"light\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getResolvedTheme(\"light\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getResolvedTheme","kind":"calls","metadata":{"unresolvedName":"getResolvedTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getResolvedTheme(\"dark\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getResolvedTheme(\"dark\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getResolvedTheme(\"system\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getResolvedTheme(\"system\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getResolvedTheme","kind":"calls","metadata":{"unresolvedName":"getResolvedTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(getResolvedTheme(\"system\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getResolvedTheme(\"system\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getResolvedTheme","kind":"calls","metadata":{"unresolvedName":"getResolvedTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"calls","metadata":{"unresolvedName":"setupDOM"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.documentElement.classList.add","kind":"calls","metadata":{"unresolvedName":"document.documentElement.classList.add"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","kind":"calls","metadata":{"unresolvedName":"applyThemeClass"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(document.documentElement.classList.contains(\"light\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.documentElement.classList.contains(\"light\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.documentElement.classList.contains","kind":"calls","metadata":{"unresolvedName":"document.documentElement.classList.contains"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(document.documentElement.classList.contains(\"dark\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.documentElement.classList.contains(\"dark\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"calls","metadata":{"unresolvedName":"setupDOM"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.documentElement.classList.add","kind":"calls","metadata":{"unresolvedName":"document.documentElement.classList.add"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","kind":"calls","metadata":{"unresolvedName":"applyThemeClass"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(document.documentElement.classList.contains(\"light\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.documentElement.classList.contains(\"light\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.documentElement.classList.contains","kind":"calls","metadata":{"unresolvedName":"document.documentElement.classList.contains"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(document.documentElement.classList.contains(\"dark\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.documentElement.classList.contains(\"dark\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.documentElement.classList.add","kind":"calls","metadata":{"unresolvedName":"document.documentElement.classList.add"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","kind":"calls","metadata":{"unresolvedName":"applyThemeClass"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(document.documentElement.classList.contains(\"dark\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.documentElement.classList.contains(\"dark\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.documentElement.classList.contains","kind":"calls","metadata":{"unresolvedName":"document.documentElement.classList.contains"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(document.documentElement.classList.contains(\"light\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(document.documentElement.classList.contains(\"light\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"calls","metadata":{"unresolvedName":"setupDOM"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","kind":"calls","metadata":{"unresolvedName":"updateMetaThemeColor"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(meta).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(meta).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(meta!.getAttribute(\"content\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(meta!.getAttribute(\"content\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:meta!.getAttribute","kind":"calls","metadata":{"unresolvedName":"meta!.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(metas.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(metas.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(metas[0].getAttribute(\"content\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(metas[0].getAttribute(\"content\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:metas[0].getAttribute","kind":"calls","metadata":{"unresolvedName":"metas[0].getAttribute"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"calls","metadata":{"unresolvedName":"setupDOM"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","kind":"calls","metadata":{"unresolvedName":"updateMetaThemeColor"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(meta).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(meta).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(meta!.getAttribute(\"content\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(meta!.getAttribute(\"content\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:meta!.getAttribute","kind":"calls","metadata":{"unresolvedName":"meta!.getAttribute"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","kind":"calls","metadata":{"unresolvedName":"updateMetaThemeColor"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(meta).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(meta).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(meta!.getAttribute(\"content\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(meta!.getAttribute(\"content\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:meta!.getAttribute","kind":"calls","metadata":{"unresolvedName":"meta!.getAttribute"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","kind":"calls","metadata":{"unresolvedName":"updateMetaThemeColor"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(metas.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(metas.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(metas[0].getAttribute(\"content\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(metas[0].getAttribute(\"content\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:metas[0].getAttribute","kind":"calls","metadata":{"unresolvedName":"metas[0].getAttribute"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"calls","metadata":{"unresolvedName":"setupDOM"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:persistTheme","kind":"calls","metadata":{"unresolvedName":"persistTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(localStorage.getItem(\"kordant-theme\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem(\"kordant-theme\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"calls","metadata":{"unresolvedName":"setupDOM"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:persistTheme","kind":"calls","metadata":{"unresolvedName":"persistTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(localStorage.getItem(\"kordant-theme\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem(\"kordant-theme\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:persistTheme","kind":"calls","metadata":{"unresolvedName":"persistTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(localStorage.getItem(\"kordant-theme\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem(\"kordant-theme\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"calls","metadata":{"unresolvedName":"setupDOM"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:setTheme","kind":"calls","metadata":{"unresolvedName":"setTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(localStorage.getItem(\"kordant-theme\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem(\"kordant-theme\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","kind":"calls","metadata":{"unresolvedName":"toggle"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(addEventListener).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(addEventListener).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:setupDOM","kind":"calls","metadata":{"unresolvedName":"setupDOM"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:setTheme","kind":"calls","metadata":{"unresolvedName":"setTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(localStorage.getItem(\"kordant-theme\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem(\"kordant-theme\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:setTheme","kind":"calls","metadata":{"unresolvedName":"setTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(localStorage.getItem(\"kordant-theme\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem(\"kordant-theme\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:setTheme","kind":"calls","metadata":{"unresolvedName":"setTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(localStorage.getItem(\"kordant-theme\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem(\"kordant-theme\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:setTheme","kind":"calls","metadata":{"unresolvedName":"setTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(localStorage.getItem(\"kordant-theme\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem(\"kordant-theme\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:setTheme","kind":"calls","metadata":{"unresolvedName":"setTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(localStorage.getItem(\"kordant-theme\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem(\"kordant-theme\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","kind":"calls","metadata":{"unresolvedName":"toggle"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","kind":"calls","metadata":{"unresolvedName":"toggle"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","kind":"calls","metadata":{"unresolvedName":"toggle"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:createMatchMediaMock","kind":"calls","metadata":{"unresolvedName":"createMatchMediaMock"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","kind":"calls","metadata":{"unresolvedName":"toggle"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","kind":"calls","metadata":{"unresolvedName":"toggle"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(resolved()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resolved()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(theme()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(theme()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(addEventListener).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(addEventListener).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(addEventListener).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(addEventListener).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect(addEventListener).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(addEventListener).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.test.ts:<anonymous>","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:useTheme","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:useTheme","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:useTheme","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme","to":"external:globalThis.localStorage?.getItem","kind":"calls","metadata":{"unresolvedName":"globalThis.localStorage?.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getResolvedTheme","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getResolvedTheme","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getResolvedTheme","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme","kind":"calls","metadata":{"unresolvedName":"getSystemTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","to":"external:root.classList.remove","kind":"calls","metadata":{"unresolvedName":"root.classList.remove"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","to":"external:root.classList.add","kind":"calls","metadata":{"unresolvedName":"root.classList.add"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","to":"external:document.head.appendChild","kind":"calls","metadata":{"unresolvedName":"document.head.appendChild"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:persistTheme","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:persistTheme","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:persistTheme","to":"external:globalThis.localStorage?.setItem","kind":"calls","metadata":{"unresolvedName":"globalThis.localStorage?.setItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getStoredTheme","kind":"calls","metadata":{"unresolvedName":"getStoredTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getResolvedTheme","kind":"calls","metadata":{"unresolvedName":"getResolvedTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"symbol-name:createEffect","kind":"calls","metadata":{"unresolvedName":"createEffect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","kind":"calls","metadata":{"unresolvedName":"applyThemeClass"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","kind":"calls","metadata":{"unresolvedName":"updateMetaThemeColor"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme","kind":"calls","metadata":{"unresolvedName":"getSystemTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"external:mediaQuery.addEventListener","kind":"calls","metadata":{"unresolvedName":"mediaQuery.addEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"external:mediaQuery.removeEventListener","kind":"calls","metadata":{"unresolvedName":"mediaQuery.removeEventListener"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"symbol-name:setThemeSignal","kind":"calls","metadata":{"unresolvedName":"setThemeSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:persistTheme","kind":"calls","metadata":{"unresolvedName":"persistTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:setAndPersist","kind":"calls","metadata":{"unresolvedName":"setAndPersist"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:<anonymous>","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","kind":"calls","metadata":{"unresolvedName":"applyThemeClass"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","kind":"calls","metadata":{"unresolvedName":"updateMetaThemeColor"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener","to":"symbol-name:theme","kind":"calls","metadata":{"unresolvedName":"theme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:getSystemTheme","kind":"calls","metadata":{"unresolvedName":"getSystemTheme"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:applyThemeClass","kind":"calls","metadata":{"unresolvedName":"applyThemeClass"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:updateMetaThemeColor","kind":"calls","metadata":{"unresolvedName":"updateMetaThemeColor"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:setAndPersist","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:setAndPersist","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:setAndPersist","to":"symbol-name:setThemeSignal","kind":"calls","metadata":{"unresolvedName":"setThemeSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:setAndPersist","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:persistTheme","kind":"calls","metadata":{"unresolvedName":"persistTheme"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","to":"symbol-name:resolved","kind":"calls","metadata":{"unresolvedName":"resolved"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:toggle","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:setAndPersist","kind":"calls","metadata":{"unresolvedName":"setAndPersist"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:ThemeProvider","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/theme.tsx","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:ThemeProvider","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:ThemeProvider","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:createThemeState","kind":"calls","metadata":{"unresolvedName":"createThemeState"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.kordant.com/success\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/success\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://admin.kordant.com/callback\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://admin.kordant.com/callback\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.kordant.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://localhost:3000/callback\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:3000/callback\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://localhost:5173/success\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:5173/success\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://127.0.0.1:3000/callback\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://127.0.0.1:3000/callback\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://checkout.app.kordant.com/success\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://checkout.app.kordant.com/success\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://billing.admin.kordant.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://billing.admin.kordant.com/return\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://localhost:3000\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:3000\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://evil.com/phishing\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com/phishing\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://malware.net/steal\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://malware.net/steal\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://example.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://example.com/return\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"//evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"//app.kordant.com.evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//app.kordant.com.evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://kordant.com.evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://kordant.com.evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://notkordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://notkordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://evil.com.app.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com.app.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://checkout.admin.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://checkout.admin.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"%2F%2Fevil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"%2F%2Fevil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"//%65vil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//%65vil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"ftp://example.com/file\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"ftp://example.com/file\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"javascript:alert(1)\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"javascript:alert(1)\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"data:text/html,<script>alert(1)</script>\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"data:text/html,<script>alert(1)</script>\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"mailto:test@test.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"mailto:test@test.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\" \")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\" \")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"\\t\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"\\t\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"not a url\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"not a url\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"://missing-protocol\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"://missing-protocol\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://myapp.example.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://myapp.example.com/return\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.kordant.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/return\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.example.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.example.com/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://admin.example.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://admin.example.com/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://evil.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.kordant.com/success\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/success\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://admin.kordant.com/callback\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://admin.kordant.com/callback\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.kordant.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://localhost:3000/callback\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:3000/callback\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://localhost:5173/success\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:5173/success\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://127.0.0.1:3000/callback\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://127.0.0.1:3000/callback\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://checkout.app.kordant.com/success\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://checkout.app.kordant.com/success\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://billing.admin.kordant.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://billing.admin.kordant.com/return\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://localhost:3000\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:3000\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.kordant.com/success\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/success\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://admin.kordant.com/callback\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://admin.kordant.com/callback\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.kordant.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://localhost:3000/callback\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:3000/callback\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://localhost:5173/success\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:5173/success\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://127.0.0.1:3000/callback\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://127.0.0.1:3000/callback\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://checkout.app.kordant.com/success\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://checkout.app.kordant.com/success\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://billing.admin.kordant.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://billing.admin.kordant.com/return\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"http://localhost:3000\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"http://localhost:3000\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://evil.com/phishing\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com/phishing\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://malware.net/steal\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://malware.net/steal\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://example.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://example.com/return\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"//evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"//app.kordant.com.evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//app.kordant.com.evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://kordant.com.evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://kordant.com.evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://notkordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://notkordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://evil.com.app.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com.app.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://checkout.admin.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://checkout.admin.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"%2F%2Fevil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"%2F%2Fevil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"//%65vil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//%65vil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"ftp://example.com/file\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"ftp://example.com/file\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"javascript:alert(1)\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"javascript:alert(1)\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"data:text/html,<script>alert(1)</script>\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"data:text/html,<script>alert(1)</script>\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"mailto:test@test.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"mailto:test@test.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\" \")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\" \")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"\\t\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"\\t\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"not a url\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"not a url\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"://missing-protocol\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"://missing-protocol\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://evil.com/phishing\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com/phishing\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://malware.net/steal\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://malware.net/steal\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://example.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://example.com/return\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"//evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"//app.kordant.com.evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//app.kordant.com.evil.com\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://kordant.com.evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://kordant.com.evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://notkordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://notkordant.com\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://evil.com.app.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com.app.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://checkout.admin.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://checkout.admin.kordant.com\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"%2F%2Fevil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"%2F%2Fevil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"//%65vil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"//%65vil.com\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"ftp://example.com/file\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"ftp://example.com/file\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"javascript:alert(1)\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"javascript:alert(1)\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"data:text/html,<script>alert(1)</script>\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"data:text/html,<script>alert(1)</script>\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"mailto:test@test.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"mailto:test@test.com\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\" \")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\" \")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"\\t\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"\\t\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"not a url\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"not a url\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"://missing-protocol\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"://missing-protocol\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://myapp.example.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://myapp.example.com/return\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.kordant.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/return\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.example.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.example.com/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://admin.example.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://admin.example.com/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://evil.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://myapp.example.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://myapp.example.com/return\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.kordant.com/return\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.kordant.com/return\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://app.example.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://app.example.com/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://admin.example.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://admin.example.com/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.test.ts:<anonymous>","to":"external:expect(validateReturnUrl(\"https://evil.com/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateReturnUrl(\"https://evil.com/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:getAllowlist","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:getAllowlist","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:getAllowlist","to":"external:raw\n .split(\",\")\n .map((d) => d.trim().toLowerCase())\n .filter","kind":"calls","metadata":{"unresolvedName":"raw\n .split(\",\")\n .map((d) => d.trim().toLowerCase())\n .filter"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:getAllowlist","to":"external:raw\n .split(\",\")\n .map","kind":"calls","metadata":{"unresolvedName":"raw\n .split(\",\")\n .map"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:getAllowlist","to":"external:raw\n .split","kind":"calls","metadata":{"unresolvedName":"raw\n .split"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:getAllowlist","to":"external:d.trim().toLowerCase","kind":"calls","metadata":{"unresolvedName":"d.trim().toLowerCase"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:getAllowlist","to":"external:d.trim","kind":"calls","metadata":{"unresolvedName":"d.trim"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","to":"external:url.trim","kind":"calls","metadata":{"unresolvedName":"url.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","to":"symbol-name:decodeURIComponent","kind":"calls","metadata":{"unresolvedName":"decodeURIComponent"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","to":"external:/^\\/\\//.test","kind":"calls","metadata":{"unresolvedName":"/^\\/\\//.test"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","to":"external:[\"http:\", \"https:\"].includes","kind":"calls","metadata":{"unresolvedName":"[\"http:\", \"https:\"].includes"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","to":"external:parsed.hostname.toLowerCase","kind":"calls","metadata":{"unresolvedName":"parsed.hostname.toLowerCase"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:getAllowlist","kind":"calls","metadata":{"unresolvedName":"getAllowlist"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","to":"external:hostname.endsWith","kind":"calls","metadata":{"unresolvedName":"hostname.endsWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/url-validation.ts","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/url-validation.ts:validateReturnUrl","kind":"calls","metadata":{"unresolvedName":"validateReturnUrl"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/utils.ts","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/utils.ts","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","to":"external:classes.filter(Boolean).join","kind":"calls","metadata":{"unresolvedName":"classes.filter(Boolean).join"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","to":"external:classes.filter","kind":"calls","metadata":{"unresolvedName":"classes.filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:createMockWs","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:createMockWs","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:createMockWs","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:createMockWs","to":"symbol-name:onclose","kind":"calls","metadata":{"unresolvedName":"onclose"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:onclose","kind":"calls","metadata":{"unresolvedName":"onclose"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:createMockWs","kind":"calls","metadata":{"unresolvedName":"createMockWs"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:wsConstructorUrls.push","kind":"calls","metadata":{"unresolvedName":"wsConstructorUrls.push"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onopen","kind":"calls","metadata":{"unresolvedName":"mockWs.onopen"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:createRoot","kind":"calls","metadata":{"unresolvedName":"createRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(wsConstructorUrls).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(wsConstructorUrls).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(wsConstructorUrls[0]).toContain","kind":"calls","metadata":{"unresolvedName":"expect(wsConstructorUrls[0]).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(ws).toBe","kind":"calls","metadata":{"unresolvedName":"expect(ws).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"calls","metadata":{"unresolvedName":"createWebSocketClient"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connect","kind":"calls","metadata":{"unresolvedName":"client.connect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(client.connectionStatus()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(client.connectionStatus()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connectionStatus","kind":"calls","metadata":{"unresolvedName":"client.connectionStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.disconnect","kind":"calls","metadata":{"unresolvedName":"client.disconnect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onclose","kind":"calls","metadata":{"unresolvedName":"mockWs.onclose"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.onAlert","kind":"calls","metadata":{"unresolvedName":"client.onAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:alerts.push","kind":"calls","metadata":{"unresolvedName":"alerts.push"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onmessage","kind":"calls","metadata":{"unresolvedName":"mockWs.onmessage"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(alerts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(alerts).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(alerts[0].title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(alerts[0].title).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:createMockWs","kind":"calls","metadata":{"unresolvedName":"createMockWs"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:wsConstructorUrls.push","kind":"calls","metadata":{"unresolvedName":"wsConstructorUrls.push"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onopen","kind":"calls","metadata":{"unresolvedName":"mockWs.onopen"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:MockWebSocket","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:MockWebSocket","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:MockWebSocket","to":"external:wsConstructorUrls.push","kind":"calls","metadata":{"unresolvedName":"wsConstructorUrls.push"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:MockWebSocket","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:MockWebSocket","to":"external:mockWs.onopen","kind":"calls","metadata":{"unresolvedName":"mockWs.onopen"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onopen","kind":"calls","metadata":{"unresolvedName":"mockWs.onopen"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:runWithRoot","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:runWithRoot","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:runWithRoot","to":"symbol-name:createRoot","kind":"calls","metadata":{"unresolvedName":"createRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:runWithRoot","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(wsConstructorUrls).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(wsConstructorUrls).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(wsConstructorUrls[0]).toContain","kind":"calls","metadata":{"unresolvedName":"expect(wsConstructorUrls[0]).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(ws).toBe","kind":"calls","metadata":{"unresolvedName":"expect(ws).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"calls","metadata":{"unresolvedName":"createWebSocketClient"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connect","kind":"calls","metadata":{"unresolvedName":"client.connect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(wsConstructorUrls).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(wsConstructorUrls).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(wsConstructorUrls[0]).toContain","kind":"calls","metadata":{"unresolvedName":"expect(wsConstructorUrls[0]).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onopen","kind":"calls","metadata":{"unresolvedName":"mockWs.onopen"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(client.connectionStatus()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(client.connectionStatus()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connectionStatus","kind":"calls","metadata":{"unresolvedName":"client.connectionStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.disconnect","kind":"calls","metadata":{"unresolvedName":"client.disconnect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"calls","metadata":{"unresolvedName":"createWebSocketClient"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connect","kind":"calls","metadata":{"unresolvedName":"client.connect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(wsConstructorUrls).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(wsConstructorUrls).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(client.connectionStatus()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(client.connectionStatus()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connectionStatus","kind":"calls","metadata":{"unresolvedName":"client.connectionStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"calls","metadata":{"unresolvedName":"createWebSocketClient"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connect","kind":"calls","metadata":{"unresolvedName":"client.connect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onopen","kind":"calls","metadata":{"unresolvedName":"mockWs.onopen"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(client.connectionStatus()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(client.connectionStatus()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connectionStatus","kind":"calls","metadata":{"unresolvedName":"client.connectionStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onclose","kind":"calls","metadata":{"unresolvedName":"mockWs.onclose"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.disconnect","kind":"calls","metadata":{"unresolvedName":"client.disconnect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"calls","metadata":{"unresolvedName":"createWebSocketClient"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.onAlert","kind":"calls","metadata":{"unresolvedName":"client.onAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:alerts.push","kind":"calls","metadata":{"unresolvedName":"alerts.push"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connect","kind":"calls","metadata":{"unresolvedName":"client.connect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onopen","kind":"calls","metadata":{"unresolvedName":"mockWs.onopen"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onmessage","kind":"calls","metadata":{"unresolvedName":"mockWs.onmessage"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(alerts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(alerts).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(alerts[0].title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(alerts[0].title).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.disconnect","kind":"calls","metadata":{"unresolvedName":"client.disconnect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"calls","metadata":{"unresolvedName":"createWebSocketClient"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connect","kind":"calls","metadata":{"unresolvedName":"client.connect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onopen","kind":"calls","metadata":{"unresolvedName":"mockWs.onopen"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(client.connectionStatus()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(client.connectionStatus()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connectionStatus","kind":"calls","metadata":{"unresolvedName":"client.connectionStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.disconnect","kind":"calls","metadata":{"unresolvedName":"client.disconnect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:runWithRoot","kind":"calls","metadata":{"unresolvedName":"runWithRoot"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"calls","metadata":{"unresolvedName":"createWebSocketClient"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connect","kind":"calls","metadata":{"unresolvedName":"client.connect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onopen","kind":"calls","metadata":{"unresolvedName":"mockWs.onopen"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:expect(client.connectionStatus()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(client.connectionStatus()).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.connectionStatus","kind":"calls","metadata":{"unresolvedName":"client.connectionStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onmessage","kind":"calls","metadata":{"unresolvedName":"mockWs.onmessage"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:client.disconnect","kind":"calls","metadata":{"unresolvedName":"client.disconnect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:mockWs.onmessage","kind":"calls","metadata":{"unresolvedName":"mockWs.onmessage"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:getAuthToken","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:getAuthToken","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:getAuthToken","to":"external:document.cookie.match","kind":"calls","metadata":{"unresolvedName":"document.cookie.match"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:getAuthToken","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:setLastAlert","kind":"calls","metadata":{"unresolvedName":"setLastAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener","kind":"calls","metadata":{"unresolvedName":"listener"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:setConnectionStatus","kind":"calls","metadata":{"unresolvedName":"setConnectionStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:stopHeartbeat","kind":"calls","metadata":{"unresolvedName":"stopHeartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"external:ws?.close","kind":"calls","metadata":{"unresolvedName":"ws?.close"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","kind":"calls","metadata":{"unresolvedName":"notifyStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:getAuthToken","kind":"calls","metadata":{"unresolvedName":"getAuthToken"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:startHeartbeat","kind":"calls","metadata":{"unresolvedName":"startHeartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyAlert","kind":"calls","metadata":{"unresolvedName":"notifyAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"external:listeners.push","kind":"calls","metadata":{"unresolvedName":"listeners.push"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"external:listeners.filter","kind":"calls","metadata":{"unresolvedName":"listeners.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"external:statusListeners.push","kind":"calls","metadata":{"unresolvedName":"statusListeners.push"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"external:statusListeners.filter","kind":"calls","metadata":{"unresolvedName":"statusListeners.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:disconnect","kind":"calls","metadata":{"unresolvedName":"disconnect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:c","kind":"calls","metadata":{"unresolvedName":"c"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"symbol-name:onCleanup","kind":"calls","metadata":{"unresolvedName":"onCleanup"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:createWebSocketClient","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:cleanup","kind":"calls","metadata":{"unresolvedName":"cleanup"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyAlert","to":"symbol-name:setLastAlert","kind":"calls","metadata":{"unresolvedName":"setLastAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyAlert","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener","kind":"calls","metadata":{"unresolvedName":"listener"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","to":"symbol-name:setConnectionStatus","kind":"calls","metadata":{"unresolvedName":"setConnectionStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","to":"/Users/mike/Code/Kordant/web/src/lib/theme.tsx:listener","kind":"calls","metadata":{"unresolvedName":"listener"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:startHeartbeat","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:startHeartbeat","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:startHeartbeat","to":"symbol-name:stopHeartbeat","kind":"calls","metadata":{"unresolvedName":"stopHeartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:startHeartbeat","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:startHeartbeat","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:startHeartbeat","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:startHeartbeat","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:startHeartbeat","to":"external:ws?.close","kind":"calls","metadata":{"unresolvedName":"ws?.close"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"external:ws?.close","kind":"calls","metadata":{"unresolvedName":"ws?.close"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"external:ws?.close","kind":"calls","metadata":{"unresolvedName":"ws?.close"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:stopHeartbeat","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:stopHeartbeat","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:stopHeartbeat","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:stopHeartbeat","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:scheduleReconnect","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:scheduleReconnect","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:scheduleReconnect","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","kind":"calls","metadata":{"unresolvedName":"notifyStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:scheduleReconnect","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:scheduleReconnect","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","to":"symbol-name:getAuthToken","kind":"calls","metadata":{"unresolvedName":"getAuthToken"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","kind":"calls","metadata":{"unresolvedName":"notifyStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","to":"symbol-name:startHeartbeat","kind":"calls","metadata":{"unresolvedName":"startHeartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyAlert","kind":"calls","metadata":{"unresolvedName":"notifyAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","to":"symbol-name:stopHeartbeat","kind":"calls","metadata":{"unresolvedName":"stopHeartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:connect","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","kind":"calls","metadata":{"unresolvedName":"notifyStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"symbol-name:startHeartbeat","kind":"calls","metadata":{"unresolvedName":"startHeartbeat"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyAlert","kind":"calls","metadata":{"unresolvedName":"notifyAlert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"symbol-name:stopHeartbeat","kind":"calls","metadata":{"unresolvedName":"stopHeartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","kind":"calls","metadata":{"unresolvedName":"notifyStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:disconnect","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:disconnect","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:disconnect","to":"symbol-name:stopHeartbeat","kind":"calls","metadata":{"unresolvedName":"stopHeartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:disconnect","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:disconnect","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:disconnect","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:notifyStatus","kind":"calls","metadata":{"unresolvedName":"notifyStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onAlert","to":"external:listeners.push","kind":"calls","metadata":{"unresolvedName":"listeners.push"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onAlert","to":"external:listeners.filter","kind":"calls","metadata":{"unresolvedName":"listeners.filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"external:listeners.filter","kind":"calls","metadata":{"unresolvedName":"listeners.filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onStatusChange","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onStatusChange","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onStatusChange","to":"external:statusListeners.push","kind":"calls","metadata":{"unresolvedName":"statusListeners.push"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:onStatusChange","to":"external:statusListeners.filter","kind":"calls","metadata":{"unresolvedName":"statusListeners.filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:<anonymous>","to":"external:statusListeners.filter","kind":"calls","metadata":{"unresolvedName":"statusListeners.filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:cleanup","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/lib/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:cleanup","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:cleanup","to":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:disconnect","kind":"calls","metadata":{"unresolvedName":"disconnect"}},{"from":"/Users/mike/Code/Kordant/web/src/lib/websocket.ts:cleanup","to":"symbol-name:c","kind":"calls","metadata":{"unresolvedName":"c"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:isValidCorsOrigin","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:isValidCorsOrigin","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:isValidCorsOrigin","to":"external:origin.trim","kind":"calls","metadata":{"unresolvedName":"origin.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:isValidCorsOrigin","to":"external:parsed.protocol.match","kind":"calls","metadata":{"unresolvedName":"parsed.protocol.match"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://app.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://admin.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://admin.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://localhost:3000\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://localhost:3000\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://localhost:3000\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:3000\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://localhost:3001\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:3001\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://127.0.0.1:8080\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://127.0.0.1:8080\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://app.kordant.com:8443\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com:8443\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://localhost:5173\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:5173\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://app.kordant.com/api\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com/api\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"*\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"*\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"localhost\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"localhost\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"app.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"app.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"ftp://evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"ftp://evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"file:///etc/passwd\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"file:///etc/passwd\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"javascript:alert(1)\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"javascript:alert(1)\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"data:text/html,test\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"data:text/html,test\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\" \")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\" \")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"\\t\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"\\t\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"not a url\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"not a url\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"://missing-protocol\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"://missing-protocol\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://app.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://admin.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://admin.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://localhost:3000\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://localhost:3000\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://localhost:3000\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:3000\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://localhost:3001\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:3001\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://127.0.0.1:8080\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://127.0.0.1:8080\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://app.kordant.com:8443\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com:8443\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://localhost:5173\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:5173\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://app.kordant.com/api\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com/api\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://app.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://admin.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://admin.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://localhost:3000\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://localhost:3000\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://localhost:3000\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:3000\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://localhost:3001\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:3001\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://127.0.0.1:8080\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://127.0.0.1:8080\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://app.kordant.com:8443\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com:8443\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"http://localhost:5173\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"http://localhost:5173\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"https://app.kordant.com/api\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"https://app.kordant.com/api\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"*\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"*\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"localhost\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"localhost\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"app.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"app.kordant.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"ftp://evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"ftp://evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"file:///etc/passwd\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"file:///etc/passwd\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"javascript:alert(1)\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"javascript:alert(1)\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"data:text/html,test\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"data:text/html,test\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\" \")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\" \")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"\\t\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"\\t\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"not a url\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"not a url\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"://missing-protocol\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"://missing-protocol\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"*\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"*\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"localhost\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"localhost\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"app.kordant.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"app.kordant.com\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"ftp://evil.com\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"ftp://evil.com\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"file:///etc/passwd\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"file:///etc/passwd\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"javascript:alert(1)\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"javascript:alert(1)\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"data:text/html,test\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"data:text/html,test\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\" \")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\" \")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"\\t\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"\\t\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.test.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"not a url\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"not a url\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.test.ts:<anonymous>","to":"external:expect(isValidCorsOrigin(\"://missing-protocol\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isValidCorsOrigin(\"://missing-protocol\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.ts","to":"external:@solidjs/start/middleware","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.ts","to":"external:clerk-solidjs/start/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.ts","to":"external:~/server/lib/request-logger","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.ts:securityHeaders","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.ts:securityHeaders","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.ts:securityHeaders","to":"external:h.set","kind":"calls","metadata":{"unresolvedName":"h.set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.ts:isValidCorsOrigin","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.ts:isValidCorsOrigin","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.ts:isValidCorsOrigin","to":"external:origin.trim","kind":"calls","metadata":{"unresolvedName":"origin.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.ts:isValidCorsOrigin","to":"external:parsed.protocol.match","kind":"calls","metadata":{"unresolvedName":"parsed.protocol.match"}},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.ts:corsHeaders","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/middleware.ts","to":"/Users/mike/Code/Kordant/web/src/middleware.ts:corsHeaders","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/middleware.ts:corsHeaders","to":"external:event.request.headers.get","kind":"calls","metadata":{"unresolvedName":"event.request.headers.get"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.ts:corsHeaders","to":"symbol-name:isValidCorsOrigin","kind":"calls","metadata":{"unresolvedName":"isValidCorsOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.ts:corsHeaders","to":"external:allowedOrigins.push","kind":"calls","metadata":{"unresolvedName":"allowedOrigins.push"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.ts:corsHeaders","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.ts:corsHeaders","to":"external:allowedOrigins.includes","kind":"calls","metadata":{"unresolvedName":"allowedOrigins.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/middleware.ts:corsHeaders","to":"external:event.response.headers.set","kind":"calls","metadata":{"unresolvedName":"event.response.headers.set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:useParams","kind":"calls","metadata":{"unresolvedName":"useParams"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:createEffect","kind":"calls","metadata":{"unresolvedName":"createEffect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"external:api.admin.blogGet.query({ id: params.slug }).then","kind":"calls","metadata":{"unresolvedName":"api.admin.blogGet.query({ id: params.slug }).then"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"external:api.admin.blogGet.query","kind":"calls","metadata":{"unresolvedName":"api.admin.blogGet.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setPost","kind":"calls","metadata":{"unresolvedName":"setPost"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setTitle","kind":"calls","metadata":{"unresolvedName":"setTitle"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setSlug","kind":"calls","metadata":{"unresolvedName":"setSlug"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setExcerpt","kind":"calls","metadata":{"unresolvedName":"setExcerpt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setContent","kind":"calls","metadata":{"unresolvedName":"setContent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setAuthorName","kind":"calls","metadata":{"unresolvedName":"setAuthorName"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setCoverImageUrl","kind":"calls","metadata":{"unresolvedName":"setCoverImageUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setTags","kind":"calls","metadata":{"unresolvedName":"setTags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setPublished","kind":"calls","metadata":{"unresolvedName":"setPublished"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setFeatured","kind":"calls","metadata":{"unresolvedName":"setFeatured"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setSaving","kind":"calls","metadata":{"unresolvedName":"setSaving"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"external:api.admin.blogUpdate.mutate","kind":"calls","metadata":{"unresolvedName":"api.admin.blogUpdate.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:title","kind":"calls","metadata":{"unresolvedName":"title"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:slug","kind":"calls","metadata":{"unresolvedName":"slug"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:excerpt","kind":"calls","metadata":{"unresolvedName":"excerpt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:content","kind":"calls","metadata":{"unresolvedName":"content"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:authorName","kind":"calls","metadata":{"unresolvedName":"authorName"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:coverImageUrl","kind":"calls","metadata":{"unresolvedName":"coverImageUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"external:tags().join","kind":"calls","metadata":{"unresolvedName":"tags().join"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:tags","kind":"calls","metadata":{"unresolvedName":"tags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:published","kind":"calls","metadata":{"unresolvedName":"published"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:featured","kind":"calls","metadata":{"unresolvedName":"featured"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:setSuccess","kind":"calls","metadata":{"unresolvedName":"setSuccess"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"external:tags().includes","kind":"calls","metadata":{"unresolvedName":"tags().includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"external:tags().filter","kind":"calls","metadata":{"unresolvedName":"tags().filter"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:success","kind":"calls","metadata":{"unresolvedName":"success"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:loading","kind":"calls","metadata":{"unresolvedName":"loading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"external:ALL_TAGS.map","kind":"calls","metadata":{"unresolvedName":"ALL_TAGS.map"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:toggleTag","kind":"calls","metadata":{"unresolvedName":"toggleTag"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:error","kind":"calls","metadata":{"unresolvedName":"error"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:AdminBlogEdit","to":"symbol-name:saving","kind":"calls","metadata":{"unresolvedName":"saving"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"external:api.admin.blogGet.query({ id: params.slug }).then","kind":"calls","metadata":{"unresolvedName":"api.admin.blogGet.query({ id: params.slug }).then"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"external:api.admin.blogGet.query","kind":"calls","metadata":{"unresolvedName":"api.admin.blogGet.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setPost","kind":"calls","metadata":{"unresolvedName":"setPost"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setTitle","kind":"calls","metadata":{"unresolvedName":"setTitle"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setSlug","kind":"calls","metadata":{"unresolvedName":"setSlug"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setExcerpt","kind":"calls","metadata":{"unresolvedName":"setExcerpt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setContent","kind":"calls","metadata":{"unresolvedName":"setContent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setAuthorName","kind":"calls","metadata":{"unresolvedName":"setAuthorName"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setCoverImageUrl","kind":"calls","metadata":{"unresolvedName":"setCoverImageUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setTags","kind":"calls","metadata":{"unresolvedName":"setTags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setPublished","kind":"calls","metadata":{"unresolvedName":"setPublished"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setFeatured","kind":"calls","metadata":{"unresolvedName":"setFeatured"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setPost","kind":"calls","metadata":{"unresolvedName":"setPost"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setTitle","kind":"calls","metadata":{"unresolvedName":"setTitle"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setSlug","kind":"calls","metadata":{"unresolvedName":"setSlug"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setExcerpt","kind":"calls","metadata":{"unresolvedName":"setExcerpt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setContent","kind":"calls","metadata":{"unresolvedName":"setContent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setAuthorName","kind":"calls","metadata":{"unresolvedName":"setAuthorName"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setCoverImageUrl","kind":"calls","metadata":{"unresolvedName":"setCoverImageUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setTags","kind":"calls","metadata":{"unresolvedName":"setTags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setPublished","kind":"calls","metadata":{"unresolvedName":"setPublished"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setFeatured","kind":"calls","metadata":{"unresolvedName":"setFeatured"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:setSaving","kind":"calls","metadata":{"unresolvedName":"setSaving"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"external:api.admin.blogUpdate.mutate","kind":"calls","metadata":{"unresolvedName":"api.admin.blogUpdate.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:title","kind":"calls","metadata":{"unresolvedName":"title"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:slug","kind":"calls","metadata":{"unresolvedName":"slug"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:excerpt","kind":"calls","metadata":{"unresolvedName":"excerpt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:content","kind":"calls","metadata":{"unresolvedName":"content"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:authorName","kind":"calls","metadata":{"unresolvedName":"authorName"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:coverImageUrl","kind":"calls","metadata":{"unresolvedName":"coverImageUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"external:tags().join","kind":"calls","metadata":{"unresolvedName":"tags().join"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:tags","kind":"calls","metadata":{"unresolvedName":"tags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:published","kind":"calls","metadata":{"unresolvedName":"published"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:featured","kind":"calls","metadata":{"unresolvedName":"featured"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:handleSubmit","to":"symbol-name:setSuccess","kind":"calls","metadata":{"unresolvedName":"setSuccess"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:toggleTag","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:toggleTag","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:toggleTag","to":"symbol-name:setTags","kind":"calls","metadata":{"unresolvedName":"setTags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:toggleTag","to":"external:tags().includes","kind":"calls","metadata":{"unresolvedName":"tags().includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:toggleTag","to":"symbol-name:tags","kind":"calls","metadata":{"unresolvedName":"tags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/[slug].tsx:toggleTag","to":"external:tags().filter","kind":"calls","metadata":{"unresolvedName":"tags().filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"external:api.admin.blogList.query().then(setPosts).finally","kind":"calls","metadata":{"unresolvedName":"api.admin.blogList.query().then(setPosts).finally"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"external:api.admin.blogList.query().then","kind":"calls","metadata":{"unresolvedName":"api.admin.blogList.query().then"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"external:api.admin.blogList.query","kind":"calls","metadata":{"unresolvedName":"api.admin.blogList.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:createEffect","kind":"calls","metadata":{"unresolvedName":"createEffect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:loadPosts","kind":"calls","metadata":{"unresolvedName":"loadPosts"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:confirm","kind":"calls","metadata":{"unresolvedName":"confirm"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:setDeletingId","kind":"calls","metadata":{"unresolvedName":"setDeletingId"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"external:api.admin.blogDelete.mutate","kind":"calls","metadata":{"unresolvedName":"api.admin.blogDelete.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:setPosts","kind":"calls","metadata":{"unresolvedName":"setPosts"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"external:posts().filter","kind":"calls","metadata":{"unresolvedName":"posts().filter"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:posts","kind":"calls","metadata":{"unresolvedName":"posts"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"/Users/mike/Code/Kordant/web/src/app.tsx:redirect","kind":"calls","metadata":{"unresolvedName":"redirect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:setRedirect","kind":"calls","metadata":{"unresolvedName":"setRedirect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:loading","kind":"calls","metadata":{"unresolvedName":"loading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"external:new Date(post.publishedAt).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(post.publishedAt).toLocaleDateString"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:AdminBlog","to":"symbol-name:deletingId","kind":"calls","metadata":{"unresolvedName":"deletingId"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:loadPosts","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:loadPosts","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:loadPosts","to":"external:api.admin.blogList.query().then(setPosts).finally","kind":"calls","metadata":{"unresolvedName":"api.admin.blogList.query().then(setPosts).finally"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:loadPosts","to":"external:api.admin.blogList.query().then","kind":"calls","metadata":{"unresolvedName":"api.admin.blogList.query().then"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:loadPosts","to":"external:api.admin.blogList.query","kind":"calls","metadata":{"unresolvedName":"api.admin.blogList.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:loadPosts","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:loadPosts","kind":"calls","metadata":{"unresolvedName":"loadPosts"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","to":"symbol-name:confirm","kind":"calls","metadata":{"unresolvedName":"confirm"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","to":"symbol-name:setDeletingId","kind":"calls","metadata":{"unresolvedName":"setDeletingId"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","to":"external:api.admin.blogDelete.mutate","kind":"calls","metadata":{"unresolvedName":"api.admin.blogDelete.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","to":"symbol-name:setPosts","kind":"calls","metadata":{"unresolvedName":"setPosts"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","to":"external:posts().filter","kind":"calls","metadata":{"unresolvedName":"posts().filter"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","to":"symbol-name:posts","kind":"calls","metadata":{"unresolvedName":"posts"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/index.tsx:handleDelete","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:slugify","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:slugify","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:slugify","to":"external:text\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace","kind":"calls","metadata":{"unresolvedName":"text\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:slugify","to":"external:text\n .toLowerCase()\n .replace","kind":"calls","metadata":{"unresolvedName":"text\n .toLowerCase()\n .replace"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:slugify","to":"external:text\n .toLowerCase","kind":"calls","metadata":{"unresolvedName":"text\n .toLowerCase"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:createEffect","kind":"calls","metadata":{"unresolvedName":"createEffect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:title","kind":"calls","metadata":{"unresolvedName":"title"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:slug","kind":"calls","metadata":{"unresolvedName":"slug"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setSlug","kind":"calls","metadata":{"unresolvedName":"setSlug"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:slugify","kind":"calls","metadata":{"unresolvedName":"slugify"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setSaving","kind":"calls","metadata":{"unresolvedName":"setSaving"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"external:api.admin.blogCreate.mutate","kind":"calls","metadata":{"unresolvedName":"api.admin.blogCreate.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:excerpt","kind":"calls","metadata":{"unresolvedName":"excerpt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:content","kind":"calls","metadata":{"unresolvedName":"content"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:authorName","kind":"calls","metadata":{"unresolvedName":"authorName"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:coverImageUrl","kind":"calls","metadata":{"unresolvedName":"coverImageUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"external:tags().join","kind":"calls","metadata":{"unresolvedName":"tags().join"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:tags","kind":"calls","metadata":{"unresolvedName":"tags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:published","kind":"calls","metadata":{"unresolvedName":"published"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:featured","kind":"calls","metadata":{"unresolvedName":"featured"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setSuccess","kind":"calls","metadata":{"unresolvedName":"setSuccess"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setTags","kind":"calls","metadata":{"unresolvedName":"setTags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"external:tags().includes","kind":"calls","metadata":{"unresolvedName":"tags().includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"external:tags().filter","kind":"calls","metadata":{"unresolvedName":"tags().filter"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:success","kind":"calls","metadata":{"unresolvedName":"success"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setTitle","kind":"calls","metadata":{"unresolvedName":"setTitle"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setExcerpt","kind":"calls","metadata":{"unresolvedName":"setExcerpt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setAuthorName","kind":"calls","metadata":{"unresolvedName":"setAuthorName"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setCoverImageUrl","kind":"calls","metadata":{"unresolvedName":"setCoverImageUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"external:ALL_TAGS.map","kind":"calls","metadata":{"unresolvedName":"ALL_TAGS.map"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:toggleTag","kind":"calls","metadata":{"unresolvedName":"toggleTag"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setContent","kind":"calls","metadata":{"unresolvedName":"setContent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setPublished","kind":"calls","metadata":{"unresolvedName":"setPublished"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:setFeatured","kind":"calls","metadata":{"unresolvedName":"setFeatured"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:error","kind":"calls","metadata":{"unresolvedName":"error"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:AdminBlogNew","to":"symbol-name:saving","kind":"calls","metadata":{"unresolvedName":"saving"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:<anonymous>","to":"symbol-name:title","kind":"calls","metadata":{"unresolvedName":"title"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:<anonymous>","to":"symbol-name:slug","kind":"calls","metadata":{"unresolvedName":"slug"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:<anonymous>","to":"symbol-name:setSlug","kind":"calls","metadata":{"unresolvedName":"setSlug"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:slugify","kind":"calls","metadata":{"unresolvedName":"slugify"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:setSaving","kind":"calls","metadata":{"unresolvedName":"setSaving"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"external:api.admin.blogCreate.mutate","kind":"calls","metadata":{"unresolvedName":"api.admin.blogCreate.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:title","kind":"calls","metadata":{"unresolvedName":"title"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:slug","kind":"calls","metadata":{"unresolvedName":"slug"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:excerpt","kind":"calls","metadata":{"unresolvedName":"excerpt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:content","kind":"calls","metadata":{"unresolvedName":"content"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:authorName","kind":"calls","metadata":{"unresolvedName":"authorName"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:coverImageUrl","kind":"calls","metadata":{"unresolvedName":"coverImageUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"external:tags().join","kind":"calls","metadata":{"unresolvedName":"tags().join"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:tags","kind":"calls","metadata":{"unresolvedName":"tags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:published","kind":"calls","metadata":{"unresolvedName":"published"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:featured","kind":"calls","metadata":{"unresolvedName":"featured"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:handleSubmit","to":"symbol-name:setSuccess","kind":"calls","metadata":{"unresolvedName":"setSuccess"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:toggleTag","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:toggleTag","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:toggleTag","to":"symbol-name:setTags","kind":"calls","metadata":{"unresolvedName":"setTags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:toggleTag","to":"external:tags().includes","kind":"calls","metadata":{"unresolvedName":"tags().includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:toggleTag","to":"symbol-name:tags","kind":"calls","metadata":{"unresolvedName":"tags"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/blog/new.tsx:toggleTag","to":"external:tags().filter","kind":"calls","metadata":{"unresolvedName":"tags().filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:StatCard","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:StatCard","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","to":"symbol-name:createEffect","kind":"calls","metadata":{"unresolvedName":"createEffect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","to":"external:api.admin.stats.query().then(setStats).finally","kind":"calls","metadata":{"unresolvedName":"api.admin.stats.query().then(setStats).finally"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","to":"external:api.admin.stats.query().then","kind":"calls","metadata":{"unresolvedName":"api.admin.stats.query().then"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","to":"external:api.admin.stats.query","kind":"calls","metadata":{"unresolvedName":"api.admin.stats.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","to":"symbol-name:loading","kind":"calls","metadata":{"unresolvedName":"loading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"calls","metadata":{"unresolvedName":"stats"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:AdminDashboard","to":"external:new Date(post.publishedAt).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(post.publishedAt).toLocaleDateString"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:<anonymous>","to":"external:api.admin.stats.query().then(setStats).finally","kind":"calls","metadata":{"unresolvedName":"api.admin.stats.query().then(setStats).finally"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:<anonymous>","to":"external:api.admin.stats.query().then","kind":"calls","metadata":{"unresolvedName":"api.admin.stats.query().then"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:<anonymous>","to":"external:api.admin.stats.query","kind":"calls","metadata":{"unresolvedName":"api.admin.stats.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/index.tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","to":"external:clerk-solidjs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","to":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","kind":"calls","metadata":{"unresolvedName":"useAuth"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","to":"symbol-name:useLocation","kind":"calls","metadata":{"unresolvedName":"useLocation"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","to":"symbol-name:createEffect","kind":"calls","metadata":{"unresolvedName":"createEffect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","to":"external:auth.isLoaded","kind":"calls","metadata":{"unresolvedName":"auth.isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","to":"external:auth.isSignedIn","kind":"calls","metadata":{"unresolvedName":"auth.isSignedIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","to":"symbol-name:setIsAuthorized","kind":"calls","metadata":{"unresolvedName":"setIsAuthorized"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","to":"symbol-name:isAuthorized","kind":"calls","metadata":{"unresolvedName":"isAuthorized"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:AdminLayout","to":"external:props.children","kind":"calls","metadata":{"unresolvedName":"props.children"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:<anonymous>","to":"external:auth.isLoaded","kind":"calls","metadata":{"unresolvedName":"auth.isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:<anonymous>","to":"external:auth.isSignedIn","kind":"calls","metadata":{"unresolvedName":"auth.isSignedIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/layout.tsx:<anonymous>","to":"symbol-name:setIsAuthorized","kind":"calls","metadata":{"unresolvedName":"setIsAuthorized"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:StatusBadge","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:StatusBadge","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:StatusBadge","to":"external:props.status.charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"props.status.charAt(0).toUpperCase"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:StatusBadge","to":"external:props.status.charAt","kind":"calls","metadata":{"unresolvedName":"props.status.charAt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:StatusBadge","to":"external:props.status.slice","kind":"calls","metadata":{"unresolvedName":"props.status.slice"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:AdminServices","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:AdminServices","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:AdminServices","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:AdminServices","to":"symbol-name:setRefreshing","kind":"calls","metadata":{"unresolvedName":"setRefreshing"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:AdminServices","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:AdminServices","to":"external:services.filter","kind":"calls","metadata":{"unresolvedName":"services.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:AdminServices","to":"symbol-name:refreshing","kind":"calls","metadata":{"unresolvedName":"refreshing"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:AdminServices","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"calls","metadata":{"unresolvedName":"stats"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:handleRefresh","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:handleRefresh","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:handleRefresh","to":"symbol-name:setRefreshing","kind":"calls","metadata":{"unresolvedName":"setRefreshing"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:handleRefresh","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","to":"external:services.filter","kind":"calls","metadata":{"unresolvedName":"services.filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"symbol-name:createEffect","kind":"calls","metadata":{"unresolvedName":"createEffect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"external:api.admin.userList.query().then(setUsers).finally","kind":"calls","metadata":{"unresolvedName":"api.admin.userList.query().then(setUsers).finally"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"external:api.admin.userList.query().then","kind":"calls","metadata":{"unresolvedName":"api.admin.userList.query().then"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"external:api.admin.userList.query","kind":"calls","metadata":{"unresolvedName":"api.admin.userList.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"external:api.admin.userUpdateRole.mutate","kind":"calls","metadata":{"unresolvedName":"api.admin.userUpdateRole.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"symbol-name:loading","kind":"calls","metadata":{"unresolvedName":"loading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"symbol-name:users","kind":"calls","metadata":{"unresolvedName":"users"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"external:new Date(user.createdAt).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(user.createdAt).toLocaleDateString"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:AdminUsers","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:handleRoleChange","kind":"calls","metadata":{"unresolvedName":"handleRoleChange"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:<anonymous>","to":"external:api.admin.userList.query().then(setUsers).finally","kind":"calls","metadata":{"unresolvedName":"api.admin.userList.query().then(setUsers).finally"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:<anonymous>","to":"external:api.admin.userList.query().then","kind":"calls","metadata":{"unresolvedName":"api.admin.userList.query().then"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:<anonymous>","to":"external:api.admin.userList.query","kind":"calls","metadata":{"unresolvedName":"api.admin.userList.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:refresh","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:refresh","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:refresh","to":"external:api.admin.userList.query().then","kind":"calls","metadata":{"unresolvedName":"api.admin.userList.query().then"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:refresh","to":"external:api.admin.userList.query","kind":"calls","metadata":{"unresolvedName":"api.admin.userList.query"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:handleRoleChange","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:handleRoleChange","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:handleRoleChange","to":"external:api.admin.userUpdateRole.mutate","kind":"calls","metadata":{"unresolvedName":"api.admin.userUpdateRole.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:handleRoleChange","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/users.tsx:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"external:solid-js/web","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:mount","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:mount","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:mount","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:mount","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:mount","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:mount","to":"symbol-name:comp","kind":"calls","metadata":{"unresolvedName":"comp"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:mockCreateSignIn.mockReset","kind":"calls","metadata":{"unresolvedName":"mockCreateSignIn.mockReset"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:mockCreateSignUp.mockReset","kind":"calls","metadata":{"unresolvedName":"mockCreateSignUp.mockReset"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:mockSetActive.mockReset","kind":"calls","metadata":{"unresolvedName":"mockSetActive.mockReset"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:mockCreateSignIn.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreateSignIn.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:mockCreateSignUp.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreateSignUp.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","to":"external:input.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"input.dispatchEvent"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"input[type='email']\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"input[type='email']\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:mockCreateSignIn.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockCreateSignIn.mockRejectedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:vi.waitFor","kind":"calls","metadata":{"unresolvedName":"vi.waitFor"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedLogin","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedLogin","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.querySelector(\"input[type='email']\")).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(document.querySelector(\"input[type='email']\")).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:mockCreateSignIn.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockCreateSignIn.mockRejectedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:vi.waitFor","kind":"calls","metadata":{"unresolvedName":"vi.waitFor"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedSignup","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedSignup","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:it.skip","kind":"calls","metadata":{"unresolvedName":"it.skip"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedForgot","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedForgot","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:form.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"form.dispatchEvent"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:[...document.querySelectorAll(\"button\")].find","kind":"calls","metadata":{"unresolvedName":"[...document.querySelectorAll(\"button\")].find"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:b.textContent?.includes","kind":"calls","metadata":{"unresolvedName":"b.textContent?.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:continueBtn.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"continueBtn.dispatchEvent"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedOnboarding","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:WrappedOnboarding","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:[...document.querySelectorAll(\"button\")].find","kind":"calls","metadata":{"unresolvedName":"[...document.querySelectorAll(\"button\")].find"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:b.textContent?.includes","kind":"calls","metadata":{"unresolvedName":"b.textContent?.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:continueBtn.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"continueBtn.dispatchEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/auth-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"external:clerk-solidjs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"external:~/components/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:useSignIn","kind":"calls","metadata":{"unresolvedName":"useSignIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"external:email().trim","kind":"calls","metadata":{"unresolvedName":"email().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:email","kind":"calls","metadata":{"unresolvedName":"email"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"external:EMAIL_REGEX.test","kind":"calls","metadata":{"unresolvedName":"EMAIL_REGEX.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:validate","kind":"calls","metadata":{"unresolvedName":"validate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:isLoaded","kind":"calls","metadata":{"unresolvedName":"isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:signIn","kind":"calls","metadata":{"unresolvedName":"signIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"external:signIn()!.create","kind":"calls","metadata":{"unresolvedName":"signIn()!.create"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:setSent","kind":"calls","metadata":{"unresolvedName":"setSent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:sent","kind":"calls","metadata":{"unresolvedName":"sent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:setEmail","kind":"calls","metadata":{"unresolvedName":"setEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:error","kind":"calls","metadata":{"unresolvedName":"error"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:ForgotPasswordPage","to":"symbol-name:loading","kind":"calls","metadata":{"unresolvedName":"loading"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:validate","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:validate","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:validate","to":"external:email().trim","kind":"calls","metadata":{"unresolvedName":"email().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:validate","to":"symbol-name:email","kind":"calls","metadata":{"unresolvedName":"email"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:validate","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:validate","to":"external:EMAIL_REGEX.test","kind":"calls","metadata":{"unresolvedName":"EMAIL_REGEX.test"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","to":"symbol-name:validate","kind":"calls","metadata":{"unresolvedName":"validate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","to":"symbol-name:isLoaded","kind":"calls","metadata":{"unresolvedName":"isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","to":"symbol-name:signIn","kind":"calls","metadata":{"unresolvedName":"signIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","to":"external:signIn()!.create","kind":"calls","metadata":{"unresolvedName":"signIn()!.create"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","to":"symbol-name:email","kind":"calls","metadata":{"unresolvedName":"email"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","to":"symbol-name:setSent","kind":"calls","metadata":{"unresolvedName":"setSent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:handleSubmit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:<anonymous>","to":"symbol-name:setEmail","kind":"calls","metadata":{"unresolvedName":"setEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/forgot-password.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"external:clerk-solidjs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"external:~/components/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:useSignIn","kind":"calls","metadata":{"unresolvedName":"useSignIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"external:email().trim","kind":"calls","metadata":{"unresolvedName":"email().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:email","kind":"calls","metadata":{"unresolvedName":"email"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"external:EMAIL_REGEX.test","kind":"calls","metadata":{"unresolvedName":"EMAIL_REGEX.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:password","kind":"calls","metadata":{"unresolvedName":"password"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:setServerError","kind":"calls","metadata":{"unresolvedName":"setServerError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:validate","kind":"calls","metadata":{"unresolvedName":"validate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:isLoaded","kind":"calls","metadata":{"unresolvedName":"isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:signIn","kind":"calls","metadata":{"unresolvedName":"signIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"external:signIn()!.create","kind":"calls","metadata":{"unresolvedName":"signIn()!.create"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:setActive","kind":"calls","metadata":{"unresolvedName":"setActive"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"external:signIn()!.authenticateWithRedirect","kind":"calls","metadata":{"unresolvedName":"signIn()!.authenticateWithRedirect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:serverError","kind":"calls","metadata":{"unresolvedName":"serverError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:setEmail","kind":"calls","metadata":{"unresolvedName":"setEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:errors","kind":"calls","metadata":{"unresolvedName":"errors"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:setPassword","kind":"calls","metadata":{"unresolvedName":"setPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:rememberMe","kind":"calls","metadata":{"unresolvedName":"rememberMe"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:setRememberMe","kind":"calls","metadata":{"unresolvedName":"setRememberMe"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:loading","kind":"calls","metadata":{"unresolvedName":"loading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:LoginPage","to":"symbol-name:handleOAuth","kind":"calls","metadata":{"unresolvedName":"handleOAuth"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:validate","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:validate","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:validate","to":"external:email().trim","kind":"calls","metadata":{"unresolvedName":"email().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:validate","to":"symbol-name:email","kind":"calls","metadata":{"unresolvedName":"email"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:validate","to":"external:EMAIL_REGEX.test","kind":"calls","metadata":{"unresolvedName":"EMAIL_REGEX.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:validate","to":"symbol-name:password","kind":"calls","metadata":{"unresolvedName":"password"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:validate","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:validate","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"symbol-name:setServerError","kind":"calls","metadata":{"unresolvedName":"setServerError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"symbol-name:validate","kind":"calls","metadata":{"unresolvedName":"validate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"symbol-name:isLoaded","kind":"calls","metadata":{"unresolvedName":"isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"symbol-name:signIn","kind":"calls","metadata":{"unresolvedName":"signIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"external:signIn()!.create","kind":"calls","metadata":{"unresolvedName":"signIn()!.create"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"symbol-name:email","kind":"calls","metadata":{"unresolvedName":"email"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"symbol-name:password","kind":"calls","metadata":{"unresolvedName":"password"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"symbol-name:setActive","kind":"calls","metadata":{"unresolvedName":"setActive"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleSubmit","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleOAuth","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleOAuth","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleOAuth","to":"symbol-name:isLoaded","kind":"calls","metadata":{"unresolvedName":"isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleOAuth","to":"symbol-name:signIn","kind":"calls","metadata":{"unresolvedName":"signIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleOAuth","to":"external:signIn()!.authenticateWithRedirect","kind":"calls","metadata":{"unresolvedName":"signIn()!.authenticateWithRedirect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/login.tsx:handleOAuth","to":"symbol-name:setServerError","kind":"calls","metadata":{"unresolvedName":"setServerError"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"external:~/lib/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"external:~/lib/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"external:watchlistItem().trim","kind":"calls","metadata":{"unresolvedName":"watchlistItem().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:watchlistItem","kind":"calls","metadata":{"unresolvedName":"watchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:setWatchlistError","kind":"calls","metadata":{"unresolvedName":"setWatchlistError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"external:watchlistItems().includes","kind":"calls","metadata":{"unresolvedName":"watchlistItems().includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:watchlistItems","kind":"calls","metadata":{"unresolvedName":"watchlistItems"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:setWatchlistItems","kind":"calls","metadata":{"unresolvedName":"setWatchlistItems"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:setWatchlistItem","kind":"calls","metadata":{"unresolvedName":"setWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"external:familyInput().trim","kind":"calls","metadata":{"unresolvedName":"familyInput().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:familyInput","kind":"calls","metadata":{"unresolvedName":"familyInput"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"external:familyInvites().includes","kind":"calls","metadata":{"unresolvedName":"familyInvites().includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:familyInvites","kind":"calls","metadata":{"unresolvedName":"familyInvites"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:setFamilyInvites","kind":"calls","metadata":{"unresolvedName":"setFamilyInvites"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:setFamilyInput","kind":"calls","metadata":{"unresolvedName":"setFamilyInput"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:getCheckoutUrl","kind":"calls","metadata":{"unresolvedName":"getCheckoutUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:plan","kind":"calls","metadata":{"unresolvedName":"plan"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:setSubmitting","kind":"calls","metadata":{"unresolvedName":"setSubmitting"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:submitOnboarding","kind":"calls","metadata":{"unresolvedName":"submitOnboarding"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:setStep","kind":"calls","metadata":{"unresolvedName":"setStep"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:i","kind":"calls","metadata":{"unresolvedName":"i"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:step","kind":"calls","metadata":{"unresolvedName":"step"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:setPlan","kind":"calls","metadata":{"unresolvedName":"setPlan"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:watchlistError","kind":"calls","metadata":{"unresolvedName":"watchlistError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"symbol-name:removeWatchlistItem","kind":"calls","metadata":{"unresolvedName":"removeWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:OnboardingPage","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeFamilyInvite","kind":"calls","metadata":{"unresolvedName":"removeFamilyInvite"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem","to":"external:watchlistItem().trim","kind":"calls","metadata":{"unresolvedName":"watchlistItem().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem","to":"symbol-name:watchlistItem","kind":"calls","metadata":{"unresolvedName":"watchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem","to":"symbol-name:setWatchlistError","kind":"calls","metadata":{"unresolvedName":"setWatchlistError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem","to":"external:watchlistItems().includes","kind":"calls","metadata":{"unresolvedName":"watchlistItems().includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem","to":"symbol-name:watchlistItems","kind":"calls","metadata":{"unresolvedName":"watchlistItems"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem","to":"symbol-name:setWatchlistItems","kind":"calls","metadata":{"unresolvedName":"setWatchlistItems"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addWatchlistItem","to":"symbol-name:setWatchlistItem","kind":"calls","metadata":{"unresolvedName":"setWatchlistItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeWatchlistItem","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeWatchlistItem","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeWatchlistItem","to":"symbol-name:setWatchlistItems","kind":"calls","metadata":{"unresolvedName":"setWatchlistItems"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeWatchlistItem","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addFamilyInvite","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addFamilyInvite","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addFamilyInvite","to":"external:familyInput().trim","kind":"calls","metadata":{"unresolvedName":"familyInput().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addFamilyInvite","to":"symbol-name:familyInput","kind":"calls","metadata":{"unresolvedName":"familyInput"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addFamilyInvite","to":"external:familyInvites().includes","kind":"calls","metadata":{"unresolvedName":"familyInvites().includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addFamilyInvite","to":"symbol-name:familyInvites","kind":"calls","metadata":{"unresolvedName":"familyInvites"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addFamilyInvite","to":"symbol-name:setFamilyInvites","kind":"calls","metadata":{"unresolvedName":"setFamilyInvites"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:addFamilyInvite","to":"symbol-name:setFamilyInput","kind":"calls","metadata":{"unresolvedName":"setFamilyInput"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeFamilyInvite","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeFamilyInvite","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeFamilyInvite","to":"symbol-name:setFamilyInvites","kind":"calls","metadata":{"unresolvedName":"setFamilyInvites"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:removeFamilyInvite","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","to":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:getCheckoutUrl","kind":"calls","metadata":{"unresolvedName":"getCheckoutUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","to":"symbol-name:plan","kind":"calls","metadata":{"unresolvedName":"plan"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","to":"symbol-name:setSubmitting","kind":"calls","metadata":{"unresolvedName":"setSubmitting"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","to":"symbol-name:watchlistItems","kind":"calls","metadata":{"unresolvedName":"watchlistItems"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","to":"symbol-name:familyInvites","kind":"calls","metadata":{"unresolvedName":"familyInvites"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","to":"/Users/mike/Code/Kordant/web/src/lib/auth.ts:submitOnboarding","kind":"calls","metadata":{"unresolvedName":"submitOnboarding"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:completeOnboarding","to":"symbol-name:setStep","kind":"calls","metadata":{"unresolvedName":"setStep"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:<anonymous>","to":"symbol-name:setWatchlistItem","kind":"calls","metadata":{"unresolvedName":"setWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/onboarding.tsx:<anonymous>","to":"symbol-name:setWatchlistError","kind":"calls","metadata":{"unresolvedName":"setWatchlistError"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"external:clerk-solidjs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"external:~/components/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:useSearchParams","kind":"calls","metadata":{"unresolvedName":"useSearchParams"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:useSignIn","kind":"calls","metadata":{"unresolvedName":"useSignIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:password","kind":"calls","metadata":{"unresolvedName":"password"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:confirmPassword","kind":"calls","metadata":{"unresolvedName":"confirmPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:setServerError","kind":"calls","metadata":{"unresolvedName":"setServerError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:validate","kind":"calls","metadata":{"unresolvedName":"validate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:token","kind":"calls","metadata":{"unresolvedName":"token"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:isLoaded","kind":"calls","metadata":{"unresolvedName":"isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:signIn","kind":"calls","metadata":{"unresolvedName":"signIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"external:signIn()!.attemptFirstFactor","kind":"calls","metadata":{"unresolvedName":"signIn()!.attemptFirstFactor"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:setActive","kind":"calls","metadata":{"unresolvedName":"setActive"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:setSuccess","kind":"calls","metadata":{"unresolvedName":"setSuccess"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:success","kind":"calls","metadata":{"unresolvedName":"success"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:serverError","kind":"calls","metadata":{"unresolvedName":"serverError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:setPassword","kind":"calls","metadata":{"unresolvedName":"setPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:errors","kind":"calls","metadata":{"unresolvedName":"errors"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:setConfirmPassword","kind":"calls","metadata":{"unresolvedName":"setConfirmPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:ResetPasswordPage","to":"symbol-name:loading","kind":"calls","metadata":{"unresolvedName":"loading"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:validate","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:validate","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:validate","to":"symbol-name:password","kind":"calls","metadata":{"unresolvedName":"password"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:validate","to":"symbol-name:confirmPassword","kind":"calls","metadata":{"unresolvedName":"confirmPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:validate","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:validate","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"symbol-name:setServerError","kind":"calls","metadata":{"unresolvedName":"setServerError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"symbol-name:validate","kind":"calls","metadata":{"unresolvedName":"validate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"symbol-name:token","kind":"calls","metadata":{"unresolvedName":"token"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"symbol-name:isLoaded","kind":"calls","metadata":{"unresolvedName":"isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"symbol-name:signIn","kind":"calls","metadata":{"unresolvedName":"signIn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"external:signIn()!.attemptFirstFactor","kind":"calls","metadata":{"unresolvedName":"signIn()!.attemptFirstFactor"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"symbol-name:password","kind":"calls","metadata":{"unresolvedName":"password"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"symbol-name:setActive","kind":"calls","metadata":{"unresolvedName":"setActive"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/reset-password.tsx:handleSubmit","to":"symbol-name:setSuccess","kind":"calls","metadata":{"unresolvedName":"setSuccess"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"external:clerk-solidjs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"external:~/components/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:useSignUp","kind":"calls","metadata":{"unresolvedName":"useSignUp"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:createMemo","kind":"calls","metadata":{"unresolvedName":"createMemo"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:password","kind":"calls","metadata":{"unresolvedName":"password"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:/[a-z]/.test","kind":"calls","metadata":{"unresolvedName":"/[a-z]/.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:/[A-Z]/.test","kind":"calls","metadata":{"unresolvedName":"/[A-Z]/.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:/\\d/.test","kind":"calls","metadata":{"unresolvedName":"/\\d/.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:/[^a-zA-Z0-9]/.test","kind":"calls","metadata":{"unresolvedName":"/[^a-zA-Z0-9]/.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:name().trim","kind":"calls","metadata":{"unresolvedName":"name().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:name","kind":"calls","metadata":{"unresolvedName":"name"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:email().trim","kind":"calls","metadata":{"unresolvedName":"email().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:email","kind":"calls","metadata":{"unresolvedName":"email"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:EMAIL_REGEX.test","kind":"calls","metadata":{"unresolvedName":"EMAIL_REGEX.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:confirmPassword","kind":"calls","metadata":{"unresolvedName":"confirmPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:agreeTerms","kind":"calls","metadata":{"unresolvedName":"agreeTerms"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:setServerError","kind":"calls","metadata":{"unresolvedName":"setServerError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:validate","kind":"calls","metadata":{"unresolvedName":"validate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:isLoaded","kind":"calls","metadata":{"unresolvedName":"isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:signUp","kind":"calls","metadata":{"unresolvedName":"signUp"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:signUp()!.create","kind":"calls","metadata":{"unresolvedName":"signUp()!.create"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:setActive","kind":"calls","metadata":{"unresolvedName":"setActive"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"external:signUp()!.authenticateWithRedirect","kind":"calls","metadata":{"unresolvedName":"signUp()!.authenticateWithRedirect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:serverError","kind":"calls","metadata":{"unresolvedName":"serverError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:errors","kind":"calls","metadata":{"unresolvedName":"errors"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:setEmail","kind":"calls","metadata":{"unresolvedName":"setEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:setPassword","kind":"calls","metadata":{"unresolvedName":"setPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:strength","kind":"calls","metadata":{"unresolvedName":"strength"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:setConfirmPassword","kind":"calls","metadata":{"unresolvedName":"setConfirmPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:setAgreeTerms","kind":"calls","metadata":{"unresolvedName":"setAgreeTerms"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:loading","kind":"calls","metadata":{"unresolvedName":"loading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:SignupPage","to":"symbol-name:handleOAuth","kind":"calls","metadata":{"unresolvedName":"handleOAuth"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:<anonymous>","to":"symbol-name:password","kind":"calls","metadata":{"unresolvedName":"password"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:<anonymous>","to":"external:/[a-z]/.test","kind":"calls","metadata":{"unresolvedName":"/[a-z]/.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:<anonymous>","to":"external:/[A-Z]/.test","kind":"calls","metadata":{"unresolvedName":"/[A-Z]/.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:<anonymous>","to":"external:/\\d/.test","kind":"calls","metadata":{"unresolvedName":"/\\d/.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:<anonymous>","to":"external:/[^a-zA-Z0-9]/.test","kind":"calls","metadata":{"unresolvedName":"/[^a-zA-Z0-9]/.test"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","to":"external:name().trim","kind":"calls","metadata":{"unresolvedName":"name().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","to":"symbol-name:name","kind":"calls","metadata":{"unresolvedName":"name"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","to":"external:email().trim","kind":"calls","metadata":{"unresolvedName":"email().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","to":"symbol-name:email","kind":"calls","metadata":{"unresolvedName":"email"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","to":"external:EMAIL_REGEX.test","kind":"calls","metadata":{"unresolvedName":"EMAIL_REGEX.test"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","to":"symbol-name:password","kind":"calls","metadata":{"unresolvedName":"password"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","to":"symbol-name:confirmPassword","kind":"calls","metadata":{"unresolvedName":"confirmPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","to":"symbol-name:agreeTerms","kind":"calls","metadata":{"unresolvedName":"agreeTerms"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:validate","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"symbol-name:setServerError","kind":"calls","metadata":{"unresolvedName":"setServerError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"symbol-name:validate","kind":"calls","metadata":{"unresolvedName":"validate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"symbol-name:isLoaded","kind":"calls","metadata":{"unresolvedName":"isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"symbol-name:signUp","kind":"calls","metadata":{"unresolvedName":"signUp"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"external:signUp()!.create","kind":"calls","metadata":{"unresolvedName":"signUp()!.create"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"symbol-name:name","kind":"calls","metadata":{"unresolvedName":"name"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"symbol-name:email","kind":"calls","metadata":{"unresolvedName":"email"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"symbol-name:password","kind":"calls","metadata":{"unresolvedName":"password"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"symbol-name:setActive","kind":"calls","metadata":{"unresolvedName":"setActive"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleSubmit","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleOAuth","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleOAuth","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleOAuth","to":"symbol-name:isLoaded","kind":"calls","metadata":{"unresolvedName":"isLoaded"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleOAuth","to":"symbol-name:signUp","kind":"calls","metadata":{"unresolvedName":"signUp"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleOAuth","to":"external:signUp()!.authenticateWithRedirect","kind":"calls","metadata":{"unresolvedName":"signUp()!.authenticateWithRedirect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(auth)/signup.tsx:handleOAuth","to":"symbol-name:setServerError","kind":"calls","metadata":{"unresolvedName":"setServerError"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"external:~/components/dashboard","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:WatchlistIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:WatchlistIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"external:api.darkwatch.getWatchlist.query","kind":"calls","metadata":{"unresolvedName":"api.darkwatch.getWatchlist.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"external:api.darkwatch.getExposures.query","kind":"calls","metadata":{"unresolvedName":"api.darkwatch.getExposures.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"external:itemValue().trim","kind":"calls","metadata":{"unresolvedName":"itemValue().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:itemValue","kind":"calls","metadata":{"unresolvedName":"itemValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:setAdding","kind":"calls","metadata":{"unresolvedName":"setAdding"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"external:val.includes","kind":"calls","metadata":{"unresolvedName":"val.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"external:api.darkwatch.addWatchlistItem.mutate","kind":"calls","metadata":{"unresolvedName":"api.darkwatch.addWatchlistItem.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:setItemValue","kind":"calls","metadata":{"unresolvedName":"setItemValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:refetchWatchlist","kind":"calls","metadata":{"unresolvedName":"refetchWatchlist"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"external:api.darkwatch.removeWatchlistItem.mutate","kind":"calls","metadata":{"unresolvedName":"api.darkwatch.removeWatchlistItem.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:sidebarOpen","kind":"calls","metadata":{"unresolvedName":"sidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:setSidebarOpen","kind":"calls","metadata":{"unresolvedName":"setSidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:adding","kind":"calls","metadata":{"unresolvedName":"adding"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:watchlist","kind":"calls","metadata":{"unresolvedName":"watchlist"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:removeItem","kind":"calls","metadata":{"unresolvedName":"removeItem"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"external:document.querySelector<HTMLInputElement>(\"input\")?.focus","kind":"calls","metadata":{"unresolvedName":"document.querySelector<HTMLInputElement>(\"input\")?.focus"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"symbol-name:exposures","kind":"calls","metadata":{"unresolvedName":"exposures"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:DarkWatchPage","to":"external:(exposures()?.items ?? []).slice","kind":"calls","metadata":{"unresolvedName":"(exposures()?.items ?? []).slice"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem","to":"external:itemValue().trim","kind":"calls","metadata":{"unresolvedName":"itemValue().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem","to":"symbol-name:itemValue","kind":"calls","metadata":{"unresolvedName":"itemValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem","to":"symbol-name:setAdding","kind":"calls","metadata":{"unresolvedName":"setAdding"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem","to":"external:val.includes","kind":"calls","metadata":{"unresolvedName":"val.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem","to":"external:api.darkwatch.addWatchlistItem.mutate","kind":"calls","metadata":{"unresolvedName":"api.darkwatch.addWatchlistItem.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem","to":"symbol-name:setItemValue","kind":"calls","metadata":{"unresolvedName":"setItemValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:addItem","to":"symbol-name:refetchWatchlist","kind":"calls","metadata":{"unresolvedName":"refetchWatchlist"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:removeItem","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:removeItem","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:removeItem","to":"external:api.darkwatch.removeWatchlistItem.mutate","kind":"calls","metadata":{"unresolvedName":"api.darkwatch.removeWatchlistItem.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/darkwatch.tsx:removeItem","to":"symbol-name:refetchWatchlist","kind":"calls","metadata":{"unresolvedName":"refetchWatchlist"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","to":"external:~/components/dashboard","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx:DashboardPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx:DashboardPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx:DashboardPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx:DashboardPage","to":"symbol-name:sidebarOpen","kind":"calls","metadata":{"unresolvedName":"sidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx:DashboardPage","to":"symbol-name:setSidebarOpen","kind":"calls","metadata":{"unresolvedName":"setSidebarOpen"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"external:~/components/dashboard","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"external:api.hometitle.getProperties.query","kind":"calls","metadata":{"unresolvedName":"api.hometitle.getProperties.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:setAdding","kind":"calls","metadata":{"unresolvedName":"setAdding"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"external:api.hometitle.addProperty.mutate","kind":"calls","metadata":{"unresolvedName":"api.hometitle.addProperty.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:address","kind":"calls","metadata":{"unresolvedName":"address"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:setAddress","kind":"calls","metadata":{"unresolvedName":"setAddress"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"external:api.hometitle.removeProperty.mutate","kind":"calls","metadata":{"unresolvedName":"api.hometitle.removeProperty.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:sidebarOpen","kind":"calls","metadata":{"unresolvedName":"sidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:setSidebarOpen","kind":"calls","metadata":{"unresolvedName":"setSidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:adding","kind":"calls","metadata":{"unresolvedName":"adding"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:properties","kind":"calls","metadata":{"unresolvedName":"properties"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"external:document.querySelector<HTMLInputElement>(\"input\")?.focus","kind":"calls","metadata":{"unresolvedName":"document.querySelector<HTMLInputElement>(\"input\")?.focus"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:HomeTitlePage","to":"symbol-name:removeProperty","kind":"calls","metadata":{"unresolvedName":"removeProperty"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:addProperty","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:addProperty","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:addProperty","to":"symbol-name:setAdding","kind":"calls","metadata":{"unresolvedName":"setAdding"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:addProperty","to":"external:api.hometitle.addProperty.mutate","kind":"calls","metadata":{"unresolvedName":"api.hometitle.addProperty.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:addProperty","to":"symbol-name:address","kind":"calls","metadata":{"unresolvedName":"address"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:addProperty","to":"symbol-name:setAddress","kind":"calls","metadata":{"unresolvedName":"setAddress"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:addProperty","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:removeProperty","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:removeProperty","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:removeProperty","to":"external:api.hometitle.removeProperty.mutate","kind":"calls","metadata":{"unresolvedName":"api.hometitle.removeProperty.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/hometitle.tsx:removeProperty","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"external:~/components/dashboard","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:BrokerIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:BrokerIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"external:api.removebrokers.getBrokerRegistry.query","kind":"calls","metadata":{"unresolvedName":"api.removebrokers.getBrokerRegistry.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"external:api.removebrokers.getRemovalRequests.query","kind":"calls","metadata":{"unresolvedName":"api.removebrokers.getRemovalRequests.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"external:api.removebrokers.getStats.query","kind":"calls","metadata":{"unresolvedName":"api.removebrokers.getStats.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"external:api.removebrokers.createRemovalRequest.mutate","kind":"calls","metadata":{"unresolvedName":"api.removebrokers.createRemovalRequest.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"symbol-name:sidebarOpen","kind":"calls","metadata":{"unresolvedName":"sidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"symbol-name:setSidebarOpen","kind":"calls","metadata":{"unresolvedName":"setSidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"/Users/mike/Code/Kordant/web/src/routes/(admin)/services.tsx:stats","kind":"calls","metadata":{"unresolvedName":"stats"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"symbol-name:brokers","kind":"calls","metadata":{"unresolvedName":"brokers"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:createRequest","kind":"calls","metadata":{"unresolvedName":"createRequest"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:RemoveBrokersPage","to":"symbol-name:removalRequests","kind":"calls","metadata":{"unresolvedName":"removalRequests"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:createRequest","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:createRequest","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:createRequest","to":"external:api.removebrokers.createRemovalRequest.mutate","kind":"calls","metadata":{"unresolvedName":"api.removebrokers.createRemovalRequest.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/removebrokers.tsx:createRequest","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","to":"external:~/components/dashboard","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","to":"external:~/hooks","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"/Users/mike/Code/Kordant/web/src/hooks/useAuth.ts:useAuth","kind":"calls","metadata":{"unresolvedName":"useAuth"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"/Users/mike/Code/Kordant/web/src/hooks/useSubscription.ts:useSubscription","kind":"calls","metadata":{"unresolvedName":"useSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"external:auth.user","kind":"calls","metadata":{"unresolvedName":"auth.user"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"symbol-name:setSaving","kind":"calls","metadata":{"unresolvedName":"setSaving"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"external:api.user.update.mutate","kind":"calls","metadata":{"unresolvedName":"api.user.update.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"symbol-name:name","kind":"calls","metadata":{"unresolvedName":"name"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"symbol-name:sidebarOpen","kind":"calls","metadata":{"unresolvedName":"sidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"symbol-name:setSidebarOpen","kind":"calls","metadata":{"unresolvedName":"setSidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"symbol-name:saving","kind":"calls","metadata":{"unresolvedName":"saving"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"external:subscription.tier().charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"subscription.tier().charAt(0).toUpperCase"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"external:subscription.tier().charAt","kind":"calls","metadata":{"unresolvedName":"subscription.tier().charAt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"external:subscription.tier","kind":"calls","metadata":{"unresolvedName":"subscription.tier"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:SettingsPage","to":"external:subscription.tier().slice","kind":"calls","metadata":{"unresolvedName":"subscription.tier().slice"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:saveProfile","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:saveProfile","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:saveProfile","to":"symbol-name:setSaving","kind":"calls","metadata":{"unresolvedName":"setSaving"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:saveProfile","to":"external:api.user.update.mutate","kind":"calls","metadata":{"unresolvedName":"api.user.update.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/settings.tsx:saveProfile","to":"symbol-name:name","kind":"calls","metadata":{"unresolvedName":"name"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"external:~/components/dashboard","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:ShieldIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:ShieldIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"external:api.spamshield.getRules.query","kind":"calls","metadata":{"unresolvedName":"api.spamshield.getRules.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:rulesResult","kind":"calls","metadata":{"unresolvedName":"rulesResult"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:setChecking","kind":"calls","metadata":{"unresolvedName":"setChecking"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"external:api.spamshield.checkNumber.query","kind":"calls","metadata":{"unresolvedName":"api.spamshield.checkNumber.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:phoneNumber","kind":"calls","metadata":{"unresolvedName":"phoneNumber"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:setCheckResult","kind":"calls","metadata":{"unresolvedName":"setCheckResult"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"external:api.spamshield.deleteRule.mutate","kind":"calls","metadata":{"unresolvedName":"api.spamshield.deleteRule.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:sidebarOpen","kind":"calls","metadata":{"unresolvedName":"sidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:setSidebarOpen","kind":"calls","metadata":{"unresolvedName":"setSidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:setPhoneNumber","kind":"calls","metadata":{"unresolvedName":"setPhoneNumber"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:checking","kind":"calls","metadata":{"unresolvedName":"checking"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:checkResult","kind":"calls","metadata":{"unresolvedName":"checkResult"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:rules","kind":"calls","metadata":{"unresolvedName":"rules"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:SpamShieldPage","to":"symbol-name:deleteRule","kind":"calls","metadata":{"unresolvedName":"deleteRule"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:rules","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:rules","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:rules","to":"symbol-name:rulesResult","kind":"calls","metadata":{"unresolvedName":"rulesResult"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:checkNumber","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:checkNumber","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:checkNumber","to":"symbol-name:setChecking","kind":"calls","metadata":{"unresolvedName":"setChecking"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:checkNumber","to":"external:api.spamshield.checkNumber.query","kind":"calls","metadata":{"unresolvedName":"api.spamshield.checkNumber.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:checkNumber","to":"symbol-name:phoneNumber","kind":"calls","metadata":{"unresolvedName":"phoneNumber"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:checkNumber","to":"symbol-name:setCheckResult","kind":"calls","metadata":{"unresolvedName":"setCheckResult"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:deleteRule","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:deleteRule","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:deleteRule","to":"external:api.spamshield.deleteRule.mutate","kind":"calls","metadata":{"unresolvedName":"api.spamshield.deleteRule.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:deleteRule","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:onClick","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/spamshield.tsx:onClick","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"external:~/components/dashboard","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoiceIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoiceIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","to":"external:api.voiceprint.getEnrollments.query","kind":"calls","metadata":{"unresolvedName":"api.voiceprint.getEnrollments.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","to":"external:api.voiceprint.deleteEnrollment.mutate","kind":"calls","metadata":{"unresolvedName":"api.voiceprint.deleteEnrollment.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","to":"symbol-name:sidebarOpen","kind":"calls","metadata":{"unresolvedName":"sidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","to":"symbol-name:setSidebarOpen","kind":"calls","metadata":{"unresolvedName":"setSidebarOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","to":"symbol-name:enrollments","kind":"calls","metadata":{"unresolvedName":"enrollments"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:VoicePrintPage","to":"symbol-name:deleteEnrollment","kind":"calls","metadata":{"unresolvedName":"deleteEnrollment"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:deleteEnrollment","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:deleteEnrollment","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:deleteEnrollment","to":"external:api.voiceprint.deleteEnrollment.mutate","kind":"calls","metadata":{"unresolvedName":"api.voiceprint.deleteEnrollment.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:deleteEnrollment","to":"symbol-name:refetch","kind":"calls","metadata":{"unresolvedName":"refetch"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:onClick","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/(webapp)/voiceprint.tsx:onClick","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/[...404].tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/[...404].tsx","to":"external:@solidjs/start","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/[...404].tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/[...404].tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/[...404].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/[...404].tsx:NotFound","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/[...404].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/[...404].tsx:NotFound","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/about.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/about.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/about.tsx:About","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/about.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/about.tsx:About","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","to":"external:~/components/layout/PageContainer","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage","to":"symbol-name:useSearchParams","kind":"calls","metadata":{"unresolvedName":"useSearchParams"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage","to":"external:[1, 2, 3, 4, 5].map","kind":"calls","metadata":{"unresolvedName":"[1, 2, 3, 4, 5].map"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage","to":"symbol-name:openFaq","kind":"calls","metadata":{"unresolvedName":"openFaq"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage","to":"symbol-name:setOpenFaq","kind":"calls","metadata":{"unresolvedName":"setOpenFaq"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:AdsPage","to":"symbol-name:isOpen","kind":"calls","metadata":{"unresolvedName":"isOpen"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:<anonymous>","to":"symbol-name:openFaq","kind":"calls","metadata":{"unresolvedName":"openFaq"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:<anonymous>","to":"symbol-name:setOpenFaq","kind":"calls","metadata":{"unresolvedName":"setOpenFaq"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:<anonymous>","to":"symbol-name:isOpen","kind":"calls","metadata":{"unresolvedName":"isOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/ads.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/health.ts","to":"external:@solidjs/start/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/health.ts","to":"external:~/server/health","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/health.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/health.ts:GET","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/health.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/health.ts:GET","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/health.ts:GET","to":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkHealth","kind":"calls","metadata":{"unresolvedName":"checkHealth"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/health.ts:GET","to":"external:Response.json","kind":"calls","metadata":{"unresolvedName":"Response.json"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/ready.ts","to":"external:@solidjs/start/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/ready.ts","to":"external:~/server/health","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/ready.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/ready.ts:GET","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/ready.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/ready.ts:GET","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/ready.ts:GET","to":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","kind":"calls","metadata":{"unresolvedName":"checkReady"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/ready.ts:GET","to":"external:Response.json","kind":"calls","metadata":{"unresolvedName":"Response.json"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts","to":"external:@solidjs/start/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts","to":"external:~/server/stripe","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts:GET","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts:GET","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts:GET","to":"external:url.searchParams.get","kind":"calls","metadata":{"unresolvedName":"url.searchParams.get"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts:GET","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/session-status.ts:GET","to":"external:stripe.checkout.sessions.retrieve","kind":"calls","metadata":{"unresolvedName":"stripe.checkout.sessions.retrieve"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:vi.mocked(stripe.webhooks.constructEvent).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(stripe.webhooks.constructEvent).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(stripe.webhooks.constructEvent).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(stripe.webhooks.constructEvent).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(POST).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(POST).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(stripeWebhookEvents).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(stripeWebhookEvents).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(eq).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(eq).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(db.select).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(db.select).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(lt).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(lt).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(db.delete).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(db.delete).toBeDefined"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:vi.mocked(stripe.webhooks.constructEvent).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(stripe.webhooks.constructEvent).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(stripe.webhooks.constructEvent).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(stripe.webhooks.constructEvent).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(POST).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(POST).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(stripeWebhookEvents).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(stripeWebhookEvents).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(eq).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(eq).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(db.select).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(db.select).toBeDefined"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(stripeWebhookEvents).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(stripeWebhookEvents).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(lt).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(lt).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.test.ts:<anonymous>","to":"external:expect(db.delete).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(db.delete).toBeDefined"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","to":"external:@solidjs/start/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","to":"external:~/server/stripe","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","to":"external:~/server/services/billing.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","to":"external:~/server/db/schema/webhook-events","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:cleanupWebhookEvents","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:cleanupWebhookEvents","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:cleanupWebhookEvents","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:cleanupWebhookEvents","to":"external:db\n\t\t\t.delete(stripeWebhookEvents)\n\t\t\t.where","kind":"calls","metadata":{"unresolvedName":"db\n\t\t\t.delete(stripeWebhookEvents)\n\t\t\t.where"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:cleanupWebhookEvents","to":"external:db\n\t\t\t.delete","kind":"calls","metadata":{"unresolvedName":"db\n\t\t\t.delete"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:cleanupWebhookEvents","to":"symbol-name:lt","kind":"calls","metadata":{"unresolvedName":"lt"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:cleanupWebhookEvents","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:cleanupWebhookEvents","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts","to":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"external:event.request.text","kind":"calls","metadata":{"unresolvedName":"event.request.text"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"external:event.request.headers.get","kind":"calls","metadata":{"unresolvedName":"event.request.headers.get"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"external:stripe.webhooks.constructEvent","kind":"calls","metadata":{"unresolvedName":"stripe.webhooks.constructEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"external:db\n\t\t\t.select()\n\t\t\t.from(stripeWebhookEvents)\n\t\t\t.where","kind":"calls","metadata":{"unresolvedName":"db\n\t\t\t.select()\n\t\t\t.from(stripeWebhookEvents)\n\t\t\t.where"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"external:db\n\t\t\t.select()\n\t\t\t.from","kind":"calls","metadata":{"unresolvedName":"db\n\t\t\t.select()\n\t\t\t.from"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"external:db\n\t\t\t.select","kind":"calls","metadata":{"unresolvedName":"db\n\t\t\t.select"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"external:db\n\t\t\t.insert(stripeWebhookEvents)\n\t\t\t.values","kind":"calls","metadata":{"unresolvedName":"db\n\t\t\t.insert(stripeWebhookEvents)\n\t\t\t.values"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"external:db\n\t\t\t.insert","kind":"calls","metadata":{"unresolvedName":"db\n\t\t\t.insert"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/api/stripe/webhook.ts:POST","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","kind":"calls","metadata":{"unresolvedName":"handleWebhookEvent"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/trpc/[trpc].ts","to":"external:@solidjs/start/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/trpc/[trpc].ts","to":"external:@trpc/server/adapters/fetch","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/trpc/[trpc].ts","to":"external:~/server/api/root","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/api/trpc/[trpc].ts","to":"external:~/server/api/trpc","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx","to":"external:clerk-solidjs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx:AuthCallback","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/auth/callback.tsx:AuthCallback","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","to":"external:~/components/EmbeddedCheckout","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","to":"external:~/components/layout/PageContainer","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:useSearchParams","kind":"calls","metadata":{"unresolvedName":"useSearchParams"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"external:api.billing.createCheckoutSession.mutate","kind":"calls","metadata":{"unresolvedName":"api.billing.createCheckoutSession.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:setClientSecret","kind":"calls","metadata":{"unresolvedName":"setClientSecret"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:loading","kind":"calls","metadata":{"unresolvedName":"loading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:error","kind":"calls","metadata":{"unresolvedName":"error"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:CheckoutPage","to":"symbol-name:clientSecret","kind":"calls","metadata":{"unresolvedName":"clientSecret"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:<anonymous>","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:<anonymous>","to":"external:api.billing.createCheckoutSession.mutate","kind":"calls","metadata":{"unresolvedName":"api.billing.createCheckoutSession.mutate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/checkout.tsx:<anonymous>","to":"symbol-name:setClientSecret","kind":"calls","metadata":{"unresolvedName":"setClientSecret"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","to":"external:~/components/layout/PageContainer","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"symbol-name:useSearchParams","kind":"calls","metadata":{"unresolvedName":"useSearchParams"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"symbol-name:setCustomerEmail","kind":"calls","metadata":{"unresolvedName":"setCustomerEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"symbol-name:status","kind":"calls","metadata":{"unresolvedName":"status"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:ReturnPage","to":"symbol-name:customerEmail","kind":"calls","metadata":{"unresolvedName":"customerEmail"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:<anonymous>","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:<anonymous>","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:<anonymous>","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/billing/return.tsx:<anonymous>","to":"symbol-name:setCustomerEmail","kind":"calls","metadata":{"unresolvedName":"setCustomerEmail"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"external:~/lib/html-utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"external:~/components/layout/PageContainer","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:readingTime","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:readingTime","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:readingTime","to":"external:content.split","kind":"calls","metadata":{"unresolvedName":"content.split"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:readingTime","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:readingTime","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","to":"external:markdown.split","kind":"calls","metadata":{"unresolvedName":"markdown.split"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","to":"external:line.startsWith","kind":"calls","metadata":{"unresolvedName":"line.startsWith"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","to":"external:line.slice","kind":"calls","metadata":{"unresolvedName":"line.slice"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","to":"external:line.endsWith","kind":"calls","metadata":{"unresolvedName":"line.endsWith"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","to":"external:line.match","kind":"calls","metadata":{"unresolvedName":"line.match"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","to":"external:line.replace","kind":"calls","metadata":{"unresolvedName":"line.replace"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","to":"external:line.trim","kind":"calls","metadata":{"unresolvedName":"line.trim"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:useParams","kind":"calls","metadata":{"unresolvedName":"useParams"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"external:api.blog.bySlug.query","kind":"calls","metadata":{"unresolvedName":"api.blog.bySlug.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:createMemo","kind":"calls","metadata":{"unresolvedName":"createMemo"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:dataResult","kind":"calls","metadata":{"unresolvedName":"dataResult"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:data","kind":"calls","metadata":{"unresolvedName":"data"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:post","kind":"calls","metadata":{"unresolvedName":"post"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:contentToHtml","kind":"calls","metadata":{"unresolvedName":"contentToHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:p","kind":"calls","metadata":{"unresolvedName":"p"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"external:(p().authorName || \"K\").split(\" \").map((n: string) => n[0]).join","kind":"calls","metadata":{"unresolvedName":"(p().authorName || \"K\").split(\" \").map((n: string) => n[0]).join"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"external:(p().authorName || \"K\").split(\" \").map","kind":"calls","metadata":{"unresolvedName":"(p().authorName || \"K\").split(\" \").map"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"external:(p().authorName || \"K\").split","kind":"calls","metadata":{"unresolvedName":"(p().authorName || \"K\").split"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"external:new Date(p().publishedAt).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(p().publishedAt).toLocaleDateString"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:readingTime","kind":"calls","metadata":{"unresolvedName":"readingTime"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:sanitizeHtml","kind":"calls","metadata":{"unresolvedName":"sanitizeHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:contentHtml","kind":"calls","metadata":{"unresolvedName":"contentHtml"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"external:navigator.clipboard.writeText","kind":"calls","metadata":{"unresolvedName":"navigator.clipboard.writeText"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx:BlogPostPage","to":"symbol-name:related","kind":"calls","metadata":{"unresolvedName":"related"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"external:~/components/layout/PageContainer","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"external:~/lib/api","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:readingTime","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:readingTime","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:readingTime","to":"external:content.split","kind":"calls","metadata":{"unresolvedName":"content.split"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:readingTime","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:readingTime","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:createResource","kind":"calls","metadata":{"unresolvedName":"createResource"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"external:api.blog.list.query","kind":"calls","metadata":{"unresolvedName":"api.blog.list.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:createMemo","kind":"calls","metadata":{"unresolvedName":"createMemo"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:allPostsResult","kind":"calls","metadata":{"unresolvedName":"allPostsResult"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"external:api.blog.tags.query","kind":"calls","metadata":{"unresolvedName":"api.blog.tags.query"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:tagListResult","kind":"calls","metadata":{"unresolvedName":"tagListResult"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:allPosts","kind":"calls","metadata":{"unresolvedName":"allPosts"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"external:posts.find","kind":"calls","metadata":{"unresolvedName":"posts.find"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:selectedTag","kind":"calls","metadata":{"unresolvedName":"selectedTag"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"external:posts.filter","kind":"calls","metadata":{"unresolvedName":"posts.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"external:tags?.includes","kind":"calls","metadata":{"unresolvedName":"tags?.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"external:filtered.slice","kind":"calls","metadata":{"unresolvedName":"filtered.slice"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:visibleCount","kind":"calls","metadata":{"unresolvedName":"visibleCount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:filtered","kind":"calls","metadata":{"unresolvedName":"filtered"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:featuredPost","kind":"calls","metadata":{"unresolvedName":"featuredPost"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:fp","kind":"calls","metadata":{"unresolvedName":"fp"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"external:new Date(fp().publishedAt).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(fp().publishedAt).toLocaleDateString"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:setSelectedTag","kind":"calls","metadata":{"unresolvedName":"setSelectedTag"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:setVisibleCount","kind":"calls","metadata":{"unresolvedName":"setVisibleCount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:tagList","kind":"calls","metadata":{"unresolvedName":"tagList"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:visible","kind":"calls","metadata":{"unresolvedName":"visible"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"external:new Date(post.publishedAt).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(post.publishedAt).toLocaleDateString"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:readingTime","kind":"calls","metadata":{"unresolvedName":"readingTime"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:BlogPage","to":"symbol-name:hasMore","kind":"calls","metadata":{"unresolvedName":"hasMore"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"symbol-name:allPosts","kind":"calls","metadata":{"unresolvedName":"allPosts"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"external:posts.find","kind":"calls","metadata":{"unresolvedName":"posts.find"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"symbol-name:allPosts","kind":"calls","metadata":{"unresolvedName":"allPosts"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"symbol-name:selectedTag","kind":"calls","metadata":{"unresolvedName":"selectedTag"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"external:posts.filter","kind":"calls","metadata":{"unresolvedName":"posts.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"external:tags?.includes","kind":"calls","metadata":{"unresolvedName":"tags?.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"external:filtered.slice","kind":"calls","metadata":{"unresolvedName":"filtered.slice"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"symbol-name:visibleCount","kind":"calls","metadata":{"unresolvedName":"visibleCount"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"external:tags?.includes","kind":"calls","metadata":{"unresolvedName":"tags?.includes"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"symbol-name:allPosts","kind":"calls","metadata":{"unresolvedName":"allPosts"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"symbol-name:selectedTag","kind":"calls","metadata":{"unresolvedName":"selectedTag"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"external:posts.filter","kind":"calls","metadata":{"unresolvedName":"posts.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"external:tags?.includes","kind":"calls","metadata":{"unresolvedName":"tags?.includes"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"external:tags?.includes","kind":"calls","metadata":{"unresolvedName":"tags?.includes"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"symbol-name:setSelectedTag","kind":"calls","metadata":{"unresolvedName":"setSelectedTag"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"symbol-name:setVisibleCount","kind":"calls","metadata":{"unresolvedName":"setVisibleCount"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/blog.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"symbol-name:setSelectedTag","kind":"calls","metadata":{"unresolvedName":"setSelectedTag"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/blog.tsx:<anonymous>","to":"symbol-name:setVisibleCount","kind":"calls","metadata":{"unresolvedName":"setVisibleCount"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"external:~/components/layout/PageContainer","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:FeatureIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:FeatureIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:FeaturesPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:FeaturesPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:FeaturesPage","to":"symbol-name:index","kind":"calls","metadata":{"unresolvedName":"index"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:FeaturesPage","to":"symbol-name:isEven","kind":"calls","metadata":{"unresolvedName":"isEven"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/features.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:<anonymous>","to":"symbol-name:index","kind":"calls","metadata":{"unresolvedName":"index"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/features.tsx:<anonymous>","to":"symbol-name:isEven","kind":"calls","metadata":{"unresolvedName":"isEven"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"external:~/components/ui/Typewriter","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"external:~/components/landing/ColorWaveBackground","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"external:~/components/layout/PageContainer","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:IconPath","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:IconPath","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:IconPath","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:CheckIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:CheckIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:StepIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:StepIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:AudienceIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:AudienceIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:Home","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:Home","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:Home","to":"symbol-name:onMount","kind":"calls","metadata":{"unresolvedName":"onMount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:Home","to":"symbol-name:index","kind":"calls","metadata":{"unresolvedName":"index"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:Home","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/index.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:<anonymous>","to":"symbol-name:index","kind":"calls","metadata":{"unresolvedName":"index"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/index.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"external:solid-js/web","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/routes/blog","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/routes/blog/[slug].tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/routes/ads.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"file:/Users/mike/Code/Kordant/web/src/routes/(webapp)/dashboard.tsx","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"external:~/components/dashboard/StatCard","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"external:~/components/dashboard/ActivityFeed","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"external:~/components/dashboard/QuickActions","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mount","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mount","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mount","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mount","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mount","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mount","to":"symbol-name:comp","kind":"calls","metadata":{"unresolvedName":"comp"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","to":"external:vi.waitFor","kind":"calls","metadata":{"unresolvedName":"vi.waitFor"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","to":"external:expect(container.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(container.textContent).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(container.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(container.textContent).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(cards.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(cards.length).toBeGreaterThanOrEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(cards.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(cards.length).toBeGreaterThanOrEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).not.toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toMatch"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:Array.from(shareBtns).map","kind":"calls","metadata":{"unresolvedName":"Array.from(shareBtns).map"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:b.getAttribute","kind":"calls","metadata":{"unresolvedName":"b.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(shareLabels).toContain","kind":"calls","metadata":{"unresolvedName":"expect(shareLabels).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toMatch"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:Array.from(shareBtns).map","kind":"calls","metadata":{"unresolvedName":"Array.from(shareBtns).map"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:b.getAttribute","kind":"calls","metadata":{"unresolvedName":"b.getAttribute"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(shareLabels).toContain","kind":"calls","metadata":{"unresolvedName":"expect(shareLabels).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:mountAsync","kind":"calls","metadata":{"unresolvedName":"mountAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:document.body.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.body.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:Array.from(badges).find","kind":"calls","metadata":{"unresolvedName":"Array.from(badges).find"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(popularBadge).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(popularBadge).toBeTruthy"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:document.body.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.body.querySelectorAll"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:Array.from(badges).find","kind":"calls","metadata":{"unresolvedName":"Array.from(badges).find"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(popularBadge).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(popularBadge).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:mount","kind":"calls","metadata":{"unresolvedName":"mount"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"external:expect(document.body.textContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(document.body.textContent).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/migrated-pages.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"external:solid-js","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"external:@solidjs/meta","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"external:~/lib/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"external:~/components/ui","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"external:~/components/layout/PageContainer","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:CheckIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:CheckIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:XIcon","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:XIcon","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage","to":"symbol-name:useSearchParams","kind":"calls","metadata":{"unresolvedName":"useSearchParams"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage","to":"symbol-name:createSignal","kind":"calls","metadata":{"unresolvedName":"createSignal"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage","to":"symbol-name:openFaq","kind":"calls","metadata":{"unresolvedName":"openFaq"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage","to":"symbol-name:setOpenFaq","kind":"calls","metadata":{"unresolvedName":"setOpenFaq"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage","to":"symbol-name:isOpen","kind":"calls","metadata":{"unresolvedName":"isOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:PricingPage","to":"symbol-name:signupUrl","kind":"calls","metadata":{"unresolvedName":"signupUrl"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/pricing.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:<anonymous>","to":"symbol-name:openFaq","kind":"calls","metadata":{"unresolvedName":"openFaq"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:<anonymous>","to":"symbol-name:setOpenFaq","kind":"calls","metadata":{"unresolvedName":"setOpenFaq"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:<anonymous>","to":"symbol-name:isOpen","kind":"calls","metadata":{"unresolvedName":"isOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/routes/pricing.tsx:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/lib/utils.ts:cn","kind":"calls","metadata":{"unresolvedName":"cn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/privacy.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/privacy.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/privacy.tsx:PrivacyPolicy","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/privacy.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/privacy.tsx:PrivacyPolicy","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/privacy.tsx:PrivacyPolicy","to":"external:new Date().toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date().toLocaleDateString"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts","to":"external:@solidjs/start/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts","to":"/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts:GET","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts","to":"/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts:GET","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/sitemap.xml.ts:GET","to":"external:pages\n .map","kind":"calls","metadata":{"unresolvedName":"pages\n .map"}},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/terms.tsx","to":"external:@solidjs/router","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/terms.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/terms.tsx:TermsOfService","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/routes/terms.tsx","to":"/Users/mike/Code/Kordant/web/src/routes/terms.tsx:TermsOfService","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/routes/terms.tsx:TermsOfService","to":"external:new Date().toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date().toLocaleDateString"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/root.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"external:~/server/api/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"external:~/server/db/schema/marketing","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"external:~/server/db/schema/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db.select({ userCount: count() }).from","kind":"calls","metadata":{"unresolvedName":"ctx.db.select({ userCount: count() }).from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db.select","kind":"calls","metadata":{"unresolvedName":"ctx.db.select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select({ postCount: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select({ postCount: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select({ totalViews: sql<number>`${count()}` })\n .from","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select({ totalViews: sql<number>`${count()}` })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db.select().from(blogPosts).orderBy","kind":"calls","metadata":{"unresolvedName":"ctx.db.select().from(blogPosts).orderBy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db.select().from","kind":"calls","metadata":{"unresolvedName":"ctx.db.select().from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db.select","kind":"calls","metadata":{"unresolvedName":"ctx.db.select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select().from(blogPosts)\n .where","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select().from(blogPosts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select().from","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select().from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select({ id: blogPosts.id }).from(blogPosts)\n .where","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select({ id: blogPosts.id }).from(blogPosts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select({ id: blogPosts.id }).from","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select({ id: blogPosts.id }).from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:input.tags.split(\",\").map((t: string) => t.trim()).filter","kind":"calls","metadata":{"unresolvedName":"input.tags.split(\",\").map((t: string) => t.trim()).filter"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:input.tags.split(\",\").map","kind":"calls","metadata":{"unresolvedName":"input.tags.split(\",\").map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:input.tags.split","kind":"calls","metadata":{"unresolvedName":"input.tags.split"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:t.trim","kind":"calls","metadata":{"unresolvedName":"t.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .insert(blogPosts)\n .values","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .insert(blogPosts)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .insert","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select().from(blogPosts)\n .where","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select().from(blogPosts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select().from","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select().from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:value.split(\",\").map((t) => t.trim()).filter","kind":"calls","metadata":{"unresolvedName":"value.split(\",\").map((t) => t.trim()).filter"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:value.split(\",\").map","kind":"calls","metadata":{"unresolvedName":"value.split(\",\").map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:value.split","kind":"calls","metadata":{"unresolvedName":"value.split"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:t.trim","kind":"calls","metadata":{"unresolvedName":"t.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .update(blogPosts).set(set)\n .where","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .update(blogPosts).set(set)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .update(blogPosts).set","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .update(blogPosts).set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .update","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db.delete(blogPosts).where","kind":"calls","metadata":{"unresolvedName":"ctx.db.delete(blogPosts).where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db.delete","kind":"calls","metadata":{"unresolvedName":"ctx.db.delete"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .select","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .update(users).set({ role: input.role })\n .where","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .update(users).set({ role: input.role })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .update(users).set","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .update(users).set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"external:ctx.db\n .update","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/admin.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts","to":"external:@solidjs/start/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts","to":"external:~/server/api/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/api.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/billing.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"external:~/server/services/billing.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:makeUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:makeUser","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"external:initTRPC.context<Ctx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<Ctx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"external:t.middleware","kind":"calls","metadata":{"unresolvedName":"t.middleware"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"external:t.procedure.use","kind":"calls","metadata":{"unresolvedName":"t.procedure.use"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"symbol-name:mockFindFirst","kind":"calls","metadata":{"unresolvedName":"mockFindFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"symbol-name:wrap","kind":"calls","metadata":{"unresolvedName":"wrap"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"symbol-name:mockCreateCheckoutSession","kind":"calls","metadata":{"unresolvedName":"mockCreateCheckoutSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"symbol-name:mockCreatePortalSession","kind":"calls","metadata":{"unresolvedName":"mockCreatePortalSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"symbol-name:mockCancelSubscription","kind":"calls","metadata":{"unresolvedName":"mockCancelSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"symbol-name:mockReactivateSubscription","kind":"calls","metadata":{"unresolvedName":"mockReactivateSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(ListInvoicesSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(ListInvoicesSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"symbol-name:mockListInvoices","kind":"calls","metadata":{"unresolvedName":"mockListInvoices"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:createCaller","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:mockFindFirst","kind":"calls","metadata":{"unresolvedName":"mockFindFirst"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:mockCreateCheckoutSession","kind":"calls","metadata":{"unresolvedName":"mockCreateCheckoutSession"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:mockCreatePortalSession","kind":"calls","metadata":{"unresolvedName":"mockCreatePortalSession"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:mockCancelSubscription","kind":"calls","metadata":{"unresolvedName":"mockCancelSubscription"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:mockReactivateSubscription","kind":"calls","metadata":{"unresolvedName":"mockReactivateSubscription"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:mockListInvoices","kind":"calls","metadata":{"unresolvedName":"mockListInvoices"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.getSubscription","kind":"calls","metadata":{"unresolvedName":"api.getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result!.tier).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.tier).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result!.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(api.getSubscription()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getSubscription()).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.getSubscription","kind":"calls","metadata":{"unresolvedName":"api.getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result!.tier).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.tier).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result!.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.status).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.getSubscription","kind":"calls","metadata":{"unresolvedName":"api.getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(api.getSubscription()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getSubscription()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.getSubscription","kind":"calls","metadata":{"unresolvedName":"api.getSubscription"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:mockCreateCheckoutSession.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreateCheckoutSession.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.createCheckoutSession","kind":"calls","metadata":{"unresolvedName":"api.createCheckoutSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.clientSecret).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.clientSecret).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.sessionId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.sessionId).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:mockCreateCheckoutSession.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreateCheckoutSession.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.createCheckoutSession","kind":"calls","metadata":{"unresolvedName":"api.createCheckoutSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.clientSecret).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.clientSecret).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.sessionId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.sessionId).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:mockCreatePortalSession.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreatePortalSession.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.createPortalSession","kind":"calls","metadata":{"unresolvedName":"api.createPortalSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.url).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.url).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:mockCreatePortalSession.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreatePortalSession.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.createPortalSession","kind":"calls","metadata":{"unresolvedName":"api.createPortalSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.url).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.url).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.createPortalSession","kind":"calls","metadata":{"unresolvedName":"api.createPortalSession"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:mockCancelSubscription.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCancelSubscription.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.cancelSubscription","kind":"calls","metadata":{"unresolvedName":"api.cancelSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.cancelAtPeriodEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.cancelAtPeriodEnd).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:mockCancelSubscription.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCancelSubscription.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.cancelSubscription","kind":"calls","metadata":{"unresolvedName":"api.cancelSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.cancelAtPeriodEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.cancelAtPeriodEnd).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:mockReactivateSubscription.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockReactivateSubscription.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.reactivateSubscription","kind":"calls","metadata":{"unresolvedName":"api.reactivateSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.cancelAtPeriodEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.cancelAtPeriodEnd).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:mockReactivateSubscription.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockReactivateSubscription.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.reactivateSubscription","kind":"calls","metadata":{"unresolvedName":"api.reactivateSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.cancelAtPeriodEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.cancelAtPeriodEnd).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:mockListInvoices.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockListInvoices.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.listInvoices","kind":"calls","metadata":{"unresolvedName":"api.listInvoices"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.invoices).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.invoices).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.hasMore).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.hasMore).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:mockListInvoices.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockListInvoices.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.listInvoices","kind":"calls","metadata":{"unresolvedName":"api.listInvoices"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.invoices).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.invoices).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:api.listInvoices","kind":"calls","metadata":{"unresolvedName":"api.listInvoices"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.invoices).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.invoices).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.test.ts:<anonymous>","to":"external:expect(result.hasMore).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.hasMore).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/billing.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"external:~/server/services/billing.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"external:~/server/db/schema/subscription","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"external:~/server/stripe","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"external:~/server/lib/tier","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"external:db.query.subscriptions.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.subscriptions.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","kind":"calls","metadata":{"unresolvedName":"getActiveTrials"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getEffectiveTier","kind":"calls","metadata":{"unresolvedName":"getEffectiveTier"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"external:db.query.subscriptions.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.subscriptions.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:createFeatureTrial","kind":"calls","metadata":{"unresolvedName":"createFeatureTrial"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"external:db.query.subscriptions.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.subscriptions.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"external:stripe.subscriptions.cancel","kind":"calls","metadata":{"unresolvedName":"stripe.subscriptions.cancel"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createCheckoutSession","kind":"calls","metadata":{"unresolvedName":"createCheckoutSession"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"external:allowedPrices.includes","kind":"calls","metadata":{"unresolvedName":"allowedPrices.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createCheckoutSession","kind":"calls","metadata":{"unresolvedName":"createCheckoutSession"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createPortalSession","kind":"calls","metadata":{"unresolvedName":"createPortalSession"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","kind":"calls","metadata":{"unresolvedName":"cancelSubscription"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","kind":"calls","metadata":{"unresolvedName":"reactivateSubscription"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:listInvoices","kind":"calls","metadata":{"unresolvedName":"listInvoices"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/billing.ts:<anonymous>","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"external:~/server/api/utils","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"external:~/server/db/schema/marketing","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:conditions.push","kind":"calls","metadata":{"unresolvedName":"conditions.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .select()\n .from(blogPosts)\n .where","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select()\n .from(blogPosts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .select","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .select({ total: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select({ total: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .select()\n .from(blogPosts)\n .where","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select()\n .from(blogPosts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .select","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .update(blogPosts)\n .set","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .update(blogPosts)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .update","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .select({ tags: blogPosts.tags })\n .from","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select({ tags: blogPosts.tags })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:ctx.db\n .select","kind":"calls","metadata":{"unresolvedName":"ctx.db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:tagCounts.set","kind":"calls","metadata":{"unresolvedName":"tagCounts.set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:tagCounts.get","kind":"calls","metadata":{"unresolvedName":"tagCounts.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:Array.from(tagCounts.entries())\n .map","kind":"calls","metadata":{"unresolvedName":"Array.from(tagCounts.entries())\n .map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/blog.ts:<anonymous>","to":"external:tagCounts.entries","kind":"calls","metadata":{"unresolvedName":"tagCounts.entries"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/correlation.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"external:~/server/services/correlation.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:initTRPC.context<Ctx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<Ctx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:t.middleware","kind":"calls","metadata":{"unresolvedName":"t.middleware"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(AlertFilterSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(AlertFilterSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:t.procedure.use","kind":"calls","metadata":{"unresolvedName":"t.procedure.use"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"symbol-name:wrap","kind":"calls","metadata":{"unresolvedName":"wrap"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"symbol-name:mockGetAlertTimeline","kind":"calls","metadata":{"unresolvedName":"mockGetAlertTimeline"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(AlertDetailsSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(AlertDetailsSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"symbol-name:mockGetAlertDetails","kind":"calls","metadata":{"unresolvedName":"mockGetAlertDetails"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(GroupFilterSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(GroupFilterSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"symbol-name:mockGetCorrelationGroups","kind":"calls","metadata":{"unresolvedName":"mockGetCorrelationGroups"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(GroupDetailsSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(GroupDetailsSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"symbol-name:mockGetCorrelationGroupDetails","kind":"calls","metadata":{"unresolvedName":"mockGetCorrelationGroupDetails"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"symbol-name:mockResolveAlert","kind":"calls","metadata":{"unresolvedName":"mockResolveAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:t.procedure.use(isAuthed).query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed).query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"symbol-name:mockGetAlertStats","kind":"calls","metadata":{"unresolvedName":"mockGetAlertStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:createCaller","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:mockGetAlertTimeline","kind":"calls","metadata":{"unresolvedName":"mockGetAlertTimeline"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:mockGetAlertDetails","kind":"calls","metadata":{"unresolvedName":"mockGetAlertDetails"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:mockGetCorrelationGroups","kind":"calls","metadata":{"unresolvedName":"mockGetCorrelationGroups"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:mockGetCorrelationGroupDetails","kind":"calls","metadata":{"unresolvedName":"mockGetCorrelationGroupDetails"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:mockResolveAlert","kind":"calls","metadata":{"unresolvedName":"mockResolveAlert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:mockGetAlertStats","kind":"calls","metadata":{"unresolvedName":"mockGetAlertStats"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:makeUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:makeUser","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetAlertTimeline.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlertTimeline.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getAlerts","kind":"calls","metadata":{"unresolvedName":"api.getAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.items).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(api.getAlerts({})).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getAlerts({})).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(mockGetAlertTimeline).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetAlertTimeline).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetAlertTimeline.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlertTimeline.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getAlerts","kind":"calls","metadata":{"unresolvedName":"api.getAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.items).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(api.getAlerts({})).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getAlerts({})).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getAlerts","kind":"calls","metadata":{"unresolvedName":"api.getAlerts"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetAlertTimeline.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlertTimeline.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getAlerts","kind":"calls","metadata":{"unresolvedName":"api.getAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(mockGetAlertTimeline).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetAlertTimeline).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getAlerts","kind":"calls","metadata":{"unresolvedName":"api.getAlerts"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetAlertDetails.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlertDetails.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getAlertDetails","kind":"calls","metadata":{"unresolvedName":"api.getAlertDetails"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.alert.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.alert.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetAlertDetails.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlertDetails.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getAlertDetails","kind":"calls","metadata":{"unresolvedName":"api.getAlertDetails"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.alert.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.alert.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetCorrelationGroups.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetCorrelationGroups.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getGroups","kind":"calls","metadata":{"unresolvedName":"api.getGroups"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.items).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(mockGetCorrelationGroups).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetCorrelationGroups).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetCorrelationGroups.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetCorrelationGroups.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getGroups","kind":"calls","metadata":{"unresolvedName":"api.getGroups"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.items).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetCorrelationGroups.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetCorrelationGroups.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getGroups","kind":"calls","metadata":{"unresolvedName":"api.getGroups"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(mockGetCorrelationGroups).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetCorrelationGroups).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetCorrelationGroupDetails.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetCorrelationGroupDetails.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getGroupDetails","kind":"calls","metadata":{"unresolvedName":"api.getGroupDetails"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.group.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.group.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.alerts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.alerts).toHaveLength"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetCorrelationGroupDetails.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetCorrelationGroupDetails.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getGroupDetails","kind":"calls","metadata":{"unresolvedName":"api.getGroupDetails"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.group.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.group.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.alerts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.alerts).toHaveLength"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockResolveAlert.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockResolveAlert.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.resolveAlert","kind":"calls","metadata":{"unresolvedName":"api.resolveAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockResolveAlert.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockResolveAlert.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.resolveAlert","kind":"calls","metadata":{"unresolvedName":"api.resolveAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockResolveAlert.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockResolveAlert.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.resolveAlert","kind":"calls","metadata":{"unresolvedName":"api.resolveAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.resolveAlert","kind":"calls","metadata":{"unresolvedName":"api.resolveAlert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetAlertStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlertStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getStats","kind":"calls","metadata":{"unresolvedName":"api.getStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.totalAlerts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.totalAlerts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.threatScore).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.threatScore).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:mockGetAlertStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlertStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:api.getStats","kind":"calls","metadata":{"unresolvedName":"api.getStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.totalAlerts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.totalAlerts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.test.ts:<anonymous>","to":"external:expect(result.threatScore).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.threatScore).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/correlation.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"external:~/server/services/correlation.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","to":"external:correlationService.getAlertTimeline","kind":"calls","metadata":{"unresolvedName":"correlationService.getAlertTimeline"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","to":"external:correlationService.getAlertDetails","kind":"calls","metadata":{"unresolvedName":"correlationService.getAlertDetails"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","to":"external:correlationService.getCorrelationGroups","kind":"calls","metadata":{"unresolvedName":"correlationService.getCorrelationGroups"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","to":"external:correlationService.getCorrelationGroupDetails","kind":"calls","metadata":{"unresolvedName":"correlationService.getCorrelationGroupDetails"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","to":"external:correlationService.resolveAlert","kind":"calls","metadata":{"unresolvedName":"correlationService.resolveAlert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/correlation.ts:<anonymous>","to":"external:correlationService.getAlertStats","kind":"calls","metadata":{"unresolvedName":"correlationService.getAlertStats"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/darkwatch.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"external:~/server/services/darkwatch.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:initTRPC.context<Ctx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<Ctx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:t.middleware","kind":"calls","metadata":{"unresolvedName":"t.middleware"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:t.procedure.use(isAuthed).query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed).query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:t.procedure.use","kind":"calls","metadata":{"unresolvedName":"t.procedure.use"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:mockGetWatchlistItems","kind":"calls","metadata":{"unresolvedName":"mockGetWatchlistItems"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:wrap","kind":"calls","metadata":{"unresolvedName":"wrap"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:mockAddWatchlistItem","kind":"calls","metadata":{"unresolvedName":"mockAddWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:mockRemoveWatchlistItem","kind":"calls","metadata":{"unresolvedName":"mockRemoveWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(ExposureFilterSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(ExposureFilterSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:mockGetExposures","kind":"calls","metadata":{"unresolvedName":"mockGetExposures"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:mockGetExposureDetails","kind":"calls","metadata":{"unresolvedName":"mockGetExposureDetails"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(RunScanSchema))\n .mutation","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(RunScanSchema))\n .mutation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:mockRunScan","kind":"calls","metadata":{"unresolvedName":"mockRunScan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:mockGetScanStatus","kind":"calls","metadata":{"unresolvedName":"mockGetScanStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(ReportFilterSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(ReportFilterSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:mockGetReports","kind":"calls","metadata":{"unresolvedName":"mockGetReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:createCaller","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:mockGetWatchlistItems","kind":"calls","metadata":{"unresolvedName":"mockGetWatchlistItems"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:mockAddWatchlistItem","kind":"calls","metadata":{"unresolvedName":"mockAddWatchlistItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:mockRemoveWatchlistItem","kind":"calls","metadata":{"unresolvedName":"mockRemoveWatchlistItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:mockGetExposures","kind":"calls","metadata":{"unresolvedName":"mockGetExposures"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:mockGetExposureDetails","kind":"calls","metadata":{"unresolvedName":"mockGetExposureDetails"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:mockRunScan","kind":"calls","metadata":{"unresolvedName":"mockRunScan"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:mockGetScanStatus","kind":"calls","metadata":{"unresolvedName":"mockGetScanStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:mockGetReports","kind":"calls","metadata":{"unresolvedName":"mockGetReports"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:makeUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:makeUser","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetWatchlistItems.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetWatchlistItems.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(await api.getWatchlist()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(await api.getWatchlist()).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getWatchlist","kind":"calls","metadata":{"unresolvedName":"api.getWatchlist"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(api.getWatchlist()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getWatchlist()).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetWatchlistItems.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetWatchlistItems.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(await api.getWatchlist()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(await api.getWatchlist()).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getWatchlist","kind":"calls","metadata":{"unresolvedName":"api.getWatchlist"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(api.getWatchlist()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getWatchlist()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getWatchlist","kind":"calls","metadata":{"unresolvedName":"api.getWatchlist"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockAddWatchlistItem.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockAddWatchlistItem.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.addWatchlistItem","kind":"calls","metadata":{"unresolvedName":"api.addWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockAddWatchlistItem.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockAddWatchlistItem.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.addWatchlistItem","kind":"calls","metadata":{"unresolvedName":"api.addWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.addWatchlistItem","kind":"calls","metadata":{"unresolvedName":"api.addWatchlistItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockRemoveWatchlistItem.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRemoveWatchlistItem.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.removeWatchlistItem","kind":"calls","metadata":{"unresolvedName":"api.removeWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockRemoveWatchlistItem.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRemoveWatchlistItem.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.removeWatchlistItem","kind":"calls","metadata":{"unresolvedName":"api.removeWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetExposures.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetExposures.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getExposures","kind":"calls","metadata":{"unresolvedName":"api.getExposures"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(mockGetExposures).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetExposures).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetExposures.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetExposures.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getExposures","kind":"calls","metadata":{"unresolvedName":"api.getExposures"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetExposures.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetExposures.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getExposures","kind":"calls","metadata":{"unresolvedName":"api.getExposures"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(mockGetExposures).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetExposures).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetExposureDetails.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetExposureDetails.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getExposureDetails","kind":"calls","metadata":{"unresolvedName":"api.getExposureDetails"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetExposureDetails.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetExposureDetails.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getExposureDetails","kind":"calls","metadata":{"unresolvedName":"api.getExposureDetails"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockRunScan.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRunScan.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.runScan","kind":"calls","metadata":{"unresolvedName":"api.runScan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.scanId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.scanId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockRunScan.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRunScan.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.runScan","kind":"calls","metadata":{"unresolvedName":"api.runScan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.scanId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.scanId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetScanStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetScanStatus.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getScanStatus","kind":"calls","metadata":{"unresolvedName":"api.getScanStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetScanStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetScanStatus.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getScanStatus","kind":"calls","metadata":{"unresolvedName":"api.getScanStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetReports.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetReports.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getReports","kind":"calls","metadata":{"unresolvedName":"api.getReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:mockGetReports.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetReports.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:api.getReports","kind":"calls","metadata":{"unresolvedName":"api.getReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/darkwatch.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"external:~/server/services/darkwatch.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","to":"external:darkwatchService.getWatchlistItems","kind":"calls","metadata":{"unresolvedName":"darkwatchService.getWatchlistItems"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","to":"external:darkwatchService.addWatchlistItem","kind":"calls","metadata":{"unresolvedName":"darkwatchService.addWatchlistItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","to":"external:darkwatchService.removeWatchlistItem","kind":"calls","metadata":{"unresolvedName":"darkwatchService.removeWatchlistItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","to":"external:darkwatchService.getExposures","kind":"calls","metadata":{"unresolvedName":"darkwatchService.getExposures"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","to":"external:darkwatchService.getExposureDetails","kind":"calls","metadata":{"unresolvedName":"darkwatchService.getExposureDetails"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","to":"external:darkwatchService.runScan","kind":"calls","metadata":{"unresolvedName":"darkwatchService.runScan"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","to":"external:darkwatchService.getScanStatus","kind":"calls","metadata":{"unresolvedName":"darkwatchService.getScanStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/darkwatch.ts:<anonymous>","to":"external:darkwatchService.getReports","kind":"calls","metadata":{"unresolvedName":"darkwatchService.getReports"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/example.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/extension.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"external:~/server/db/schema/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","to":"external:db.query.deviceTokens.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.deviceTokens.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","to":"external:db\n .update(deviceTokens)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(deviceTokens)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","to":"external:db\n .insert(deviceTokens)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(deviceTokens)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/extension.ts:<anonymous>","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/hometitle.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"external:~/server/services/hometitle.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:initTRPC.context<Ctx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<Ctx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:t.middleware","kind":"calls","metadata":{"unresolvedName":"t.middleware"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:t.procedure.use(isAuthed).query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed).query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:t.procedure.use","kind":"calls","metadata":{"unresolvedName":"t.procedure.use"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"symbol-name:mockGetProperties","kind":"calls","metadata":{"unresolvedName":"mockGetProperties"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(AddPropertySchema))\n .mutation","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(AddPropertySchema))\n .mutation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"symbol-name:wrap","kind":"calls","metadata":{"unresolvedName":"wrap"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"symbol-name:mockAddProperty","kind":"calls","metadata":{"unresolvedName":"mockAddProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"symbol-name:mockRemoveProperty","kind":"calls","metadata":{"unresolvedName":"mockRemoveProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(GetSnapshotsSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(GetSnapshotsSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"symbol-name:mockGetSnapshots","kind":"calls","metadata":{"unresolvedName":"mockGetSnapshots"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(GetChangesSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(GetChangesSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"symbol-name:mockGetChanges","kind":"calls","metadata":{"unresolvedName":"mockGetChanges"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(RunScanSchema))\n .mutation","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(RunScanSchema))\n .mutation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"symbol-name:mockRunScan","kind":"calls","metadata":{"unresolvedName":"mockRunScan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"symbol-name:mockGetAlerts","kind":"calls","metadata":{"unresolvedName":"mockGetAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:createCaller","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:mockGetProperties","kind":"calls","metadata":{"unresolvedName":"mockGetProperties"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:mockAddProperty","kind":"calls","metadata":{"unresolvedName":"mockAddProperty"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:mockRemoveProperty","kind":"calls","metadata":{"unresolvedName":"mockRemoveProperty"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:mockGetSnapshots","kind":"calls","metadata":{"unresolvedName":"mockGetSnapshots"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:mockGetChanges","kind":"calls","metadata":{"unresolvedName":"mockGetChanges"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:mockRunScan","kind":"calls","metadata":{"unresolvedName":"mockRunScan"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:mockGetAlerts","kind":"calls","metadata":{"unresolvedName":"mockGetAlerts"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:makeUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:makeUser","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockGetProperties.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetProperties.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(await api.getProperties()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(await api.getProperties()).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.getProperties","kind":"calls","metadata":{"unresolvedName":"api.getProperties"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(api.getProperties()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getProperties()).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockGetProperties.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetProperties.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(await api.getProperties()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(await api.getProperties()).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.getProperties","kind":"calls","metadata":{"unresolvedName":"api.getProperties"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(api.getProperties()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getProperties()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.getProperties","kind":"calls","metadata":{"unresolvedName":"api.getProperties"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockAddProperty.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockAddProperty.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.addProperty","kind":"calls","metadata":{"unresolvedName":"api.addProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(\n api.addProperty({ address: \"\" }),\n ).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(\n api.addProperty({ address: \"\" }),\n ).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockAddProperty.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockAddProperty.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.addProperty","kind":"calls","metadata":{"unresolvedName":"api.addProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(\n api.addProperty({ address: \"\" }),\n ).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(\n api.addProperty({ address: \"\" }),\n ).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.addProperty","kind":"calls","metadata":{"unresolvedName":"api.addProperty"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockRemoveProperty.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRemoveProperty.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.removeProperty","kind":"calls","metadata":{"unresolvedName":"api.removeProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockRemoveProperty.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRemoveProperty.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.removeProperty","kind":"calls","metadata":{"unresolvedName":"api.removeProperty"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockGetSnapshots.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetSnapshots.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.getSnapshots","kind":"calls","metadata":{"unresolvedName":"api.getSnapshots"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockGetSnapshots.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetSnapshots.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.getSnapshots","kind":"calls","metadata":{"unresolvedName":"api.getSnapshots"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockGetChanges.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetChanges.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.getChanges","kind":"calls","metadata":{"unresolvedName":"api.getChanges"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(mockGetChanges).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetChanges).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockGetChanges.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetChanges.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.getChanges","kind":"calls","metadata":{"unresolvedName":"api.getChanges"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockGetChanges.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetChanges.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.getChanges","kind":"calls","metadata":{"unresolvedName":"api.getChanges"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(mockGetChanges).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetChanges).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockRunScan.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRunScan.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.runScan","kind":"calls","metadata":{"unresolvedName":"api.runScan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result.scanId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.scanId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockRunScan.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRunScan.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.runScan","kind":"calls","metadata":{"unresolvedName":"api.runScan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result.scanId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.scanId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockGetAlerts.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlerts.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.getAlerts","kind":"calls","metadata":{"unresolvedName":"api.getAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:mockGetAlerts.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAlerts.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:api.getAlerts","kind":"calls","metadata":{"unresolvedName":"api.getAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/hometitle.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"external:~/server/services/hometitle.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","to":"external:hometitleService.getProperties","kind":"calls","metadata":{"unresolvedName":"hometitleService.getProperties"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","to":"external:hometitleService.addProperty","kind":"calls","metadata":{"unresolvedName":"hometitleService.addProperty"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","to":"external:hometitleService.removeProperty","kind":"calls","metadata":{"unresolvedName":"hometitleService.removeProperty"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","to":"external:hometitleService.getSnapshots","kind":"calls","metadata":{"unresolvedName":"hometitleService.getSnapshots"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","to":"external:hometitleService.getChanges","kind":"calls","metadata":{"unresolvedName":"hometitleService.getChanges"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","to":"external:hometitleService.runScan","kind":"calls","metadata":{"unresolvedName":"hometitleService.runScan"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/hometitle.ts:<anonymous>","to":"external:hometitleService.getAlerts","kind":"calls","metadata":{"unresolvedName":"hometitleService.getAlerts"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"external:~/server/services/notification.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","kind":"calls","metadata":{"unresolvedName":"sendEmail"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","kind":"calls","metadata":{"unresolvedName":"sendPush"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","kind":"calls","metadata":{"unresolvedName":"sendSMS"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","kind":"calls","metadata":{"unresolvedName":"registerDevice"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","kind":"calls","metadata":{"unresolvedName":"unregisterDevice"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices","kind":"calls","metadata":{"unresolvedName":"listDevices"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","kind":"calls","metadata":{"unresolvedName":"getPreferences"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/notification.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","kind":"calls","metadata":{"unresolvedName":"updatePreferences"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/removebrokers.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"external:~/server/services/removebrokers.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"external:initTRPC.context<Ctx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<Ctx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"external:t.middleware","kind":"calls","metadata":{"unresolvedName":"t.middleware"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"external:t.procedure.use(isAuthed).query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed).query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"external:t.procedure.use","kind":"calls","metadata":{"unresolvedName":"t.procedure.use"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"symbol-name:mockGetBrokerRegistry","kind":"calls","metadata":{"unresolvedName":"mockGetBrokerRegistry"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"symbol-name:wrap","kind":"calls","metadata":{"unresolvedName":"wrap"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"symbol-name:mockGetRemovalRequests","kind":"calls","metadata":{"unresolvedName":"mockGetRemovalRequests"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"symbol-name:mockCreateRemovalRequest","kind":"calls","metadata":{"unresolvedName":"mockCreateRemovalRequest"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(RequestStatusSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(RequestStatusSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"symbol-name:mockGetRequestStatus","kind":"calls","metadata":{"unresolvedName":"mockGetRequestStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"symbol-name:mockGetBrokerListings","kind":"calls","metadata":{"unresolvedName":"mockGetBrokerListings"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"symbol-name:mockScanForListings","kind":"calls","metadata":{"unresolvedName":"mockScanForListings"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"symbol-name:mockGetStats","kind":"calls","metadata":{"unresolvedName":"mockGetStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:createCaller","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:mockGetBrokerRegistry","kind":"calls","metadata":{"unresolvedName":"mockGetBrokerRegistry"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:mockGetRemovalRequests","kind":"calls","metadata":{"unresolvedName":"mockGetRemovalRequests"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:mockCreateRemovalRequest","kind":"calls","metadata":{"unresolvedName":"mockCreateRemovalRequest"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:mockGetRequestStatus","kind":"calls","metadata":{"unresolvedName":"mockGetRequestStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:mockGetBrokerListings","kind":"calls","metadata":{"unresolvedName":"mockGetBrokerListings"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:mockScanForListings","kind":"calls","metadata":{"unresolvedName":"mockScanForListings"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:mockGetStats","kind":"calls","metadata":{"unresolvedName":"mockGetStats"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:makeUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:makeUser","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetBrokerRegistry.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetBrokerRegistry.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(await api.getBrokerRegistry()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(await api.getBrokerRegistry()).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getBrokerRegistry","kind":"calls","metadata":{"unresolvedName":"api.getBrokerRegistry"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(api.getBrokerRegistry()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getBrokerRegistry()).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetBrokerRegistry.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetBrokerRegistry.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(await api.getBrokerRegistry()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(await api.getBrokerRegistry()).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getBrokerRegistry","kind":"calls","metadata":{"unresolvedName":"api.getBrokerRegistry"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(api.getBrokerRegistry()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getBrokerRegistry()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getBrokerRegistry","kind":"calls","metadata":{"unresolvedName":"api.getBrokerRegistry"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetRemovalRequests.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRemovalRequests.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getRemovalRequests","kind":"calls","metadata":{"unresolvedName":"api.getRemovalRequests"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(mockGetRemovalRequests).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetRemovalRequests).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetRemovalRequests.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRemovalRequests.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getRemovalRequests","kind":"calls","metadata":{"unresolvedName":"api.getRemovalRequests"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetRemovalRequests.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRemovalRequests.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getRemovalRequests","kind":"calls","metadata":{"unresolvedName":"api.getRemovalRequests"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(mockGetRemovalRequests).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetRemovalRequests).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockCreateRemovalRequest.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreateRemovalRequest.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.createRemovalRequest","kind":"calls","metadata":{"unresolvedName":"api.createRemovalRequest"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockCreateRemovalRequest.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreateRemovalRequest.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.createRemovalRequest","kind":"calls","metadata":{"unresolvedName":"api.createRemovalRequest"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.createRemovalRequest","kind":"calls","metadata":{"unresolvedName":"api.createRemovalRequest"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetRequestStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRequestStatus.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getRequestStatus","kind":"calls","metadata":{"unresolvedName":"api.getRequestStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetRequestStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRequestStatus.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getRequestStatus","kind":"calls","metadata":{"unresolvedName":"api.getRequestStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetBrokerListings.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetBrokerListings.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getBrokerListings","kind":"calls","metadata":{"unresolvedName":"api.getBrokerListings"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetBrokerListings.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetBrokerListings.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getBrokerListings","kind":"calls","metadata":{"unresolvedName":"api.getBrokerListings"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockScanForListings.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockScanForListings.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.scanForListings","kind":"calls","metadata":{"unresolvedName":"api.scanForListings"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(res.scanned).toBe","kind":"calls","metadata":{"unresolvedName":"expect(res.scanned).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(mockScanForListings).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockScanForListings).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockScanForListings.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockScanForListings.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.scanForListings","kind":"calls","metadata":{"unresolvedName":"api.scanForListings"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(res.scanned).toBe","kind":"calls","metadata":{"unresolvedName":"expect(res.scanned).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockScanForListings.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockScanForListings.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.scanForListings","kind":"calls","metadata":{"unresolvedName":"api.scanForListings"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(mockScanForListings).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockScanForListings).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getStats","kind":"calls","metadata":{"unresolvedName":"api.getStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:mockGetStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:api.getStats","kind":"calls","metadata":{"unresolvedName":"api.getStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/removebrokers.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"external:~/server/services/removebrokers.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","to":"external:removebrokersService.getBrokerRegistry","kind":"calls","metadata":{"unresolvedName":"removebrokersService.getBrokerRegistry"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","to":"external:removebrokersService.getRemovalRequests","kind":"calls","metadata":{"unresolvedName":"removebrokersService.getRemovalRequests"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","to":"external:removebrokersService.createRemovalRequest","kind":"calls","metadata":{"unresolvedName":"removebrokersService.createRemovalRequest"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","to":"external:removebrokersService.getRequestStatus","kind":"calls","metadata":{"unresolvedName":"removebrokersService.getRequestStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","to":"external:removebrokersService.getBrokerListings","kind":"calls","metadata":{"unresolvedName":"removebrokersService.getBrokerListings"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","to":"external:removebrokersService.scanForListings","kind":"calls","metadata":{"unresolvedName":"removebrokersService.scanForListings"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/removebrokers.ts:<anonymous>","to":"external:removebrokersService.getStats","kind":"calls","metadata":{"unresolvedName":"removebrokersService.getStats"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/reports.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"external:~/server/services/reports.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"external:initTRPC.context<Ctx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<Ctx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"external:t.middleware","kind":"calls","metadata":{"unresolvedName":"t.middleware"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(ReportFilterSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(ReportFilterSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"external:t.procedure.use","kind":"calls","metadata":{"unresolvedName":"t.procedure.use"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"symbol-name:wrap","kind":"calls","metadata":{"unresolvedName":"wrap"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"symbol-name:mockGetReports","kind":"calls","metadata":{"unresolvedName":"mockGetReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"symbol-name:mockGenerateReport","kind":"calls","metadata":{"unresolvedName":"mockGenerateReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(ReportDetailsSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(ReportDetailsSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"symbol-name:mockGetReport","kind":"calls","metadata":{"unresolvedName":"mockGetReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"symbol-name:mockDeleteReport","kind":"calls","metadata":{"unresolvedName":"mockDeleteReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"symbol-name:mockGetScheduledReports","kind":"calls","metadata":{"unresolvedName":"mockGetScheduledReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"symbol-name:mockUpdateSchedule","kind":"calls","metadata":{"unresolvedName":"mockUpdateSchedule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:createCaller","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:mockGetReports","kind":"calls","metadata":{"unresolvedName":"mockGetReports"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:mockGenerateReport","kind":"calls","metadata":{"unresolvedName":"mockGenerateReport"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:mockGetReport","kind":"calls","metadata":{"unresolvedName":"mockGetReport"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:mockDeleteReport","kind":"calls","metadata":{"unresolvedName":"mockDeleteReport"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:mockGetScheduledReports","kind":"calls","metadata":{"unresolvedName":"mockGetScheduledReports"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:mockUpdateSchedule","kind":"calls","metadata":{"unresolvedName":"mockUpdateSchedule"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:makeUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:makeUser","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockGetReports.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetReports.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.getReports","kind":"calls","metadata":{"unresolvedName":"api.getReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(api.getReports({ page: 1, limit: 20 })).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getReports({ page: 1, limit: 20 })).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockGetReports.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetReports.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.getReports","kind":"calls","metadata":{"unresolvedName":"api.getReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(api.getReports({ page: 1, limit: 20 })).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getReports({ page: 1, limit: 20 })).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.getReports","kind":"calls","metadata":{"unresolvedName":"api.getReports"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockGenerateReport.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGenerateReport.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.generateReport","kind":"calls","metadata":{"unresolvedName":"api.generateReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result.reportId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.reportId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(mockGenerateReport).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGenerateReport).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockGenerateReport.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGenerateReport.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.generateReport","kind":"calls","metadata":{"unresolvedName":"api.generateReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result.reportId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.reportId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.generateReport","kind":"calls","metadata":{"unresolvedName":"api.generateReport"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockGenerateReport.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGenerateReport.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.generateReport","kind":"calls","metadata":{"unresolvedName":"api.generateReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(mockGenerateReport).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGenerateReport).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockGetReport.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetReport.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.getReport","kind":"calls","metadata":{"unresolvedName":"api.getReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockGetReport.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetReport.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.getReport","kind":"calls","metadata":{"unresolvedName":"api.getReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockDeleteReport.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDeleteReport.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.deleteReport","kind":"calls","metadata":{"unresolvedName":"api.deleteReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result.deleted).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.deleted).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockDeleteReport.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDeleteReport.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.deleteReport","kind":"calls","metadata":{"unresolvedName":"api.deleteReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result.deleted).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.deleted).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockGetScheduledReports.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetScheduledReports.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.getScheduledReports","kind":"calls","metadata":{"unresolvedName":"api.getScheduledReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(api.getScheduledReports()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getScheduledReports()).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockGetScheduledReports.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetScheduledReports.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.getScheduledReports","kind":"calls","metadata":{"unresolvedName":"api.getScheduledReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(api.getScheduledReports()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getScheduledReports()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.getScheduledReports","kind":"calls","metadata":{"unresolvedName":"api.getScheduledReports"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockUpdateSchedule.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateSchedule.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.updateSchedule","kind":"calls","metadata":{"unresolvedName":"api.updateSchedule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:mockUpdateSchedule.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateSchedule.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.updateSchedule","kind":"calls","metadata":{"unresolvedName":"api.updateSchedule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.test.ts:<anonymous>","to":"external:api.updateSchedule","kind":"calls","metadata":{"unresolvedName":"api.updateSchedule"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/reports.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"external:~/server/services/reports.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","to":"external:reportsService.getReports","kind":"calls","metadata":{"unresolvedName":"reportsService.getReports"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","to":"external:reportsService.generateReport","kind":"calls","metadata":{"unresolvedName":"reportsService.generateReport"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","to":"external:reportsService.getReport","kind":"calls","metadata":{"unresolvedName":"reportsService.getReport"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","to":"external:reportsService.deleteReport","kind":"calls","metadata":{"unresolvedName":"reportsService.deleteReport"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","to":"external:reportsService.getScheduledReports","kind":"calls","metadata":{"unresolvedName":"reportsService.getScheduledReports"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/reports.ts:<anonymous>","to":"external:reportsService.updateSchedule","kind":"calls","metadata":{"unresolvedName":"reportsService.updateSchedule"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/scheduler.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"external:~/server/jobs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"external:~/server/jobs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"external:~/server/jobs/queue","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:getCronOverview","kind":"calls","metadata":{"unresolvedName":"getCronOverview"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"external:JOB_TYPES.includes","kind":"calls","metadata":{"unresolvedName":"JOB_TYPES.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"external:JOB_TYPES.join","kind":"calls","metadata":{"unresolvedName":"JOB_TYPES.join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue","kind":"calls","metadata":{"unresolvedName":"getQueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue","kind":"calls","metadata":{"unresolvedName":"getQueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue","kind":"calls","metadata":{"unresolvedName":"getQueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"external:queue.getJobs","kind":"calls","metadata":{"unresolvedName":"queue.getJobs"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"external:jobs.map","kind":"calls","metadata":{"unresolvedName":"jobs.map"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","kind":"calls","metadata":{"unresolvedName":"registerSchedules"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","kind":"calls","metadata":{"unresolvedName":"scheduleForSubscription"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/scheduler.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:removeSchedulesForSubscription","kind":"calls","metadata":{"unresolvedName":"removeSchedulesForSubscription"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/spamshield.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"external:~/server/services/spamshield.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:initTRPC.context<Ctx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<Ctx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.middleware","kind":"calls","metadata":{"unresolvedName":"t.middleware"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure\n .input(wrap(CheckNumberSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure\n .input(wrap(CheckNumberSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure\n .input","kind":"calls","metadata":{"unresolvedName":"t.procedure\n .input"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:wrap","kind":"calls","metadata":{"unresolvedName":"wrap"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:mockCheckNumber","kind":"calls","metadata":{"unresolvedName":"mockCheckNumber"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure\n .input(wrap(ClassifySMSSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure\n .input(wrap(ClassifySMSSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:mockClassifySMS","kind":"calls","metadata":{"unresolvedName":"mockClassifySMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure\n .input(wrap(ClassifyCallSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure\n .input(wrap(ClassifyCallSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:mockClassifyCall","kind":"calls","metadata":{"unresolvedName":"mockClassifyCall"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure.use(isAuthed).query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed).query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure.use","kind":"calls","metadata":{"unresolvedName":"t.procedure.use"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:mockGetRules","kind":"calls","metadata":{"unresolvedName":"mockGetRules"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(CreateRuleSchema))\n .mutation","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(CreateRuleSchema))\n .mutation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:mockCreateRule","kind":"calls","metadata":{"unresolvedName":"mockCreateRule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(DeleteRuleSchema))\n .mutation","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(DeleteRuleSchema))\n .mutation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:mockDeleteRule","kind":"calls","metadata":{"unresolvedName":"mockDeleteRule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(FeedbackSchema))\n .mutation","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(FeedbackSchema))\n .mutation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:mockSubmitFeedback","kind":"calls","metadata":{"unresolvedName":"mockSubmitFeedback"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(StatsFilterSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(StatsFilterSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:mockGetStats","kind":"calls","metadata":{"unresolvedName":"mockGetStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:createCaller","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:mockCheckNumber","kind":"calls","metadata":{"unresolvedName":"mockCheckNumber"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:mockClassifySMS","kind":"calls","metadata":{"unresolvedName":"mockClassifySMS"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:mockClassifyCall","kind":"calls","metadata":{"unresolvedName":"mockClassifyCall"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:mockGetRules","kind":"calls","metadata":{"unresolvedName":"mockGetRules"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:mockCreateRule","kind":"calls","metadata":{"unresolvedName":"mockCreateRule"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:mockDeleteRule","kind":"calls","metadata":{"unresolvedName":"mockDeleteRule"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:mockSubmitFeedback","kind":"calls","metadata":{"unresolvedName":"mockSubmitFeedback"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:mockGetStats","kind":"calls","metadata":{"unresolvedName":"mockGetStats"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:makeUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:makeUser","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockCheckNumber.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCheckNumber.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.checkNumber","kind":"calls","metadata":{"unresolvedName":"api.checkNumber"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(mockCheckNumber).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockCheckNumber).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockCheckNumber.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCheckNumber.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.checkNumber","kind":"calls","metadata":{"unresolvedName":"api.checkNumber"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockCheckNumber.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCheckNumber.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.checkNumber","kind":"calls","metadata":{"unresolvedName":"api.checkNumber"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(mockCheckNumber).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockCheckNumber).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockClassifySMS.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockClassifySMS.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.classifySMS","kind":"calls","metadata":{"unresolvedName":"api.classifySMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(res.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(res.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockClassifySMS.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockClassifySMS.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.classifySMS","kind":"calls","metadata":{"unresolvedName":"api.classifySMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(res.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(res.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockClassifyCall.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockClassifyCall.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.classifyCall","kind":"calls","metadata":{"unresolvedName":"api.classifyCall"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(res.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(res.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockClassifyCall.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockClassifyCall.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.classifyCall","kind":"calls","metadata":{"unresolvedName":"api.classifyCall"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(res.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(res.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockGetRules.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRules.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(await api.getRules()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(await api.getRules()).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.getRules","kind":"calls","metadata":{"unresolvedName":"api.getRules"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(api.getRules()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getRules()).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockGetRules.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetRules.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(await api.getRules()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(await api.getRules()).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.getRules","kind":"calls","metadata":{"unresolvedName":"api.getRules"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(api.getRules()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getRules()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.getRules","kind":"calls","metadata":{"unresolvedName":"api.getRules"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockCreateRule.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreateRule.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.createRule","kind":"calls","metadata":{"unresolvedName":"api.createRule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockCreateRule.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreateRule.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.createRule","kind":"calls","metadata":{"unresolvedName":"api.createRule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.createRule","kind":"calls","metadata":{"unresolvedName":"api.createRule"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockDeleteRule.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDeleteRule.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.deleteRule","kind":"calls","metadata":{"unresolvedName":"api.deleteRule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockDeleteRule.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDeleteRule.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.deleteRule","kind":"calls","metadata":{"unresolvedName":"api.deleteRule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockSubmitFeedback.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubmitFeedback.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.submitFeedback","kind":"calls","metadata":{"unresolvedName":"api.submitFeedback"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockSubmitFeedback.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubmitFeedback.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.submitFeedback","kind":"calls","metadata":{"unresolvedName":"api.submitFeedback"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.submitFeedback","kind":"calls","metadata":{"unresolvedName":"api.submitFeedback"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockGetStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.getStats","kind":"calls","metadata":{"unresolvedName":"api.getStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(result.accuracy).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.accuracy).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(api.getStats({ period: \"month\" })).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getStats({ period: \"month\" })).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:mockGetStats.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetStats.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.getStats","kind":"calls","metadata":{"unresolvedName":"api.getStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(result.accuracy).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.accuracy).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:expect(api.getStats({ period: \"month\" })).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getStats({ period: \"month\" })).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.test.ts:<anonymous>","to":"external:api.getStats","kind":"calls","metadata":{"unresolvedName":"api.getStats"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/spamshield.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"external:~/server/services/spamshield.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","to":"external:spamshieldService.checkNumberReputation","kind":"calls","metadata":{"unresolvedName":"spamshieldService.checkNumberReputation"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","to":"external:spamshieldService.classifySMS","kind":"calls","metadata":{"unresolvedName":"spamshieldService.classifySMS"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","to":"external:spamshieldService.classifyCall","kind":"calls","metadata":{"unresolvedName":"spamshieldService.classifyCall"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","to":"external:spamshieldService.getRules","kind":"calls","metadata":{"unresolvedName":"spamshieldService.getRules"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","to":"external:spamshieldService.createRule","kind":"calls","metadata":{"unresolvedName":"spamshieldService.createRule"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","to":"external:spamshieldService.deleteRule","kind":"calls","metadata":{"unresolvedName":"spamshieldService.deleteRule"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","to":"external:spamshieldService.submitFeedback","kind":"calls","metadata":{"unresolvedName":"spamshieldService.submitFeedback"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/spamshield.ts:<anonymous>","to":"external:spamshieldService.getStats","kind":"calls","metadata":{"unresolvedName":"spamshieldService.getStats"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/user.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"external:~/server/services/user.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"external:~/server/services/family.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:initTRPC.context<Ctx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<Ctx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:t.middleware","kind":"calls","metadata":{"unresolvedName":"t.middleware"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:t.procedure.use(isAuthed).query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed).query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:t.procedure.use","kind":"calls","metadata":{"unresolvedName":"t.procedure.use"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"symbol-name:mockGetUserById","kind":"calls","metadata":{"unresolvedName":"mockGetUserById"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(UpdateUserSchema))\n .mutation","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(UpdateUserSchema))\n .mutation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"symbol-name:wrap","kind":"calls","metadata":{"unresolvedName":"wrap"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"symbol-name:mockUpdateUser","kind":"calls","metadata":{"unresolvedName":"mockUpdateUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .mutation","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .mutation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"symbol-name:mockDeleteUser","kind":"calls","metadata":{"unresolvedName":"mockDeleteUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"symbol-name:mockGetFamilyGroup","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:group.members.find","kind":"calls","metadata":{"unresolvedName":"group.members.find"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"symbol-name:mockInviteMember","kind":"calls","metadata":{"unresolvedName":"mockInviteMember"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"symbol-name:mockRemoveMember","kind":"calls","metadata":{"unresolvedName":"mockRemoveMember"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(UpdateRoleSchema))\n .mutation","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(UpdateRoleSchema))\n .mutation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"symbol-name:mockUpdateMemberRole","kind":"calls","metadata":{"unresolvedName":"mockUpdateMemberRole"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:createCaller","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:mockGetUserById","kind":"calls","metadata":{"unresolvedName":"mockGetUserById"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:mockUpdateUser","kind":"calls","metadata":{"unresolvedName":"mockUpdateUser"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:mockDeleteUser","kind":"calls","metadata":{"unresolvedName":"mockDeleteUser"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:mockGetFamilyGroup","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:mockGetFamilyGroup","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:group.members.find","kind":"calls","metadata":{"unresolvedName":"group.members.find"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:mockInviteMember","kind":"calls","metadata":{"unresolvedName":"mockInviteMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:mockGetFamilyGroup","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:mockRemoveMember","kind":"calls","metadata":{"unresolvedName":"mockRemoveMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:mockGetFamilyGroup","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:mockUpdateMemberRole","kind":"calls","metadata":{"unresolvedName":"mockUpdateMemberRole"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:makeUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:makeUser","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetUserById.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetUserById.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.me()).id).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.me()).id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.me","kind":"calls","metadata":{"unresolvedName":"api.me"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect(api.me()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.me()).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetUserById.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetUserById.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.me()).id).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.me()).id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.me","kind":"calls","metadata":{"unresolvedName":"api.me"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect(api.me()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.me()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.me","kind":"calls","metadata":{"unresolvedName":"api.me"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockUpdateUser.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateUser.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.update({ name: \"New\" })).name).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.update({ name: \"New\" })).name).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.update","kind":"calls","metadata":{"unresolvedName":"api.update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.update({ email: \"new@b.com\" })).email).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.update({ email: \"new@b.com\" })).email).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockUpdateUser.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateUser.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.update({ name: \"New\" })).name).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.update({ name: \"New\" })).name).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.update","kind":"calls","metadata":{"unresolvedName":"api.update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockUpdateUser.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateUser.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.update({ email: \"new@b.com\" })).email).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.update({ email: \"new@b.com\" })).email).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.update","kind":"calls","metadata":{"unresolvedName":"api.update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockDeleteUser.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDeleteUser.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.delete()).success).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.delete()).success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.delete","kind":"calls","metadata":{"unresolvedName":"api.delete"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockDeleteUser.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDeleteUser.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.delete()).success).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.delete()).success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.delete","kind":"calls","metadata":{"unresolvedName":"api.delete"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetFamilyGroup.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.listFamilyMembers","kind":"calls","metadata":{"unresolvedName":"api.listFamilyMembers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect(result[0].role).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].role).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetFamilyGroup.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.listFamilyMembers","kind":"calls","metadata":{"unresolvedName":"api.listFamilyMembers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect(result[0].role).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].role).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetFamilyGroup.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockInviteMember.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInviteMember.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.inviteFamilyMember({ email: \"new@b.com\" })).status).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.inviteFamilyMember({ email: \"new@b.com\" })).status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.inviteFamilyMember","kind":"calls","metadata":{"unresolvedName":"api.inviteFamilyMember"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect(api.inviteFamilyMember({ email: \"new@b.com\" })).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.inviteFamilyMember({ email: \"new@b.com\" })).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetFamilyGroup.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockInviteMember.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInviteMember.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.inviteFamilyMember({ email: \"new@b.com\" })).status).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.inviteFamilyMember({ email: \"new@b.com\" })).status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.inviteFamilyMember","kind":"calls","metadata":{"unresolvedName":"api.inviteFamilyMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetFamilyGroup.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect(api.inviteFamilyMember({ email: \"new@b.com\" })).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.inviteFamilyMember({ email: \"new@b.com\" })).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.inviteFamilyMember","kind":"calls","metadata":{"unresolvedName":"api.inviteFamilyMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetFamilyGroup.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockRemoveMember.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRemoveMember.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.removeFamilyMember({ userId: \"u3\" })).success).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.removeFamilyMember({ userId: \"u3\" })).success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.removeFamilyMember","kind":"calls","metadata":{"unresolvedName":"api.removeFamilyMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetFamilyGroup.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockRemoveMember.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRemoveMember.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:expect((await api.removeFamilyMember({ userId: \"u3\" })).success).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await api.removeFamilyMember({ userId: \"u3\" })).success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.removeFamilyMember","kind":"calls","metadata":{"unresolvedName":"api.removeFamilyMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetFamilyGroup.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockUpdateMemberRole.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateMemberRole.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.updateFamilyMemberRole","kind":"calls","metadata":{"unresolvedName":"api.updateFamilyMemberRole"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockGetFamilyGroup.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetFamilyGroup.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:mockUpdateMemberRole.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateMemberRole.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.test.ts:<anonymous>","to":"external:api.updateFamilyMemberRole","kind":"calls","metadata":{"unresolvedName":"api.updateFamilyMemberRole"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/user.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"external:~/server/services/user.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"external:~/server/services/family.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","kind":"calls","metadata":{"unresolvedName":"authenticateUser"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","kind":"calls","metadata":{"unresolvedName":"createUserWithPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:createSession","kind":"calls","metadata":{"unresolvedName":"createSession"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:getUserById","kind":"calls","metadata":{"unresolvedName":"getUserById"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","kind":"calls","metadata":{"unresolvedName":"updateUser"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","kind":"calls","metadata":{"unresolvedName":"deleteUser"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","kind":"calls","metadata":{"unresolvedName":"getFamilyGroup"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","kind":"calls","metadata":{"unresolvedName":"getFamilyGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"external:group.members.find","kind":"calls","metadata":{"unresolvedName":"group.members.find"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","kind":"calls","metadata":{"unresolvedName":"inviteMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","kind":"calls","metadata":{"unresolvedName":"getFamilyGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","kind":"calls","metadata":{"unresolvedName":"removeMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","kind":"calls","metadata":{"unresolvedName":"getFamilyGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/user.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","kind":"calls","metadata":{"unresolvedName":"updateMemberRole"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"external:~/server/services/voiceprint.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:initTRPC.context<Ctx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<Ctx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:t.middleware","kind":"calls","metadata":{"unresolvedName":"t.middleware"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:t.procedure.use(isAuthed).query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed).query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:t.procedure.use","kind":"calls","metadata":{"unresolvedName":"t.procedure.use"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"symbol-name:mockGetEnrollments","kind":"calls","metadata":{"unresolvedName":"mockGetEnrollments"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"symbol-name:wrap","kind":"calls","metadata":{"unresolvedName":"wrap"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"symbol-name:mockCreateEnrollment","kind":"calls","metadata":{"unresolvedName":"mockCreateEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"symbol-name:mockDeleteEnrollment","kind":"calls","metadata":{"unresolvedName":"mockDeleteEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"symbol-name:mockAnalyzeAudio","kind":"calls","metadata":{"unresolvedName":"mockAnalyzeAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(AnalysisFilterSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(AnalysisFilterSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"symbol-name:mockGetAnalyses","kind":"calls","metadata":{"unresolvedName":"mockGetAnalyses"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(AnalysisResultSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(AnalysisResultSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"symbol-name:mockGetAnalysisResult","kind":"calls","metadata":{"unresolvedName":"mockGetAnalysisResult"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:t.procedure.use(isAuthed)\n .input(wrap(JobStatusSchema))\n .query","kind":"calls","metadata":{"unresolvedName":"t.procedure.use(isAuthed)\n .input(wrap(JobStatusSchema))\n .query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"symbol-name:mockGetJobStatus","kind":"calls","metadata":{"unresolvedName":"mockGetJobStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:createCaller","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:mockGetEnrollments","kind":"calls","metadata":{"unresolvedName":"mockGetEnrollments"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:mockCreateEnrollment","kind":"calls","metadata":{"unresolvedName":"mockCreateEnrollment"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:mockDeleteEnrollment","kind":"calls","metadata":{"unresolvedName":"mockDeleteEnrollment"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:mockAnalyzeAudio","kind":"calls","metadata":{"unresolvedName":"mockAnalyzeAudio"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:mockGetAnalyses","kind":"calls","metadata":{"unresolvedName":"mockGetAnalyses"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:mockGetAnalysisResult","kind":"calls","metadata":{"unresolvedName":"mockGetAnalysisResult"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:mockGetJobStatus","kind":"calls","metadata":{"unresolvedName":"mockGetJobStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:makeUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:makeUser","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockGetEnrollments.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetEnrollments.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(await api.getEnrollments()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(await api.getEnrollments()).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.getEnrollments","kind":"calls","metadata":{"unresolvedName":"api.getEnrollments"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(api.getEnrollments()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getEnrollments()).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockGetEnrollments.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetEnrollments.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(await api.getEnrollments()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(await api.getEnrollments()).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.getEnrollments","kind":"calls","metadata":{"unresolvedName":"api.getEnrollments"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(api.getEnrollments()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(api.getEnrollments()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.getEnrollments","kind":"calls","metadata":{"unresolvedName":"api.getEnrollments"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockCreateEnrollment.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreateEnrollment.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.createEnrollment","kind":"calls","metadata":{"unresolvedName":"api.createEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockCreateEnrollment.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCreateEnrollment.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.createEnrollment","kind":"calls","metadata":{"unresolvedName":"api.createEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.createEnrollment","kind":"calls","metadata":{"unresolvedName":"api.createEnrollment"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockDeleteEnrollment.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDeleteEnrollment.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.deleteEnrollment","kind":"calls","metadata":{"unresolvedName":"api.deleteEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockDeleteEnrollment.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDeleteEnrollment.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.deleteEnrollment","kind":"calls","metadata":{"unresolvedName":"api.deleteEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockAnalyzeAudio.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockAnalyzeAudio.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.analyzeAudio","kind":"calls","metadata":{"unresolvedName":"api.analyzeAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(res.verdict).toBe","kind":"calls","metadata":{"unresolvedName":"expect(res.verdict).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(mockAnalyzeAudio).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockAnalyzeAudio).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockAnalyzeAudio.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockAnalyzeAudio.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.analyzeAudio","kind":"calls","metadata":{"unresolvedName":"api.analyzeAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(res.verdict).toBe","kind":"calls","metadata":{"unresolvedName":"expect(res.verdict).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockAnalyzeAudio.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockAnalyzeAudio.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.analyzeAudio","kind":"calls","metadata":{"unresolvedName":"api.analyzeAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(mockAnalyzeAudio).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockAnalyzeAudio).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockGetAnalyses.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAnalyses.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.getAnalyses","kind":"calls","metadata":{"unresolvedName":"api.getAnalyses"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(mockGetAnalyses).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetAnalyses).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockGetAnalyses.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAnalyses.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.getAnalyses","kind":"calls","metadata":{"unresolvedName":"api.getAnalyses"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockGetAnalyses.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAnalyses.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.getAnalyses","kind":"calls","metadata":{"unresolvedName":"api.getAnalyses"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(mockGetAnalyses).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGetAnalyses).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockGetAnalysisResult.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAnalysisResult.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.getAnalysisResult","kind":"calls","metadata":{"unresolvedName":"api.getAnalysisResult"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockGetAnalysisResult.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetAnalysisResult.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.getAnalysisResult","kind":"calls","metadata":{"unresolvedName":"api.getAnalysisResult"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockGetJobStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetJobStatus.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.getJobStatus","kind":"calls","metadata":{"unresolvedName":"api.getJobStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:mockGetJobStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGetJobStatus.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:createCaller","kind":"calls","metadata":{"unresolvedName":"createCaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:makeUser","kind":"calls","metadata":{"unresolvedName":"makeUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:api.getJobStatus","kind":"calls","metadata":{"unresolvedName":"api.getJobStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"external:@typeschema/valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"external:~/server/services/voiceprint.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","to":"external:voiceprintService.getEnrollments","kind":"calls","metadata":{"unresolvedName":"voiceprintService.getEnrollments"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","to":"external:voiceprintService.createEnrollment","kind":"calls","metadata":{"unresolvedName":"voiceprintService.createEnrollment"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","to":"external:voiceprintService.deleteEnrollment","kind":"calls","metadata":{"unresolvedName":"voiceprintService.deleteEnrollment"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","to":"external:voiceprintService.analyzeAudio","kind":"calls","metadata":{"unresolvedName":"voiceprintService.analyzeAudio"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","to":"external:voiceprintService.getAnalyses","kind":"calls","metadata":{"unresolvedName":"voiceprintService.getAnalyses"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","to":"external:voiceprintService.getAnalysisResult","kind":"calls","metadata":{"unresolvedName":"voiceprintService.getAnalysisResult"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/routers/voiceprint.ts:<anonymous>","to":"external:voiceprintService.getJobStatus","kind":"calls","metadata":{"unresolvedName":"voiceprintService.getJobStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/billing.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/billing.ts","to":"external:~/lib/url-validation","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/correlation.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/darkwatch.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/extension.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/hometitle.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/removebrokers.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/reports.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/scheduler.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/spamshield.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/user.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:\"A\".repeat","kind":"calls","metadata":{"unresolvedName":"\"A\".repeat"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:\"A\".repeat","kind":"calls","metadata":{"unresolvedName":"\"A\".repeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:\"A\".repeat","kind":"calls","metadata":{"unresolvedName":"\"A\".repeat"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:\"A\".repeat","kind":"calls","metadata":{"unresolvedName":"\"A\".repeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/voiceprint.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.metadata?.userId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.metadata?.userId).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.metadata?.userId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.metadata?.userId).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.current_period_start).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.current_period_start).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.items?.data?.price?.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.items?.data?.price?.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.cancel_at_period_end).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.cancel_at_period_end).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.current_period_start).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.current_period_start).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.items?.data?.price?.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.items?.data?.price?.id).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.cancel_at_period_end).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.cancel_at_period_end).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.subscription).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.subscription).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.output.subscription).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.output.subscription).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"external:expect(result.success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.success).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/schemas/webhook.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(mod.createTRPCContext).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(mod.createTRPCContext).toBeInstanceOf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","kind":"calls","metadata":{"unresolvedName":"createTRPCContext"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(ctx.user).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(ctx.user).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(ctx.apiKey).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(ctx.apiKey).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(ctx.db).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(ctx.db).toBeDefined"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(mod.createTRPCContext).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(mod.createTRPCContext).toBeInstanceOf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","kind":"calls","metadata":{"unresolvedName":"createTRPCContext"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(ctx.user).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(ctx.user).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(ctx.apiKey).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(ctx.apiKey).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(ctx.db).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(ctx.db).toBeDefined"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context<TestCtx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<TestCtx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:publicProcedure.query","kind":"calls","metadata":{"unresolvedName":"publicProcedure.query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:caller({ db: {} }).test","kind":"calls","metadata":{"unresolvedName":"caller({ db: {} }).test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:protectedProcedure.query","kind":"calls","metadata":{"unresolvedName":"protectedProcedure.query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(caller({ db: {} }).test()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(caller({ db: {} }).test()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:caller({\n db: {},\n user: { id: \"user-1\", role: \"user\" },\n }).test","kind":"calls","metadata":{"unresolvedName":"caller({\n db: {},\n user: { id: \"user-1\", role: \"user\" },\n }).test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:adminProcedure.query","kind":"calls","metadata":{"unresolvedName":"adminProcedure.query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:caller({ db: {}, user: { id: \"user-1\", role: \"user\" } }).test","kind":"calls","metadata":{"unresolvedName":"caller({ db: {}, user: { id: \"user-1\", role: \"user\" } }).test"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context<TestCtx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<TestCtx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:publicProcedure.query","kind":"calls","metadata":{"unresolvedName":"publicProcedure.query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:caller({ db: {} }).test","kind":"calls","metadata":{"unresolvedName":"caller({ db: {} }).test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context<TestCtx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<TestCtx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:protectedProcedure.query","kind":"calls","metadata":{"unresolvedName":"protectedProcedure.query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(caller({ db: {} }).test()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(caller({ db: {} }).test()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:caller({ db: {} }).test","kind":"calls","metadata":{"unresolvedName":"caller({ db: {} }).test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context<TestCtx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<TestCtx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:protectedProcedure.query","kind":"calls","metadata":{"unresolvedName":"protectedProcedure.query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:caller({\n db: {},\n user: { id: \"user-1\", role: \"user\" },\n }).test","kind":"calls","metadata":{"unresolvedName":"caller({\n db: {},\n user: { id: \"user-1\", role: \"user\" },\n }).test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context<TestCtx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<TestCtx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:adminProcedure.query","kind":"calls","metadata":{"unresolvedName":"adminProcedure.query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:caller({ db: {}, user: { id: \"user-1\", role: \"user\" } }).test","kind":"calls","metadata":{"unresolvedName":"caller({ db: {}, user: { id: \"user-1\", role: \"user\" } }).test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context<TestCtx>().create","kind":"calls","metadata":{"unresolvedName":"initTRPC.context<TestCtx>().create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:initTRPC.context","kind":"calls","metadata":{"unresolvedName":"initTRPC.context"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.router","kind":"calls","metadata":{"unresolvedName":"t.router"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:adminProcedure.query","kind":"calls","metadata":{"unresolvedName":"adminProcedure.query"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:t.createCallerFactory","kind":"calls","metadata":{"unresolvedName":"t.createCallerFactory"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:expect(caller({ db: {} }).test()).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(caller({ db: {} }).test()).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"external:caller({ db: {} }).test","kind":"calls","metadata":{"unresolvedName":"caller({ db: {} }).test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.test.ts:<anonymous>","to":"symbol-name:caller","kind":"calls","metadata":{"unresolvedName":"caller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"external:@trpc/server/adapters/fetch","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"external:~/server/auth/jwt","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"external:~/server/auth/session","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"external:~/server/db/schema/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","to":"external:req.headers.get","kind":"calls","metadata":{"unresolvedName":"req.headers.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","to":"external:cookieHeader.split","kind":"calls","metadata":{"unresolvedName":"cookieHeader.split"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","to":"external:cookie.trim","kind":"calls","metadata":{"unresolvedName":"cookie.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","to":"external:trimmed.indexOf","kind":"calls","metadata":{"unresolvedName":"trimmed.indexOf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","to":"external:trimmed.slice(0, idx).trim","kind":"calls","metadata":{"unresolvedName":"trimmed.slice(0, idx).trim"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","to":"external:trimmed.slice","kind":"calls","metadata":{"unresolvedName":"trimmed.slice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","to":"external:trimmed.slice(idx + 1).trim","kind":"calls","metadata":{"unresolvedName":"trimmed.slice(idx + 1).trim"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","to":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:parseCookies","kind":"calls","metadata":{"unresolvedName":"parseCookies"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","to":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:validateSession","kind":"calls","metadata":{"unresolvedName":"validateSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","to":"external:req.headers.get","kind":"calls","metadata":{"unresolvedName":"req.headers.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","to":"external:authHeader?.startsWith","kind":"calls","metadata":{"unresolvedName":"authHeader?.startsWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","to":"external:authHeader.slice","kind":"calls","metadata":{"unresolvedName":"authHeader.slice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT","kind":"calls","metadata":{"unresolvedName":"verifyJWT"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","to":"external:db\n .select()\n .from(users)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/trpc.ts:createTRPCContext","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","to":"external:SENSITIVE_PROCEDURES.has","kind":"calls","metadata":{"unresolvedName":"SENSITIVE_PROCEDURES.has"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.login\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.login\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.signup\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.signup\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.forgotPassword\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.forgotPassword\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.resetPassword\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.resetPassword\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runFullScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runFullScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudio\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudio\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.createEnrollment\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.createEnrollment\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"blog.bySlug\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"blog.bySlug\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"correlation.search\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"correlation.search\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"spamshield.analyze\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"spamshield.analyze\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"blog.bySlug\", null, false)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"blog.bySlug\", null, false)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.login\", \"admin\", true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.login\", \"admin\", true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScan\", \"admin\", true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScan\", \"admin\", true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudio\", \"admin\", true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudio\", \"admin\", true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.loginLike\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.loginLike\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.signupPage\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.signupPage\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.loginResetPassword\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.loginResetPassword\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScanLike\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScanLike\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScanHistory\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScanHistory\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudioPlayer\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudioPlayer\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.createEnrollmentPage\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.createEnrollmentPage\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"notdarkwatch.runScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"notdarkwatch.runScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.notrunScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.notrunScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyze\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyze\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.login\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.login\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.signup\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.signup\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.forgotPassword\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.forgotPassword\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.resetPassword\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.resetPassword\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runFullScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runFullScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudio\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudio\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.createEnrollment\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.createEnrollment\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.login\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.login\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.signup\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.signup\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.forgotPassword\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.forgotPassword\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.resetPassword\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.resetPassword\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runFullScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runFullScan\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudio\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudio\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.createEnrollment\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.createEnrollment\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"blog.bySlug\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"blog.bySlug\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"correlation.search\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"correlation.search\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"spamshield.analyze\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"spamshield.analyze\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"blog.bySlug\", null, false)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"blog.bySlug\", null, false)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.login\", \"admin\", true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.login\", \"admin\", true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScan\", \"admin\", true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScan\", \"admin\", true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudio\", \"admin\", true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudio\", \"admin\", true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"blog.bySlug\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"blog.bySlug\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"correlation.search\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"correlation.search\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"spamshield.analyze\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"spamshield.analyze\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"blog.bySlug\", null, false)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"blog.bySlug\", null, false)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.login\", \"admin\", true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.login\", \"admin\", true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScan\", \"admin\", true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScan\", \"admin\", true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudio\", \"admin\", true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudio\", \"admin\", true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.loginLike\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.loginLike\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.signupPage\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.signupPage\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.loginResetPassword\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.loginResetPassword\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScanLike\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScanLike\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScanHistory\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScanHistory\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudioPlayer\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudioPlayer\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.createEnrollmentPage\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.createEnrollmentPage\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"notdarkwatch.runScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"notdarkwatch.runScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.notrunScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.notrunScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyze\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyze\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.loginLike\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.loginLike\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.signupPage\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.signupPage\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"user.loginResetPassword\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"user.loginResetPassword\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScanLike\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScanLike\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.runScanHistory\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.runScanHistory\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyzeAudioPlayer\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyzeAudioPlayer\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.createEnrollmentPage\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.createEnrollmentPage\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"notdarkwatch.runScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"notdarkwatch.runScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:getRateLimitTier","kind":"calls","metadata":{"unresolvedName":"getRateLimitTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"darkwatch.notrunScan\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"darkwatch.notrunScan\", null, true)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.test.ts:<anonymous>","to":"external:expect(getRateLimitTier(\"voiceprint.analyze\", null, true)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getRateLimitTier(\"voiceprint.analyze\", null, true)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/api/trpc.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","to":"external:~/server/lib/ratelimit","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/utils.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","to":"external:SENSITIVE_PROCEDURES.has","kind":"calls","metadata":{"unresolvedName":"SENSITIVE_PROCEDURES.has"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimitOrThrow","kind":"calls","metadata":{"unresolvedName":"checkRateLimitOrThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/utils.ts:<anonymous>","to":"symbol-name:next","kind":"calls","metadata":{"unresolvedName":"next"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/validation.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/validation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:sanitizeHtml","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/validation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:sanitizeHtml","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:sanitizeHtml","to":"external:input\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace","kind":"calls","metadata":{"unresolvedName":"input\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:sanitizeHtml","to":"external:input\n .replace(/&/g, \"&\")\n .replace","kind":"calls","metadata":{"unresolvedName":"input\n .replace(/&/g, \"&\")\n .replace"}},{"from":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:sanitizeHtml","to":"external:input\n .replace","kind":"calls","metadata":{"unresolvedName":"input\n .replace"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/validation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:validateNoHtml","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/validation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:validateNoHtml","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:validateNoHtml","to":"external:htmlPattern.test","kind":"calls","metadata":{"unresolvedName":"htmlPattern.test"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/validation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:validateStringLength","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/api/validation.ts","to":"/Users/mike/Code/Kordant/web/src/server/api/validation.ts:validateStringLength","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:signJWT","kind":"calls","metadata":{"unresolvedName":"signJWT"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT","kind":"calls","metadata":{"unresolvedName":"verifyJWT"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"external:expect(decoded.sub).toBe","kind":"calls","metadata":{"unresolvedName":"expect(decoded.sub).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"external:expect(decoded.role).toBe","kind":"calls","metadata":{"unresolvedName":"expect(decoded.role).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"external:expect(verifyJWT(\"invalid.token.here\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(verifyJWT(\"invalid.token.here\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:signJWT","kind":"calls","metadata":{"unresolvedName":"signJWT"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT","kind":"calls","metadata":{"unresolvedName":"verifyJWT"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"external:expect(decoded.sub).toBe","kind":"calls","metadata":{"unresolvedName":"expect(decoded.sub).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"external:expect(decoded.role).toBe","kind":"calls","metadata":{"unresolvedName":"expect(decoded.role).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"external:expect(verifyJWT(\"invalid.token.here\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(verifyJWT(\"invalid.token.here\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT","kind":"calls","metadata":{"unresolvedName":"verifyJWT"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","to":"external:jose","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:getSecret","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:getSecret","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:getSecret","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:signJWT","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:signJWT","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:signJWT","to":"external:new SignJWT({ ...payload })\n .setProtectedHeader","kind":"calls","metadata":{"unresolvedName":"new SignJWT({ ...payload })\n .setProtectedHeader"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:signJWT","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:getSecret","kind":"calls","metadata":{"unresolvedName":"getSecret"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT","to":"symbol-name:jwtVerify","kind":"calls","metadata":{"unresolvedName":"jwtVerify"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:getSecret","kind":"calls","metadata":{"unresolvedName":"getSecret"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:hashPassword","kind":"calls","metadata":{"unresolvedName":"hashPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"external:expect(hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"external:expect(hash).not.toBe","kind":"calls","metadata":{"unresolvedName":"expect(hash).not.toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:verifyPassword","kind":"calls","metadata":{"unresolvedName":"verifyPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"external:expect(valid).toBe","kind":"calls","metadata":{"unresolvedName":"expect(valid).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:hashPassword","kind":"calls","metadata":{"unresolvedName":"hashPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"external:expect(hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"external:expect(hash).not.toBe","kind":"calls","metadata":{"unresolvedName":"expect(hash).not.toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:hashPassword","kind":"calls","metadata":{"unresolvedName":"hashPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:verifyPassword","kind":"calls","metadata":{"unresolvedName":"verifyPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"external:expect(valid).toBe","kind":"calls","metadata":{"unresolvedName":"expect(valid).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:hashPassword","kind":"calls","metadata":{"unresolvedName":"hashPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:verifyPassword","kind":"calls","metadata":{"unresolvedName":"verifyPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"external:expect(valid).toBe","kind":"calls","metadata":{"unresolvedName":"expect(valid).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.ts","to":"external:bcryptjs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:hashPassword","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:hashPassword","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:hashPassword","to":"external:bcrypt.hash","kind":"calls","metadata":{"unresolvedName":"bcrypt.hash"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:verifyPassword","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/password.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:verifyPassword","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:verifyPassword","to":"external:bcrypt.compare","kind":"calls","metadata":{"unresolvedName":"bcrypt.compare"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/session.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/session.ts","to":"external:~/server/db/schema/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/session.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/session.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:createSession","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/session.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:createSession","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:createSession","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:createSession","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:createSession","to":"external:db\n .insert(sessions)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(sessions)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:createSession","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/session.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:validateSession","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/auth/session.ts","to":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:validateSession","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:validateSession","to":"external:db\n .select({ session: sessions, user: users })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ session: sessions, user: users })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:validateSession","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:validateSession","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:validateSession","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:validateSession","to":"symbol-name:gt","kind":"calls","metadata":{"unresolvedName":"gt"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"external:expect(mod.db).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(mod.db).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"external:expect(mod.client).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(mod.client).toBeDefined"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"external:expect(mod.db).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(mod.db).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"external:expect(mod.client).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(mod.client).toBeDefined"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"external:expect(mod.runMigrations).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(mod.runMigrations).toBeInstanceOf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"external:expect(mod.runMigrations).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(mod.runMigrations).toBeInstanceOf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"external:expect(mod.seed).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(mod.seed).toBeInstanceOf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/db.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"external:expect(mod.seed).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(mod.seed).toBeInstanceOf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/db.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/index.ts","to":"external:@libsql/client","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/index.ts","to":"external:drizzle-orm/libsql","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/index.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/index.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/index.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/index.ts:<anonymous>","to":"external:client.close","kind":"calls","metadata":{"unresolvedName":"client.close"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/index.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/index.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/index.ts:<anonymous>","to":"external:client.close","kind":"calls","metadata":{"unresolvedName":"client.close"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","to":"external:drizzle-orm/libsql/migrator","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/index.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:runMigrations","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:runMigrations","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:runMigrations","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:runMigrations","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js:migrate","kind":"calls","metadata":{"unresolvedName":"migrate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:runMigrations","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/migrate.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/migrate.ts:<anonymous>","to":"external:process.exit","kind":"calls","metadata":{"unresolvedName":"process.exit"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/alerts.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/alerts.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/alerts.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/alerts.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/darkwatch.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/audit.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/correlation.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/correlation.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/darkwatch.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/darkwatch.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/hometitle.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/hometitle.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/invitation.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/invitation.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/invitation.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/marketing.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/notifications.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/notifications.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/notifications.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/invitation.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/darkwatch.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/alerts.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/voiceprint.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/spamshield.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/correlation.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/reports.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/report-schedules.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/hometitle.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/relations.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/removebrokers.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/removebrokers.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/removebrokers.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/report-schedules.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/report-schedules.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/reports.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/reports.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/spamshield.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/spamshield.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/subscription.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/voiceprint.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/voiceprint.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/auth.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema/webhook-events.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"external:drizzle-orm/sqlite-core","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(config.columns).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(config.columns).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(config.indexes.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(config.indexes.length).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(config.columns).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(config.columns).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(config.indexes.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(config.indexes.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(config.columns.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(config.columns.length).toBeGreaterThanOrEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(config.columns.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(config.columns.length).toBeGreaterThanOrEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(config.columns.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(config.columns.length).toBeGreaterThanOrEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(config.columns.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(config.columns.length).toBeGreaterThanOrEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.find","kind":"calls","metadata":{"unresolvedName":"config.columns.find"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(channelCol).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(channelCol).toBeDefined"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.find","kind":"calls","metadata":{"unresolvedName":"config.columns.find"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(channelCol).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(channelCol).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.find","kind":"calls","metadata":{"unresolvedName":"config.columns.find"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(tagsCol).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(tagsCol).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.find","kind":"calls","metadata":{"unresolvedName":"config.columns.find"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(tagsCol).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(tagsCol).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(config.columns.find((c) => c.name === \"entities\")).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(config.columns.find((c) => c.name === \"entities\")).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.find","kind":"calls","metadata":{"unresolvedName":"config.columns.find"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(config.columns.find((c) => c.name === \"entities\")).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(config.columns.find((c) => c.name === \"entities\")).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.find","kind":"calls","metadata":{"unresolvedName":"config.columns.find"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"calls","metadata":{"unresolvedName":"getTableConfig"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:config.columns.map","kind":"calls","metadata":{"unresolvedName":"config.columns.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"external:expect(colNames).toContain","kind":"calls","metadata":{"unresolvedName":"expect(colNames).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/schema.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/seed.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/index.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/seed.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/seed.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/seed.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(users).values","kind":"calls","metadata":{"unresolvedName":"db.insert(users).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert","kind":"calls","metadata":{"unresolvedName":"db.insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(familyGroups).values","kind":"calls","metadata":{"unresolvedName":"db.insert(familyGroups).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(familyGroupMembers).values","kind":"calls","metadata":{"unresolvedName":"db.insert(familyGroupMembers).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:now.getFullYear","kind":"calls","metadata":{"unresolvedName":"now.getFullYear"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:now.getMonth","kind":"calls","metadata":{"unresolvedName":"now.getMonth"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(subscriptions).values","kind":"calls","metadata":{"unresolvedName":"db.insert(subscriptions).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(watchlistItems).values","kind":"calls","metadata":{"unresolvedName":"db.insert(watchlistItems).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:now.getTime","kind":"calls","metadata":{"unresolvedName":"now.getTime"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(exposures).values","kind":"calls","metadata":{"unresolvedName":"db.insert(exposures).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"symbol-name:pastDate","kind":"calls","metadata":{"unresolvedName":"pastDate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(alerts).values","kind":"calls","metadata":{"unresolvedName":"db.insert(alerts).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(blogPosts).values","kind":"calls","metadata":{"unresolvedName":"db.insert(blogPosts).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(propertyWatchlistItems).values","kind":"calls","metadata":{"unresolvedName":"db.insert(propertyWatchlistItems).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(infoBrokers).values","kind":"calls","metadata":{"unresolvedName":"db.insert(infoBrokers).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:seed","to":"external:db.insert(removalRequests).values","kind":"calls","metadata":{"unresolvedName":"db.insert(removalRequests).values"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/seed.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/db/seed.ts","to":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/db/seed.ts:<anonymous>","to":"external:process.exit","kind":"calls","metadata":{"unresolvedName":"process.exit"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/health.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/health.ts","to":"external:~/server/lib/ratelimit","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/health.ts","to":"external:~/server/websocket","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/health.ts","to":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkHealth","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/health.ts","to":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkHealth","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/health.ts","to":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/health.ts","to":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","to":"external:client.execute","kind":"calls","metadata":{"unresolvedName":"client.execute"}},{"from":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:getRateLimitRedis","kind":"calls","metadata":{"unresolvedName":"getRateLimitRedis"}},{"from":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","to":"external:redis.ping","kind":"calls","metadata":{"unresolvedName":"redis.ping"}},{"from":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectionCount","kind":"calls","metadata":{"unresolvedName":"getConnectionCount"}},{"from":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","to":"external:Object.values(dependencies).every","kind":"calls","metadata":{"unresolvedName":"Object.values(dependencies).every"}},{"from":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","to":"external:Object.values","kind":"calls","metadata":{"unresolvedName":"Object.values"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/health.ts","to":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkDeep","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/health.ts","to":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkDeep","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkDeep","to":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkReady","kind":"calls","metadata":{"unresolvedName":"checkReady"}},{"from":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkDeep","to":"external:process.uptime","kind":"calls","metadata":{"unresolvedName":"process.uptime"}},{"from":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkDeep","to":"external:process.memoryUsage","kind":"calls","metadata":{"unresolvedName":"process.memoryUsage"}},{"from":"/Users/mike/Code/Kordant/web/src/server/health.ts:checkDeep","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectionCount","kind":"calls","metadata":{"unresolvedName":"getConnectionCount"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"external:~/server/services/darkwatch.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","to":"external:vi.fn().mockReturnThis","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnThis"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","to":"external:vi.fn().mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockImplementation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:mockDb.select.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockDb.select.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","kind":"calls","metadata":{"unresolvedName":"makeChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"symbol-name:handler","kind":"calls","metadata":{"unresolvedName":"handler"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:expect(mockRunScan).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockRunScan).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:mockDb.select.mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"mockDb.select.mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:mockRunScan.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRunScan.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:mockDb.select\n .mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"mockDb.select\n .mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:expect(mockRunScan).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockRunScan).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:mockDb.select.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockDb.select.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","kind":"calls","metadata":{"unresolvedName":"makeChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"symbol-name:handler","kind":"calls","metadata":{"unresolvedName":"handler"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:expect(mockRunScan).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockRunScan).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:mockDb.select.mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"mockDb.select.mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","kind":"calls","metadata":{"unresolvedName":"makeChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"symbol-name:handler","kind":"calls","metadata":{"unresolvedName":"handler"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:expect(mockRunScan).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockRunScan).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:mockRunScan.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRunScan.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:mockDb.select\n .mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"mockDb.select\n .mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:makeChain","kind":"calls","metadata":{"unresolvedName":"makeChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"symbol-name:handler","kind":"calls","metadata":{"unresolvedName":"handler"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"external:expect(mockRunScan).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockRunScan).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","to":"external:~/server/services/darkwatch.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","to":"external:db\n .select()\n .from(watchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(watchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/darkwatch.scan.ts:handler","to":"symbol-name:runScan","kind":"calls","metadata":{"unresolvedName":"runScan"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts","to":"external:~/server/services/hometitle.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","to":"external:db\n .select()\n .from(propertyWatchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(propertyWatchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/hometitle.scan.ts:handler","to":"symbol-name:runScan","kind":"calls","metadata":{"unresolvedName":"runScan"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:getHandlers","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:getHandlers","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:getHandlers","to":"symbol-name:require","kind":"calls","metadata":{"unresolvedName":"require"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","to":"external:~/server/services/notification.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"external:db\n .select()\n .from(users)\n .where(eq(users.id, userId))\n .limit","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where(eq(users.id, userId))\n .limit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"external:db\n .select()\n .from(users)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"external:db\n .select()\n .from(alerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(alerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:handler","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:sendViaChannel","kind":"calls","metadata":{"unresolvedName":"sendViaChannel"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:sendViaChannel","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:sendViaChannel","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:sendViaChannel","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","kind":"calls","metadata":{"unresolvedName":"sendEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:sendViaChannel","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","kind":"calls","metadata":{"unresolvedName":"sendPush"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:sendViaChannel","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","kind":"calls","metadata":{"unresolvedName":"sendSMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/notifications.send.ts:sendViaChannel","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts","to":"external:~/server/services/removebrokers.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","to":"external:db\n .select()\n .from(removalRequests)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(removalRequests)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","kind":"calls","metadata":{"unresolvedName":"processRemovals"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/removebrokers.process.ts:handler","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","to":"external:~/server/services/reports.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"external:db\n .select()\n .from(reportSchedules)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(reportSchedules)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","kind":"calls","metadata":{"unresolvedName":"generateReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"external:schedule.lastGeneratedAt?.toISOString","kind":"calls","metadata":{"unresolvedName":"schedule.lastGeneratedAt?.toISOString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"external:db\n .update(reportSchedules)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(reportSchedules)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:calculateNextRun","kind":"calls","metadata":{"unresolvedName":"calculateNextRun"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:handler","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:calculateNextRun","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:calculateNextRun","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/reports.generate.ts:calculateNextRun","to":"external:now.getTime","kind":"calls","metadata":{"unresolvedName":"now.getTime"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts","to":"external:~/server/services/voiceprint.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"external:conditions.push","kind":"calls","metadata":{"unresolvedName":"conditions.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"external:db\n .select()\n .from(analysisJobs)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(analysisJobs)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"external:db\n .update(analysisJobs)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(analysisJobs)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","kind":"calls","metadata":{"unresolvedName":"analyzeAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"external:db.insert(analysisResults).values","kind":"calls","metadata":{"unresolvedName":"db.insert(analysisResults).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"external:db.insert","kind":"calls","metadata":{"unresolvedName":"db.insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/voiceprint.batch.ts:handler","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:initialize","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:initialize","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:initialize","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:initialize","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:startScheduler","kind":"calls","metadata":{"unresolvedName":"startScheduler"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:initialize","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","kind":"calls","metadata":{"unresolvedName":"startWorker"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:initialize","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:initialize","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:isSchedulerRunning","kind":"calls","metadata":{"unresolvedName":"isSchedulerRunning"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:initialize","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:isWorkerRunning","kind":"calls","metadata":{"unresolvedName":"isWorkerRunning"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:shutdown","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/index.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:shutdown","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:shutdown","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:shutdown","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:stopScheduler","kind":"calls","metadata":{"unresolvedName":"stopScheduler"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/index.ts:shutdown","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker","kind":"calls","metadata":{"unresolvedName":"stopWorker"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.type).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.payload).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(job.payload).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.attempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.attempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.maxAttempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.maxAttempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.id).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(job.id).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.dequeue","kind":"calls","metadata":{"unresolvedName":"queue.dequeue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job1?.type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job1?.type).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job1?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job1?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job2?.type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job2?.type).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job2?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job2?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job3).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(job3).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.markComplete","kind":"calls","metadata":{"unresolvedName":"queue.markComplete"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(result).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(fetched?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(fetched?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.markFailed","kind":"calls","metadata":{"unresolvedName":"queue.markFailed"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(fetched?.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(fetched?.error).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(job).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.getJobs","kind":"calls","metadata":{"unresolvedName":"queue.getJobs"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(pending).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(pending).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(pending[0].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(pending[0].id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(completed).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(completed).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(completed[0].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(completed[0].id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(immediate).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(immediate).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(delayed?.type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(delayed?.type).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.type).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.payload).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(job.payload).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.attempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.attempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.maxAttempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.maxAttempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.id).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(job.id).toBeDefined"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.dequeue","kind":"calls","metadata":{"unresolvedName":"queue.dequeue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job1?.type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job1?.type).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job1?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job1?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job2?.type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job2?.type).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job2?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job2?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job3).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(job3).toBeNull"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.markComplete","kind":"calls","metadata":{"unresolvedName":"queue.markComplete"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.dequeue","kind":"calls","metadata":{"unresolvedName":"queue.dequeue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(result).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.markComplete","kind":"calls","metadata":{"unresolvedName":"queue.markComplete"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(fetched?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(fetched?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.markFailed","kind":"calls","metadata":{"unresolvedName":"queue.markFailed"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(fetched?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(fetched?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(fetched?.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(fetched?.error).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(job).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.markComplete","kind":"calls","metadata":{"unresolvedName":"queue.markComplete"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.getJobs","kind":"calls","metadata":{"unresolvedName":"queue.getJobs"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(pending).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(pending).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(pending[0].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(pending[0].id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(completed).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(completed).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(completed[0].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(completed[0].id).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.dequeue","kind":"calls","metadata":{"unresolvedName":"queue.dequeue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(immediate).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(immediate).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(delayed?.type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(delayed?.type).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"external:expect(job.maxAttempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.maxAttempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"external:node:crypto","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","to":"symbol-name:randomUUID","kind":"calls","metadata":{"unresolvedName":"randomUUID"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","to":"external:this.jobs.set","kind":"calls","metadata":{"unresolvedName":"this.jobs.set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","to":"external:this.pendingQueue.push","kind":"calls","metadata":{"unresolvedName":"this.pendingQueue.push"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:<anonymous>","to":"external:this.pendingQueue.push","kind":"calls","metadata":{"unresolvedName":"this.pendingQueue.push"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:scheduleRetry","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:scheduleRetry","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:scheduleRetry","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:scheduleRetry","to":"external:this.pendingQueue.push","kind":"calls","metadata":{"unresolvedName":"this.pendingQueue.push"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:<anonymous>","to":"external:this.pendingQueue.push","kind":"calls","metadata":{"unresolvedName":"this.pendingQueue.push"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:dequeue","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:dequeue","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:dequeue","to":"external:this.pendingQueue.shift","kind":"calls","metadata":{"unresolvedName":"this.pendingQueue.shift"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:dequeue","to":"external:this.jobs.get","kind":"calls","metadata":{"unresolvedName":"this.jobs.get"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markComplete","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markComplete","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markComplete","to":"external:this.jobs.get","kind":"calls","metadata":{"unresolvedName":"this.jobs.get"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markFailed","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markFailed","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markFailed","to":"external:this.jobs.get","kind":"calls","metadata":{"unresolvedName":"this.jobs.get"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJob","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJob","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJob","to":"external:this.jobs.get","kind":"calls","metadata":{"unresolvedName":"this.jobs.get"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","to":"external:this.jobs.values","kind":"calls","metadata":{"unresolvedName":"this.jobs.values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","to":"external:all.filter","kind":"calls","metadata":{"unresolvedName":"all.filter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","to":"symbol-name:require","kind":"calls","metadata":{"unresolvedName":"require"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","to":"external:bullJob.getState","kind":"calls","metadata":{"unresolvedName":"bullJob.getState"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","to":"external:queue.add","kind":"calls","metadata":{"unresolvedName":"queue.add"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:toJob","kind":"calls","metadata":{"unresolvedName":"toJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","to":"external:queue.getJobs","kind":"calls","metadata":{"unresolvedName":"queue.getJobs"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","to":"external:allJobs.push","kind":"calls","metadata":{"unresolvedName":"allJobs.push"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:toJob","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:toJob","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:toJob","to":"external:bullJob.getState","kind":"calls","metadata":{"unresolvedName":"bullJob.getState"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","to":"external:queue.add","kind":"calls","metadata":{"unresolvedName":"queue.add"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:enqueue","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:toJob","kind":"calls","metadata":{"unresolvedName":"toJob"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:dequeue","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:dequeue","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markComplete","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markComplete","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markFailed","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:markFailed","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:scheduleRetry","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:scheduleRetry","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJob","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJob","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJob","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJob","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:toJob","kind":"calls","metadata":{"unresolvedName":"toJob"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","to":"external:queue.getJobs","kind":"calls","metadata":{"unresolvedName":"queue.getJobs"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","to":"external:allJobs.push","kind":"calls","metadata":{"unresolvedName":"allJobs.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getJobs","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:toJob","kind":"calls","metadata":{"unresolvedName":"toJob"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:createRedisAdapter","kind":"calls","metadata":{"unresolvedName":"createRedisAdapter"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:setQueue","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:setQueue","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:resetQueue","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:resetQueue","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"external:node-cron","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"external:~/server/lib/tier","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:getCronOverview","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:getCronOverview","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:getCronOverview","to":"external:Object.values(CRON_OVERVIEW).join","kind":"calls","metadata":{"unresolvedName":"Object.values(CRON_OVERVIEW).join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:getCronOverview","to":"external:Object.values","kind":"calls","metadata":{"unresolvedName":"Object.values"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:enqueueScheduledJob","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:enqueueScheduledJob","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:enqueueScheduledJob","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue","kind":"calls","metadata":{"unresolvedName":"getQueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:enqueueScheduledJob","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:clearSchedules","kind":"calls","metadata":{"unresolvedName":"clearSchedules"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getEffectiveTier","kind":"calls","metadata":{"unresolvedName":"getEffectiveTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"external:cron.validate","kind":"calls","metadata":{"unresolvedName":"cron.validate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"external:cron.schedule","kind":"calls","metadata":{"unresolvedName":"cron.schedule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"external:enqueueScheduledJob(schedule.type, sub.userId, sub.id).catch","kind":"calls","metadata":{"unresolvedName":"enqueueScheduledJob(schedule.type, sub.userId, sub.id).catch"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:enqueueScheduledJob","kind":"calls","metadata":{"unresolvedName":"enqueueScheduledJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"external:activeSchedules.push","kind":"calls","metadata":{"unresolvedName":"activeSchedules.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","to":"external:enqueueScheduledJob(schedule.type, sub.userId, sub.id).catch","kind":"calls","metadata":{"unresolvedName":"enqueueScheduledJob(schedule.type, sub.userId, sub.id).catch"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:enqueueScheduledJob","kind":"calls","metadata":{"unresolvedName":"enqueueScheduledJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:removeSchedulesForSubscription","kind":"calls","metadata":{"unresolvedName":"removeSchedulesForSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","to":"external:cron.validate","kind":"calls","metadata":{"unresolvedName":"cron.validate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","to":"external:cron.schedule","kind":"calls","metadata":{"unresolvedName":"cron.schedule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","to":"external:enqueueScheduledJob(schedule.type, subscription.userId, subscription.id).catch","kind":"calls","metadata":{"unresolvedName":"enqueueScheduledJob(schedule.type, subscription.userId, subscription.id).catch"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:enqueueScheduledJob","kind":"calls","metadata":{"unresolvedName":"enqueueScheduledJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:scheduleForSubscription","to":"external:activeSchedules.push","kind":"calls","metadata":{"unresolvedName":"activeSchedules.push"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","to":"external:enqueueScheduledJob(schedule.type, subscription.userId, subscription.id).catch","kind":"calls","metadata":{"unresolvedName":"enqueueScheduledJob(schedule.type, subscription.userId, subscription.id).catch"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:enqueueScheduledJob","kind":"calls","metadata":{"unresolvedName":"enqueueScheduledJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:removeSchedulesForSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:removeSchedulesForSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:removeSchedulesForSubscription","to":"external:activeSchedules.filter","kind":"calls","metadata":{"unresolvedName":"activeSchedules.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:removeSchedulesForSubscription","to":"external:s.task.stop","kind":"calls","metadata":{"unresolvedName":"s.task.stop"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:removeSchedulesForSubscription","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:<anonymous>","to":"external:s.task.stop","kind":"calls","metadata":{"unresolvedName":"s.task.stop"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:clearSchedules","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:clearSchedules","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:clearSchedules","to":"external:entry.task.stop","kind":"calls","metadata":{"unresolvedName":"entry.task.stop"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:clearSchedules","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:startScheduler","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:startScheduler","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:startScheduler","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:registerSchedules","kind":"calls","metadata":{"unresolvedName":"registerSchedules"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:stopScheduler","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:stopScheduler","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:stopScheduler","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:clearSchedules","kind":"calls","metadata":{"unresolvedName":"clearSchedules"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:isSchedulerRunning","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/scheduler.ts:isSchedulerRunning","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/start.ts","to":"external:dotenv/config","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/start.ts","to":"external:~/server/jobs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:setQueue","kind":"calls","metadata":{"unresolvedName":"setQueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:resetQueue","kind":"calls","metadata":{"unresolvedName":"resetQueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(updated?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updated?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockRejectedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(updated?.attempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updated?.attempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledTimes"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(job.attempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.attempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.dequeue","kind":"calls","metadata":{"unresolvedName":"queue.dequeue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(retried).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(retried).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(failed?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failed?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(failed?.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failed?.error).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","kind":"calls","metadata":{"unresolvedName":"startWorker"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.advanceTimersByTimeAsync","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker","kind":"calls","metadata":{"unresolvedName":"stopWorker"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(handler).not.toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:setQueue","kind":"calls","metadata":{"unresolvedName":"setQueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:resetQueue","kind":"calls","metadata":{"unresolvedName":"resetQueue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(updated?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updated?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockRejectedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(updated?.attempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updated?.attempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledTimes"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(job.attempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.attempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.dequeue","kind":"calls","metadata":{"unresolvedName":"queue.dequeue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(retried).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(retried).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(failed?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failed?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(failed?.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failed?.error).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(updated?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updated?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockRejectedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(updated?.attempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updated?.attempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(updated?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updated?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledTimes"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockRejectedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalledTimes"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(job.attempts).toBe","kind":"calls","metadata":{"unresolvedName":"expect(job.attempts).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.dequeue","kind":"calls","metadata":{"unresolvedName":"queue.dequeue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(retried).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(retried).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.getJob","kind":"calls","metadata":{"unresolvedName":"queue.getJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(failed?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failed?.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(failed?.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failed?.error).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","kind":"calls","metadata":{"unresolvedName":"startWorker"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.advanceTimersByTimeAsync","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker","kind":"calls","metadata":{"unresolvedName":"stopWorker"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(handler).not.toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","kind":"calls","metadata":{"unresolvedName":"startWorker"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.advanceTimersByTimeAsync","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(handler).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker","kind":"calls","metadata":{"unresolvedName":"stopWorker"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:setHandlers","kind":"calls","metadata":{"unresolvedName":"setHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","kind":"calls","metadata":{"unresolvedName":"startWorker"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker","kind":"calls","metadata":{"unresolvedName":"stopWorker"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:queue.enqueue","kind":"calls","metadata":{"unresolvedName":"queue.enqueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:vi.advanceTimersByTimeAsync","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"external:expect(handler).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(handler).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/jobs/handlers","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:sleep","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:sleep","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:sleep","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"/Users/mike/Code/Kordant/web/src/server/jobs/handlers/index.ts:getHandlers","kind":"calls","metadata":{"unresolvedName":"getHandlers"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue","kind":"calls","metadata":{"unresolvedName":"getQueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"external:activeJobs.add","kind":"calls","metadata":{"unresolvedName":"activeJobs.add"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"symbol-name:handler","kind":"calls","metadata":{"unresolvedName":"handler"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"external:queue.markComplete","kind":"calls","metadata":{"unresolvedName":"queue.markComplete"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"external:queue.scheduleRetry","kind":"calls","metadata":{"unresolvedName":"queue.scheduleRetry"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"external:queue.markFailed","kind":"calls","metadata":{"unresolvedName":"queue.markFailed"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","to":"external:activeJobs.delete","kind":"calls","metadata":{"unresolvedName":"activeJobs.delete"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","to":"/Users/mike/Code/Kordant/web/src/server/jobs/queue.ts:getQueue","kind":"calls","metadata":{"unresolvedName":"getQueue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","to":"external:queue.dequeue","kind":"calls","metadata":{"unresolvedName":"queue.dequeue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","to":"external:processJob(job).catch","kind":"calls","metadata":{"unresolvedName":"processJob(job).catch"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:poll","kind":"calls","metadata":{"unresolvedName":"poll"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:startWorker","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:poll","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:poll","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:poll","to":"external:queue.dequeue","kind":"calls","metadata":{"unresolvedName":"queue.dequeue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:poll","to":"external:processJob(job).catch","kind":"calls","metadata":{"unresolvedName":"processJob(job).catch"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:poll","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:processJob","kind":"calls","metadata":{"unresolvedName":"processJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:poll","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:stopWorker","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:sleep","kind":"calls","metadata":{"unresolvedName":"sleep"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:isWorkerRunning","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts","to":"/Users/mike/Code/Kordant/web/src/server/jobs/worker.ts:isWorkerRunning","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"external:ioredis","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:getCacheRedis","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:getCacheRedis","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:get","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:get","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:get","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:getCacheRedis","kind":"calls","metadata":{"unresolvedName":"getCacheRedis"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:get","to":"external:redis.get","kind":"calls","metadata":{"unresolvedName":"redis.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:get","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:set","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:set","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:set","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:getCacheRedis","kind":"calls","metadata":{"unresolvedName":"getCacheRedis"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:set","to":"external:redis.set","kind":"calls","metadata":{"unresolvedName":"redis.set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:set","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidate","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidate","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidate","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:getCacheRedis","kind":"calls","metadata":{"unresolvedName":"getCacheRedis"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidate","to":"external:redis.del","kind":"calls","metadata":{"unresolvedName":"redis.del"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidatePattern","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidatePattern","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidatePattern","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:getCacheRedis","kind":"calls","metadata":{"unresolvedName":"getCacheRedis"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidatePattern","to":"external:redis.keys","kind":"calls","metadata":{"unresolvedName":"redis.keys"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:invalidatePattern","to":"external:redis.del","kind":"calls","metadata":{"unresolvedName":"redis.del"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:closeCacheRedis","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:closeCacheRedis","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cache.ts:closeCacheRedis","to":"external:redis.quit","kind":"calls","metadata":{"unresolvedName":"redis.quit"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/lib/cache.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedUser","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedUser","to":"symbol-name:get","kind":"calls","metadata":{"unresolvedName":"get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedUser","to":"symbol-name:fetchFn","kind":"calls","metadata":{"unresolvedName":"fetchFn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedUser","to":"symbol-name:set","kind":"calls","metadata":{"unresolvedName":"set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedSubscription","to":"symbol-name:get","kind":"calls","metadata":{"unresolvedName":"get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedSubscription","to":"symbol-name:fetchFn","kind":"calls","metadata":{"unresolvedName":"fetchFn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedSubscription","to":"symbol-name:set","kind":"calls","metadata":{"unresolvedName":"set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedDashboard","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedDashboard","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedDashboard","to":"symbol-name:get","kind":"calls","metadata":{"unresolvedName":"get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedDashboard","to":"symbol-name:fetchFn","kind":"calls","metadata":{"unresolvedName":"fetchFn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedDashboard","to":"symbol-name:set","kind":"calls","metadata":{"unresolvedName":"set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedBlog","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedBlog","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedBlog","to":"symbol-name:get","kind":"calls","metadata":{"unresolvedName":"get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedBlog","to":"symbol-name:fetchFn","kind":"calls","metadata":{"unresolvedName":"fetchFn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/cached-queries.ts:getCachedBlog","to":"symbol-name:set","kind":"calls","metadata":{"unresolvedName":"set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/env.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/env.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts:validateEnv","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/env.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts:validateEnv","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts:validateEnv","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts:validateEnv","to":"external:result.issues\n .map","kind":"calls","metadata":{"unresolvedName":"result.issues\n .map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts:validateEnv","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts:validateEnv","to":"external:missingKeys.join","kind":"calls","metadata":{"unresolvedName":"missingKeys.join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts:validateEnv","to":"external:process.exit","kind":"calls","metadata":{"unresolvedName":"process.exit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/env.ts:validateEnv","to":"symbol-name:parse","kind":"calls","metadata":{"unresolvedName":"parse"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/fcm.ts","to":"external:firebase-admin/app","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/fcm.ts","to":"external:firebase-admin/messaging","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/logger.ts","to":"external:pino","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","to":"external:ioredis","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:getRateLimitRedis","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:getRateLimitRedis","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:getRateLimitRedis","kind":"calls","metadata":{"unresolvedName":"getRateLimitRedis"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","to":"external:redis.zremrangebyscore","kind":"calls","metadata":{"unresolvedName":"redis.zremrangebyscore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","to":"external:redis.zcard","kind":"calls","metadata":{"unresolvedName":"redis.zcard"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","to":"external:redis.zrange","kind":"calls","metadata":{"unresolvedName":"redis.zrange"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","to":"external:redis.zadd","kind":"calls","metadata":{"unresolvedName":"redis.zadd"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","to":"external:redis.expire","kind":"calls","metadata":{"unresolvedName":"redis.expire"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimitOrThrow","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimitOrThrow","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimitOrThrow","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimit","kind":"calls","metadata":{"unresolvedName":"checkRateLimit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimitOrThrow","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:checkRateLimitOrThrow","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:closeRateLimitRedis","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:closeRateLimitRedis","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/ratelimit.ts:closeRateLimitRedis","to":"external:redis.quit","kind":"calls","metadata":{"unresolvedName":"redis.quit"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts","to":"external:@solidjs/start/middleware","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts","to":"external:~/server/lib/logger","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts:requestLogger","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts:requestLogger","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts:requestLogger","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts:requestLogger","to":"external:logger.child","kind":"calls","metadata":{"unresolvedName":"logger.child"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts:requestLogger","to":"external:childLogger.debug","kind":"calls","metadata":{"unresolvedName":"childLogger.debug"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts:requestLogger","to":"external:event.response.headers.set","kind":"calls","metadata":{"unresolvedName":"event.response.headers.set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/request-logger.ts:requestLogger","to":"external:childLogger.info","kind":"calls","metadata":{"unresolvedName":"childLogger.info"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/resend.ts","to":"external:resend","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"external:~/server/db/schema/subscription","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getEffectiveTier","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getEffectiveTier","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:isTrialing","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:isTrialing","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","to":"external:sub.trials.some","kind":"calls","metadata":{"unresolvedName":"sub.trials.some"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","to":"external:db\n .select()\n .from(featureTrials)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(featureTrials)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","to":"symbol-name:gte","kind":"calls","metadata":{"unresolvedName":"gte"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:createFeatureTrial","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/tier.ts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:createFeatureTrial","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:createFeatureTrial","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:createFeatureTrial","to":"external:db\n .insert(featureTrials)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(featureTrials)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:createFeatureTrial","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/lib/twilio.ts","to":"external:twilio","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:mockBroadcastToUser.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockBroadcastToUser.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"calls","metadata":{"unresolvedName":"publishAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockBroadcastToUser).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockBroadcastToUser).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockSendPush).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockSendPush).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockSendEmail).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockSendEmail).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:mockSendPush.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSendPush.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockBroadcastToUser).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockBroadcastToUser).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockSendPush).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockSendPush).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:(db.db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishToGroup","kind":"calls","metadata":{"unresolvedName":"publishToGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockBroadcastToUser).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockBroadcastToUser).toHaveBeenCalledTimes"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:mockBroadcastToUser.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockBroadcastToUser.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"calls","metadata":{"unresolvedName":"publishAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockBroadcastToUser).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockBroadcastToUser).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockSendPush).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockSendPush).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockSendEmail).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockSendEmail).not.toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:mockBroadcastToUser.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockBroadcastToUser.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:mockSendPush.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSendPush.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"calls","metadata":{"unresolvedName":"publishAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockBroadcastToUser).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockBroadcastToUser).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockSendPush).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockSendPush).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:mockBroadcastToUser.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockBroadcastToUser.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:mockSendPush.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSendPush.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:(db.db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishToGroup","kind":"calls","metadata":{"unresolvedName":"publishToGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"external:expect(mockBroadcastToUser).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockBroadcastToUser).toHaveBeenCalledTimes"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","to":"external:~/server/websocket","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","to":"external:~/server/services/notification.service","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","to":"external:~/server/db/schema/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","to":"external:alert.createdAt.toISOString","kind":"calls","metadata":{"unresolvedName":"alert.createdAt.toISOString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:broadcastToUser","kind":"calls","metadata":{"unresolvedName":"broadcastToUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","kind":"calls","metadata":{"unresolvedName":"sendPush"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","to":"external:db\n .select()\n .from(users)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","kind":"calls","metadata":{"unresolvedName":"sendEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishToGroup","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishToGroup","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishToGroup","to":"external:userIds.map","kind":"calls","metadata":{"unresolvedName":"userIds.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishToGroup","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"calls","metadata":{"unresolvedName":"publishAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishToGroup","to":"external:Promise.allSettled","kind":"calls","metadata":{"unresolvedName":"Promise.allSettled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"external:~/server/stripe","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","kind":"calls","metadata":{"unresolvedName":"getOrCreateCustomer"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(stripe.customers.create).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(stripe.customers.create).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(stripe.customers.create as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"(stripe.customers.create as ReturnType<typeof vi.fn>).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(stripe.customers.create).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stripe.customers.create).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(getOrCreateCustomer(\"u-missing\", \"x@y.com\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getOrCreateCustomer(\"u-missing\", \"x@y.com\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","kind":"calls","metadata":{"unresolvedName":"getOrCreateCustomer"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(stripe.customers.create).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(stripe.customers.create).not.toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(stripe.customers.create as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"(stripe.customers.create as ReturnType<typeof vi.fn>).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","kind":"calls","metadata":{"unresolvedName":"getOrCreateCustomer"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(stripe.customers.create).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stripe.customers.create).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(getOrCreateCustomer(\"u-missing\", \"x@y.com\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getOrCreateCustomer(\"u-missing\", \"x@y.com\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","kind":"calls","metadata":{"unresolvedName":"getOrCreateCustomer"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createCheckoutSession","kind":"calls","metadata":{"unresolvedName":"createCheckoutSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.clientSecret).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.clientSecret).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.sessionId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.sessionId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(stripe.checkout.sessions.create).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stripe.checkout.sessions.create).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createCheckoutSession","kind":"calls","metadata":{"unresolvedName":"createCheckoutSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.clientSecret).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.clientSecret).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.sessionId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.sessionId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(stripe.checkout.sessions.create).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stripe.checkout.sessions.create).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createPortalSession","kind":"calls","metadata":{"unresolvedName":"createPortalSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.url).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.url).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createPortalSession","kind":"calls","metadata":{"unresolvedName":"createPortalSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.url).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.url).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","kind":"calls","metadata":{"unresolvedName":"cancelSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.cancelAtPeriodEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.cancelAtPeriodEnd).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(stripe.subscriptions.update).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stripe.subscriptions.update).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","kind":"calls","metadata":{"unresolvedName":"cancelSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.cancelAtPeriodEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.cancelAtPeriodEnd).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(stripe.subscriptions.update).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stripe.subscriptions.update).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","kind":"calls","metadata":{"unresolvedName":"reactivateSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.cancelAtPeriodEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.cancelAtPeriodEnd).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(stripe.subscriptions.update).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stripe.subscriptions.update).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"(stripe.subscriptions.update as ReturnType<typeof vi.fn>).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","kind":"calls","metadata":{"unresolvedName":"reactivateSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.cancelAtPeriodEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.cancelAtPeriodEnd).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(stripe.subscriptions.update).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stripe.subscriptions.update).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(stripe.invoices.list as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"(stripe.invoices.list as ReturnType<typeof vi.fn>).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:listInvoices","kind":"calls","metadata":{"unresolvedName":"listInvoices"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.invoices).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.invoices).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.hasMore).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.hasMore).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(stripe.invoices.list as ReturnType<typeof vi.fn>).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"(stripe.invoices.list as ReturnType<typeof vi.fn>).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:listInvoices","kind":"calls","metadata":{"unresolvedName":"listInvoices"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.invoices).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.invoices).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(result.hasMore).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.hasMore).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.insert as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.insert as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","kind":"calls","metadata":{"unresolvedName":"handleWebhookEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(db.insert).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(db.insert).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.insert as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.insert as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","kind":"calls","metadata":{"unresolvedName":"handleWebhookEvent"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:expect(db.insert).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(db.insert).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","kind":"calls","metadata":{"unresolvedName":"handleWebhookEvent"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","kind":"calls","metadata":{"unresolvedName":"handleWebhookEvent"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","kind":"calls","metadata":{"unresolvedName":"handleWebhookEvent"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn()\n\t\t\t\t\t\t.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"external:vi\n\t\t\t\t\t\t.fn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t\t\t\t.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","kind":"calls","metadata":{"unresolvedName":"handleWebhookEvent"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"external:valibot","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"external:~/server/stripe","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"external:~/server/db/schema/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"external:~/server/db/schema/subscription","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"external:stripe","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"external:~/server/api/schemas/webhook","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","to":"external:db\n .select()\n .from(users)\n .where(eq(users.id, userId))\n .limit","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where(eq(users.id, userId))\n .limit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","to":"external:db\n .select()\n .from(users)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","to":"external:stripe.customers.create","kind":"calls","metadata":{"unresolvedName":"stripe.customers.create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","to":"external:db\n .update(users)\n .set({ stripeCustomerId: customer.id })\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(users)\n .set({ stripeCustomerId: customer.id })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","to":"external:db\n .update(users)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(users)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createCheckoutSession","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createCheckoutSession","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createCheckoutSession","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:getOrCreateCustomer","kind":"calls","metadata":{"unresolvedName":"getOrCreateCustomer"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createCheckoutSession","to":"external:stripe.checkout.sessions.create","kind":"calls","metadata":{"unresolvedName":"stripe.checkout.sessions.create"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createPortalSession","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createPortalSession","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:createPortalSession","to":"external:stripe.billingPortal.sessions.create","kind":"calls","metadata":{"unresolvedName":"stripe.billingPortal.sessions.create"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","to":"external:stripe.subscriptions.update","kind":"calls","metadata":{"unresolvedName":"stripe.subscriptions.update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","to":"external:db\n .update(subscriptions)\n .set({ cancelAtPeriodEnd: true })\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(subscriptions)\n .set({ cancelAtPeriodEnd: true })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","to":"external:db\n .update(subscriptions)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(subscriptions)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:cancelSubscription","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","to":"external:stripe.subscriptions.update","kind":"calls","metadata":{"unresolvedName":"stripe.subscriptions.update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","to":"external:db\n .update(subscriptions)\n .set({ cancelAtPeriodEnd: false })\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(subscriptions)\n .set({ cancelAtPeriodEnd: false })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","to":"external:db\n .update(subscriptions)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(subscriptions)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:reactivateSubscription","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:listInvoices","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:listInvoices","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:listInvoices","to":"external:stripe.invoices.list","kind":"calls","metadata":{"unresolvedName":"stripe.invoices.list"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB","to":"external:db\n .update(subscriptions)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(subscriptions)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseSubscription","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseSubscription","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseSubscription","to":"external:result.issues?.map((i) => i.message).join","kind":"calls","metadata":{"unresolvedName":"result.issues?.map((i) => i.message).join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseSubscription","to":"external:result.issues?.map","kind":"calls","metadata":{"unresolvedName":"result.issues?.map"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseCheckoutSession","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseCheckoutSession","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseCheckoutSession","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseCheckoutSession","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseCheckoutSession","to":"external:result.issues?.map((i) => i.message).join","kind":"calls","metadata":{"unresolvedName":"result.issues?.map((i) => i.message).join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseCheckoutSession","to":"external:result.issues?.map","kind":"calls","metadata":{"unresolvedName":"result.issues?.map"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseInvoice","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseInvoice","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseInvoice","to":"symbol-name:safeParse","kind":"calls","metadata":{"unresolvedName":"safeParse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseInvoice","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseInvoice","to":"external:result.issues?.map((i) => i.message).join","kind":"calls","metadata":{"unresolvedName":"result.issues?.map((i) => i.message).join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseInvoice","to":"external:result.issues?.map","kind":"calls","metadata":{"unresolvedName":"result.issues?.map"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseCheckoutSession","kind":"calls","metadata":{"unresolvedName":"safeParseCheckoutSession"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"external:stripe.subscriptions.retrieve","kind":"calls","metadata":{"unresolvedName":"stripe.subscriptions.retrieve"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"external:db.insert(subscriptions).values","kind":"calls","metadata":{"unresolvedName":"db.insert(subscriptions).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"external:db.insert","kind":"calls","metadata":{"unresolvedName":"db.insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:mapStripeProductToTier","kind":"calls","metadata":{"unresolvedName":"mapStripeProductToTier"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseInvoice","kind":"calls","metadata":{"unresolvedName":"safeParseInvoice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:updateSubscriptionInDB","kind":"calls","metadata":{"unresolvedName":"updateSubscriptionInDB"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:safeParseSubscription","kind":"calls","metadata":{"unresolvedName":"safeParseSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:handleWebhookEvent","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:mapStripeProductToTier","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/billing.service.ts:mapStripeProductToTier","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeSelectChain","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeSelectChain","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeSelectChain","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeSelectChain","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeSelectChain","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeSelectChain","to":"external:mockSelect.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockSelect.mockReturnValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain","to":"external:mockInsert.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockInsert.mockReturnValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","to":"external:mockUpdate.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockUpdate.mockReturnValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(getHighestSeverity([])).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getHighestSeverity([])).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity","kind":"calls","metadata":{"unresolvedName":"getHighestSeverity"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(getHighestSeverity([\"LOW\", \"HIGH\", \"INFO\"])).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getHighestSeverity([\"LOW\", \"HIGH\", \"INFO\"])).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(getHighestSeverity([\"INFO\", \"WARNING\", \"CRITICAL\"])).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getHighestSeverity([\"INFO\", \"WARNING\", \"CRITICAL\"])).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(getHighestSeverity([\"MEDIUM\"])).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getHighestSeverity([\"MEDIUM\"])).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(getHighestSeverity([])).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getHighestSeverity([])).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity","kind":"calls","metadata":{"unresolvedName":"getHighestSeverity"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(getHighestSeverity([\"LOW\", \"HIGH\", \"INFO\"])).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getHighestSeverity([\"LOW\", \"HIGH\", \"INFO\"])).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity","kind":"calls","metadata":{"unresolvedName":"getHighestSeverity"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(getHighestSeverity([\"INFO\", \"WARNING\", \"CRITICAL\"])).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getHighestSeverity([\"INFO\", \"WARNING\", \"CRITICAL\"])).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity","kind":"calls","metadata":{"unresolvedName":"getHighestSeverity"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(getHighestSeverity([\"MEDIUM\"])).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getHighestSeverity([\"MEDIUM\"])).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity","kind":"calls","metadata":{"unresolvedName":"getHighestSeverity"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","kind":"calls","metadata":{"unresolvedName":"deduplicateAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result[0].sourceAlertId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].sourceAlertId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","kind":"calls","metadata":{"unresolvedName":"deduplicateAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","kind":"calls","metadata":{"unresolvedName":"deduplicateAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result[0].sourceAlertId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].sourceAlertId).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","kind":"calls","metadata":{"unresolvedName":"deduplicateAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","kind":"calls","metadata":{"unresolvedName":"deduplicateAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain","kind":"calls","metadata":{"unresolvedName":"makeInsertChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","kind":"calls","metadata":{"unresolvedName":"makeUpdateChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","kind":"calls","metadata":{"unresolvedName":"createCorrelationGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(group.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(group.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(group.highestSeverity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(group.highestSeverity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(group.alertCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(group.alertCount).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain","kind":"calls","metadata":{"unresolvedName":"makeInsertChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","kind":"calls","metadata":{"unresolvedName":"makeUpdateChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","kind":"calls","metadata":{"unresolvedName":"createCorrelationGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(group.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(group.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(group.highestSeverity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(group.highestSeverity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(group.alertCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(group.alertCount).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeInsertChain","kind":"calls","metadata":{"unresolvedName":"makeInsertChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","kind":"calls","metadata":{"unresolvedName":"makeUpdateChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","kind":"calls","metadata":{"unresolvedName":"createCorrelationGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(group.alertCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(group.alertCount).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","kind":"calls","metadata":{"unresolvedName":"makeUpdateChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","kind":"calls","metadata":{"unresolvedName":"updateGroupSeverity"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(setCall).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(setCall).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(mockUpdate).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockUpdate).not.toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:makeUpdateChain","kind":"calls","metadata":{"unresolvedName":"makeUpdateChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","kind":"calls","metadata":{"unresolvedName":"updateGroupSeverity"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(setCall).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(setCall).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","kind":"calls","metadata":{"unresolvedName":"updateGroupSeverity"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(mockUpdate).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockUpdate).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","kind":"calls","metadata":{"unresolvedName":"findRelatedAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result[0].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","kind":"calls","metadata":{"unresolvedName":"findRelatedAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result[0].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].id).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","kind":"calls","metadata":{"unresolvedName":"findRelatedAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","kind":"calls","metadata":{"unresolvedName":"findRelatedAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","kind":"calls","metadata":{"unresolvedName":"findRelatedAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","kind":"calls","metadata":{"unresolvedName":"findRelatedAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","to":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","to":"symbol-name:not","kind":"calls","metadata":{"unresolvedName":"not"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","to":"symbol-name:gte","kind":"calls","metadata":{"unresolvedName":"gte"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","to":"external:alerts.filter","kind":"calls","metadata":{"unresolvedName":"alerts.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:findRelatedAlerts","to":"symbol-name:entitiesOverlap","kind":"calls","metadata":{"unresolvedName":"entitiesOverlap"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:entitiesOverlap","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:entitiesOverlap","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:entitiesOverlap","to":"external:aSet.has","kind":"calls","metadata":{"unresolvedName":"aSet.has"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","to":"external:alerts.map","kind":"calls","metadata":{"unresolvedName":"alerts.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity","kind":"calls","metadata":{"unresolvedName":"getHighestSeverity"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","to":"external:db\n .insert(correlationGroups)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(correlationGroups)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","to":"external:db\n .update(normalizedAlerts)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(normalizedAlerts)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","to":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","to":"external:groupAlerts.map","kind":"calls","metadata":{"unresolvedName":"groupAlerts.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:getHighestSeverity","kind":"calls","metadata":{"unresolvedName":"getHighestSeverity"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","to":"external:db\n .update(correlationGroups)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(correlationGroups)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","to":"external:inputs.map","kind":"calls","metadata":{"unresolvedName":"inputs.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","to":"external:db\n .select({ sourceAlertId: normalizedAlerts.sourceAlertId })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ sourceAlertId: normalizedAlerts.sourceAlertId })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","to":"external:existing.map","kind":"calls","metadata":{"unresolvedName":"existing.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","to":"external:inputs.filter","kind":"calls","metadata":{"unresolvedName":"inputs.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","to":"external:existingSet.has","kind":"calls","metadata":{"unresolvedName":"existingSet.has"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"calls","metadata":{"unresolvedName":"extractEntities"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.emails).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.emails).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.phones.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(result.phones.length).toBeGreaterThan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.ssns).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.ssns).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.emails).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.emails).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.phones).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.phones).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.ssns).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.ssns).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"calls","metadata":{"unresolvedName":"extractEntities"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.emails).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.emails).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"calls","metadata":{"unresolvedName":"extractEntities"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.phones.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(result.phones.length).toBeGreaterThan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"calls","metadata":{"unresolvedName":"extractEntities"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.ssns).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.ssns).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"calls","metadata":{"unresolvedName":"extractEntities"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.emails).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.emails).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.phones).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.phones).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.ssns).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.ssns).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"calls","metadata":{"unresolvedName":"extractEntities"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.emails).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.emails).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeDarkWatchAlert","kind":"calls","metadata":{"unresolvedName":"normalizeDarkWatchAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.sourceAlertId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.sourceAlertId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.entities.emails).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.entities.emails).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeDarkWatchAlert","kind":"calls","metadata":{"unresolvedName":"normalizeDarkWatchAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.sourceAlertId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.sourceAlertId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.entities.emails).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.entities.emails).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeDarkWatchAlert","kind":"calls","metadata":{"unresolvedName":"normalizeDarkWatchAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeDarkWatchAlert","kind":"calls","metadata":{"unresolvedName":"normalizeDarkWatchAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeSpamShieldAlert","kind":"calls","metadata":{"unresolvedName":"normalizeSpamShieldAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeSpamShieldAlert","kind":"calls","metadata":{"unresolvedName":"normalizeSpamShieldAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeSpamShieldAlert","kind":"calls","metadata":{"unresolvedName":"normalizeSpamShieldAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeSpamShieldAlert","kind":"calls","metadata":{"unresolvedName":"normalizeSpamShieldAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeVoicePrintAlert","kind":"calls","metadata":{"unresolvedName":"normalizeVoicePrintAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeVoicePrintAlert","kind":"calls","metadata":{"unresolvedName":"normalizeVoicePrintAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeVoicePrintAlert","kind":"calls","metadata":{"unresolvedName":"normalizeVoicePrintAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeHomeTitleAlert","kind":"calls","metadata":{"unresolvedName":"normalizeHomeTitleAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.entities.emails.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.entities.emails.length).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeHomeTitleAlert","kind":"calls","metadata":{"unresolvedName":"normalizeHomeTitleAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.entities.emails.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.entities.emails.length).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeRemoveBrokersAlert","kind":"calls","metadata":{"unresolvedName":"normalizeRemoveBrokersAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeRemoveBrokersAlert","kind":"calls","metadata":{"unresolvedName":"normalizeRemoveBrokersAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.category).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.category).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.test.ts:<anonymous>","to":"external:expect(result.severity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.severity).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"external:~/server/db/schema/enums","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","to":"external:text.match","kind":"calls","metadata":{"unresolvedName":"text.match"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:mapToNormalizedSeverity","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:mapToNormalizedSeverity","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeDarkWatchAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeDarkWatchAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeDarkWatchAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:mapToNormalizedSeverity","kind":"calls","metadata":{"unresolvedName":"mapToNormalizedSeverity"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeDarkWatchAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"calls","metadata":{"unresolvedName":"extractEntities"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeSpamShieldAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeSpamShieldAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeSpamShieldAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"calls","metadata":{"unresolvedName":"extractEntities"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeVoicePrintAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeVoicePrintAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeVoicePrintAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"calls","metadata":{"unresolvedName":"extractEntities"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeHomeTitleAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeHomeTitleAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeHomeTitleAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:mapToNormalizedSeverity","kind":"calls","metadata":{"unresolvedName":"mapToNormalizedSeverity"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeHomeTitleAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:extractEntities","kind":"calls","metadata":{"unresolvedName":"extractEntities"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeRemoveBrokersAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts:normalizeRemoveBrokersAlert","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockSelect.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockSelect.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","kind":"calls","metadata":{"unresolvedName":"getThreatScore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.score).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.breakdown).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.breakdown).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:daysAgo","kind":"calls","metadata":{"unresolvedName":"daysAgo"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.score).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBeGreaterThan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.breakdown[0].source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.breakdown[0].source).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:getScore","kind":"calls","metadata":{"unresolvedName":"getScore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(highResult.score).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(highResult.score).toBeGreaterThan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.breakdown.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.breakdown.length).toBeGreaterThanOrEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:makeSelectChain","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:makeSelectChain","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:makeSelectChain","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:makeSelectChain","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:makeSelectChain","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:makeSelectChain","to":"external:mockSelect.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockSelect.mockReturnValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:daysAgo","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:daysAgo","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:daysAgo","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","kind":"calls","metadata":{"unresolvedName":"getThreatScore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.score).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.breakdown).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.breakdown).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:daysAgo","kind":"calls","metadata":{"unresolvedName":"daysAgo"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","kind":"calls","metadata":{"unresolvedName":"getThreatScore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.score).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBeGreaterThan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.breakdown[0].source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.breakdown[0].source).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:daysAgo","kind":"calls","metadata":{"unresolvedName":"daysAgo"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","kind":"calls","metadata":{"unresolvedName":"getThreatScore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.score).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBeGreaterThan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:daysAgo","kind":"calls","metadata":{"unresolvedName":"daysAgo"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:getScore","kind":"calls","metadata":{"unresolvedName":"getScore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(highResult.score).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(highResult.score).toBeGreaterThan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","kind":"calls","metadata":{"unresolvedName":"getThreatScore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.score).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:daysAgo","kind":"calls","metadata":{"unresolvedName":"daysAgo"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:makeSelectChain","kind":"calls","metadata":{"unresolvedName":"makeSelectChain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","kind":"calls","metadata":{"unresolvedName":"getThreatScore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.breakdown.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.breakdown.length).toBeGreaterThanOrEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockSelect.mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelect.mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockSelect.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockSelect.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","kind":"calls","metadata":{"unresolvedName":"getAlertTimeline"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.page).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.page).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.limit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.limit).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockSelect.mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelect.mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockSelect.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockSelect.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","kind":"calls","metadata":{"unresolvedName":"getAlertTimeline"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.page).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.page).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.limit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.limit).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockSelect.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockSelect.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockInsert.mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"mockInsert.mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockUpdate.mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"mockUpdate.mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockInsert.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockInsert.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","kind":"calls","metadata":{"unresolvedName":"resolveAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockSelect.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockSelect.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockInsert.mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"mockInsert.mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockUpdate.mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"mockUpdate.mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:mockInsert.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockInsert.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","kind":"calls","metadata":{"unresolvedName":"resolveAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation/normalizer.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","to":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","to":"external:db\n .insert(correlationGroups)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(correlationGroups)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","to":"external:db\n .update(normalizedAlerts)\n .set({ groupId: group.id })\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(normalizedAlerts)\n .set({ groupId: group.id })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","to":"external:db\n .update(normalizedAlerts)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(normalizedAlerts)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:normalizeAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:normalizeAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:normalizeAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:deduplicateAlerts","kind":"calls","metadata":{"unresolvedName":"deduplicateAlerts"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:normalizeAlert","to":"external:db\n .insert(normalizedAlerts)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(normalizedAlerts)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:normalizeAlert","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"symbol-name:gte","kind":"calls","metadata":{"unresolvedName":"gte"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:grouped.has","kind":"calls","metadata":{"unresolvedName":"grouped.has"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:alerts.filter","kind":"calls","metadata":{"unresolvedName":"alerts.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"symbol-name:entitiesOverlap","kind":"calls","metadata":{"unresolvedName":"entitiesOverlap"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:grouped.add","kind":"calls","metadata":{"unresolvedName":"grouped.add"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:groupAlerts.find","kind":"calls","metadata":{"unresolvedName":"groupAlerts.find"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:groupAlerts.filter","kind":"calls","metadata":{"unresolvedName":"groupAlerts.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:ungrouped.map","kind":"calls","metadata":{"unresolvedName":"ungrouped.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:db\n .update(normalizedAlerts)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(normalizedAlerts)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:updateGroupSeverity","kind":"calls","metadata":{"unresolvedName":"updateGroupSeverity"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:mergeEntities","kind":"calls","metadata":{"unresolvedName":"mergeEntities"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"external:groupAlerts.map","kind":"calls","metadata":{"unresolvedName":"groupAlerts.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:correlateAlerts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation/engine.ts:createCorrelationGroup","kind":"calls","metadata":{"unresolvedName":"createCorrelationGroup"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:<anonymous>","to":"external:grouped.has","kind":"calls","metadata":{"unresolvedName":"grouped.has"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:<anonymous>","to":"symbol-name:entitiesOverlap","kind":"calls","metadata":{"unresolvedName":"entitiesOverlap"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:entitiesOverlap","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:entitiesOverlap","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:entitiesOverlap","to":"external:aSet.has","kind":"calls","metadata":{"unresolvedName":"aSet.has"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:mergeEntities","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:mergeEntities","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:mergeEntities","to":"external:entitySets.flatMap","kind":"calls","metadata":{"unresolvedName":"entitySets.flatMap"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:conditions.push","kind":"calls","metadata":{"unresolvedName":"conditions.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:db\n .select()\n .from(normalizedAlerts)\n .leftJoin","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .leftJoin"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:rows.map","kind":"calls","metadata":{"unresolvedName":"rows.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:db\n .select({ count: count() })\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertTimeline","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","to":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","to":"external:db\n .select()\n .from(correlationGroups)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(correlationGroups)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertDetails","to":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"external:conditions.push","kind":"calls","metadata":{"unresolvedName":"conditions.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"external:db\n .select({ count: count() })\n .from(correlationGroups)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(correlationGroups)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"external:db\n .select()\n .from(correlationGroups)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(correlationGroups)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroups","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails","to":"external:db\n .select()\n .from(correlationGroups)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(correlationGroups)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails","to":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getCorrelationGroupDetails","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:ensureGroupForAlert","kind":"calls","metadata":{"unresolvedName":"ensureGroupForAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","to":"external:db\n .update(correlationGroups)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(correlationGroups)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","to":"external:db\n .insert(auditLogs)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(auditLogs)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:resolveAlert","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"external:db\n .select()\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"symbol-name:gte","kind":"calls","metadata":{"unresolvedName":"gte"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"external:alert.createdAt.getTime","kind":"calls","metadata":{"unresolvedName":"alert.createdAt.getTime"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"external:Math.exp","kind":"calls","metadata":{"unresolvedName":"Math.exp"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"external:Object.entries(sourceScores).map","kind":"calls","metadata":{"unresolvedName":"Object.entries(sourceScores).map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"external:db\n .select({ count: count() })\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"symbol-name:gte","kind":"calls","metadata":{"unresolvedName":"gte"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"external:db\n .select({ source: normalizedAlerts.source, count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ source: normalizedAlerts.source, count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"external:db\n .select({ count: count() })\n .from(correlationGroups)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(correlationGroups)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getThreatScore","kind":"calls","metadata":{"unresolvedName":"getThreatScore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"external:Object.fromEntries","kind":"calls","metadata":{"unresolvedName":"Object.fromEntries"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"external:bySeverity.map","kind":"calls","metadata":{"unresolvedName":"bySeverity.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/correlation.service.ts:getAlertStats","to":"external:bySource.map","kind":"calls","metadata":{"unresolvedName":"bySource.map"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","to":"external:~/server/services/alert.publisher","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","to":"external:criticalSources.has","kind":"calls","metadata":{"unresolvedName":"criticalSources.has"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","to":"external:criticalTypes.has","kind":"calls","metadata":{"unresolvedName":"criticalTypes.has"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","to":"external:warningSources.has","kind":"calls","metadata":{"unresolvedName":"warningSources.has"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","to":"external:warningTypes.has","kind":"calls","metadata":{"unresolvedName":"warningTypes.has"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"external:db\n .select()\n .from(exposures)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(exposures)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"external:[\"info\", \"warning\", \"critical\"].indexOf","kind":"calls","metadata":{"unresolvedName":"[\"info\", \"warning\", \"critical\"].indexOf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"external:db\n .update(exposures)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(exposures)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","kind":"calls","metadata":{"unresolvedName":"createAlertForExposure"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"external:db\n .insert(exposures)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(exposures)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","to":"external:db\n .insert(alerts)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(alerts)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"calls","metadata":{"unresolvedName":"publishAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:createAlertForExposure","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"external:expect(severityScore({ source: \"hibp\", dataType: \"email\" })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(severityScore({ source: \"hibp\", dataType: \"email\" })).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","kind":"calls","metadata":{"unresolvedName":"severityScore"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"external:expect(severityScore({ source: \"darkWebForum\", dataType: \"ssn\" })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(severityScore({ source: \"darkWebForum\", dataType: \"ssn\" })).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"external:expect(severityScore({ source: \"shodan\", dataType: \"domain\" })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(severityScore({ source: \"shodan\", dataType: \"domain\" })).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"external:expect(severityScore({ source: \"securityTrails\", dataType: \"email\" })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(severityScore({ source: \"securityTrails\", dataType: \"email\" })).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"external:expect(severityScore({ source: \"securityTrails\", dataType: \"domain\" })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(severityScore({ source: \"securityTrails\", dataType: \"domain\" })).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"external:expect(severityScore({ source: \"hibp\", dataType: \"email\" })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(severityScore({ source: \"hibp\", dataType: \"email\" })).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","kind":"calls","metadata":{"unresolvedName":"severityScore"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"external:expect(severityScore({ source: \"darkWebForum\", dataType: \"ssn\" })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(severityScore({ source: \"darkWebForum\", dataType: \"ssn\" })).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","kind":"calls","metadata":{"unresolvedName":"severityScore"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"external:expect(severityScore({ source: \"shodan\", dataType: \"domain\" })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(severityScore({ source: \"shodan\", dataType: \"domain\" })).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","kind":"calls","metadata":{"unresolvedName":"severityScore"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"external:expect(severityScore({ source: \"securityTrails\", dataType: \"email\" })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(severityScore({ source: \"securityTrails\", dataType: \"email\" })).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","kind":"calls","metadata":{"unresolvedName":"severityScore"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"external:expect(severityScore({ source: \"securityTrails\", dataType: \"domain\" })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(severityScore({ source: \"securityTrails\", dataType: \"domain\" })).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:severityScore","kind":"calls","metadata":{"unresolvedName":"severityScore"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"external:node:crypto","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:isCircuitOpen","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:isCircuitOpen","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:isCircuitOpen","to":"external:circuits.get","kind":"calls","metadata":{"unresolvedName":"circuits.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:isCircuitOpen","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:isCircuitOpen","to":"external:circuits.delete","kind":"calls","metadata":{"unresolvedName":"circuits.delete"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordFailure","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordFailure","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordFailure","to":"external:circuits.get","kind":"calls","metadata":{"unresolvedName":"circuits.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordFailure","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordFailure","to":"external:circuits.set","kind":"calls","metadata":{"unresolvedName":"circuits.set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordSuccess","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordSuccess","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordSuccess","to":"external:circuits.delete","kind":"calls","metadata":{"unresolvedName":"circuits.delete"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","to":"symbol-name:isCircuitOpen","kind":"calls","metadata":{"unresolvedName":"isCircuitOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","to":"external:AbortSignal.timeout","kind":"calls","metadata":{"unresolvedName":"AbortSignal.timeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","to":"symbol-name:recordFailure","kind":"calls","metadata":{"unresolvedName":"recordFailure"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:recordSuccess","kind":"calls","metadata":{"unresolvedName":"recordSuccess"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:hashValue","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:hashValue","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:hashValue","to":"external:createHash(\"sha256\").update(value.toLowerCase().trim()).digest","kind":"calls","metadata":{"unresolvedName":"createHash(\"sha256\").update(value.toLowerCase().trim()).digest"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:hashValue","to":"external:createHash(\"sha256\").update","kind":"calls","metadata":{"unresolvedName":"createHash(\"sha256\").update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:hashValue","to":"symbol-name:createHash","kind":"calls","metadata":{"unresolvedName":"createHash"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:hashValue","to":"external:value.toLowerCase().trim","kind":"calls","metadata":{"unresolvedName":"value.toLowerCase().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:hashValue","to":"external:value.toLowerCase","kind":"calls","metadata":{"unresolvedName":"value.toLowerCase"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","kind":"calls","metadata":{"unresolvedName":"fetchWithCircuit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP","to":"external:res.json","kind":"calls","metadata":{"unresolvedName":"res.json"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP","to":"external:breaches.map","kind":"calls","metadata":{"unresolvedName":"breaches.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP","to":"symbol-name:hashValue","kind":"calls","metadata":{"unresolvedName":"hashValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","to":"external:identifier.includes","kind":"calls","metadata":{"unresolvedName":"identifier.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","to":"external:identifier.split","kind":"calls","metadata":{"unresolvedName":"identifier.split"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","kind":"calls","metadata":{"unresolvedName":"fetchWithCircuit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","to":"external:res.json","kind":"calls","metadata":{"unresolvedName":"res.json"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","to":"external:(data.subdomains ?? []).slice(0, 20).map","kind":"calls","metadata":{"unresolvedName":"(data.subdomains ?? []).slice(0, 20).map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","to":"external:(data.subdomains ?? []).slice","kind":"calls","metadata":{"unresolvedName":"(data.subdomains ?? []).slice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","to":"symbol-name:hashValue","kind":"calls","metadata":{"unresolvedName":"hashValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","kind":"calls","metadata":{"unresolvedName":"fetchWithCircuit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys","to":"external:res.json","kind":"calls","metadata":{"unresolvedName":"res.json"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys","to":"external:hits.map","kind":"calls","metadata":{"unresolvedName":"hits.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys","to":"symbol-name:hashValue","kind":"calls","metadata":{"unresolvedName":"hashValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:fetchWithCircuit","kind":"calls","metadata":{"unresolvedName":"fetchWithCircuit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan","to":"external:res.json","kind":"calls","metadata":{"unresolvedName":"res.json"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan","to":"external:matches.map","kind":"calls","metadata":{"unresolvedName":"matches.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan","to":"symbol-name:hashValue","kind":"calls","metadata":{"unresolvedName":"hashValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanForums","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanForums","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanForums","to":"external:identifier.includes","kind":"calls","metadata":{"unresolvedName":"identifier.includes"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanForums","to":"symbol-name:hashValue","kind":"calls","metadata":{"unresolvedName":"hashValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:mockCountSelectFromWhere","kind":"calls","metadata":{"unresolvedName":"mockCountSelectFromWhere"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:checkTierLimits","kind":"calls","metadata":{"unresolvedName":"checkTierLimits"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.allowed).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.allowed).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockCountSelectFromWhere.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCountSelectFromWhere.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:checkTierLimits","kind":"calls","metadata":{"unresolvedName":"checkTierLimits"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.allowed).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.allowed).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockCountSelectFromWhere.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCountSelectFromWhere.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:checkTierLimits","kind":"calls","metadata":{"unresolvedName":"checkTierLimits"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.allowed).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.allowed).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockInsertValuesReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInsertValuesReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:addWatchlistItem","kind":"calls","metadata":{"unresolvedName":"addWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.type).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.value).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockInsertValuesReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInsertValuesReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:addWatchlistItem","kind":"calls","metadata":{"unresolvedName":"addWatchlistItem"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.type).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.value).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(removeWatchlistItem(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(removeWatchlistItem(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:removeWatchlistItem","kind":"calls","metadata":{"unresolvedName":"removeWatchlistItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(removeWatchlistItem(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(removeWatchlistItem(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:removeWatchlistItem","kind":"calls","metadata":{"unresolvedName":"removeWatchlistItem"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockCountSelectFromWhere.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCountSelectFromWhere.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereOrderByLimitOffset.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereOrderByLimitOffset.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","kind":"calls","metadata":{"unresolvedName":"getExposures"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.items).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.page).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.page).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockCountSelectFromWhere.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCountSelectFromWhere.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereOrderByLimitOffset.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereOrderByLimitOffset.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","kind":"calls","metadata":{"unresolvedName":"getExposures"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.items).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.test.ts:<anonymous>","to":"external:expect(result.page).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.page).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"external:node:crypto","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"external:~/server/lib/tier","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:hashValue","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:hashValue","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:hashValue","to":"external:createHash(\"sha256\").update(value.toLowerCase().trim()).digest","kind":"calls","metadata":{"unresolvedName":"createHash(\"sha256\").update(value.toLowerCase().trim()).digest"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:hashValue","to":"external:createHash(\"sha256\").update","kind":"calls","metadata":{"unresolvedName":"createHash(\"sha256\").update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:hashValue","to":"symbol-name:createHash","kind":"calls","metadata":{"unresolvedName":"createHash"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:hashValue","to":"external:value.toLowerCase().trim","kind":"calls","metadata":{"unresolvedName":"value.toLowerCase().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:hashValue","to":"external:value.toLowerCase","kind":"calls","metadata":{"unresolvedName":"value.toLowerCase"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","kind":"calls","metadata":{"unresolvedName":"getActiveTrials"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getSubscription","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getEffectiveTier","kind":"calls","metadata":{"unresolvedName":"getEffectiveTier"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems","to":"external:db\n .select()\n .from(watchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(watchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getWatchlistItems","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"symbol-name:hashValue","kind":"calls","metadata":{"unresolvedName":"hashValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"external:db\n .select()\n .from(watchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(watchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"external:db\n .update(watchlistItems)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(watchlistItems)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"external:db\n .insert(watchlistItems)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(watchlistItems)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:addWatchlistItem","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","to":"external:db\n .select()\n .from(watchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(watchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","to":"external:db\n .update(watchlistItems)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(watchlistItems)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:removeWatchlistItem","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"external:conditions.push","kind":"calls","metadata":{"unresolvedName":"conditions.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"external:db\n .select({ count: count() })\n .from(exposures)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(exposures)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"external:db\n .select()\n .from(exposures)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(exposures)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposures","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","to":"external:db\n .select()\n .from(exposures)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(exposures)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","to":"external:db\n .select()\n .from(watchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(watchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getExposureDetails","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","to":"external:db\n .select({ count: count() })\n .from(exposures)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(exposures)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:checkTierLimits","to":"symbol-name:gte","kind":"calls","metadata":{"unresolvedName":"gte"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"symbol-name:checkTierLimits","kind":"calls","metadata":{"unresolvedName":"checkTierLimits"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"external:scanStates.get","kind":"calls","metadata":{"unresolvedName":"scanStates.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"external:scanStates.set","kind":"calls","metadata":{"unresolvedName":"scanStates.set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"external:db\n .select()\n .from(watchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(watchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"external:processScan(userId, sub.id, items).catch","kind":"calls","metadata":{"unresolvedName":"processScan(userId, sub.id, items).catch"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","kind":"calls","metadata":{"unresolvedName":"processScan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:runScan","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:<anonymous>","to":"external:scanStates.get","kind":"calls","metadata":{"unresolvedName":"scanStates.get"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"external:sourcePromises.push","kind":"calls","metadata":{"unresolvedName":"sourcePromises.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanHIBP","kind":"calls","metadata":{"unresolvedName":"scanHIBP"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanSecurityTrails","kind":"calls","metadata":{"unresolvedName":"scanSecurityTrails"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanCensys","kind":"calls","metadata":{"unresolvedName":"scanCensys"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanShodan","kind":"calls","metadata":{"unresolvedName":"scanShodan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/scan.engine.ts:scanForums","kind":"calls","metadata":{"unresolvedName":"scanForums"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"external:Promise.allSettled","kind":"calls","metadata":{"unresolvedName":"Promise.allSettled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"external:allResults.push","kind":"calls","metadata":{"unresolvedName":"allResults.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"external:r.value.map","kind":"calls","metadata":{"unresolvedName":"r.value.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"external:scanStates.get","kind":"calls","metadata":{"unresolvedName":"scanStates.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch/alert.pipeline.ts:processExposure","kind":"calls","metadata":{"unresolvedName":"processExposure"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:processScan","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getScanStatus","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getScanStatus","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getScanStatus","to":"external:scanStates.get","kind":"calls","metadata":{"unresolvedName":"scanStates.get"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","to":"external:db\n .select({ count: count() })\n .from(securityReports)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(securityReports)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","to":"external:db\n .select()\n .from(securityReports)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(securityReports)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/darkwatch.service.ts:getReports","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:welcomeEmail","kind":"calls","metadata":{"unresolvedName":"welcomeEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.subject).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.html).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.html).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.text).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.text).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:welcomeEmail","kind":"calls","metadata":{"unresolvedName":"welcomeEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.subject).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.html).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.html).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.text).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.text).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:alertNotificationEmail","kind":"calls","metadata":{"unresolvedName":"alertNotificationEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.subject).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.html).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.html).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.text).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.text).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(infoResult.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(infoResult.subject).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(warnResult.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(warnResult.subject).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:alertNotificationEmail","kind":"calls","metadata":{"unresolvedName":"alertNotificationEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.subject).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.html).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.html).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.text).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.text).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:alertNotificationEmail","kind":"calls","metadata":{"unresolvedName":"alertNotificationEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(infoResult.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(infoResult.subject).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(warnResult.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(warnResult.subject).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:passwordResetEmail","kind":"calls","metadata":{"unresolvedName":"passwordResetEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.html).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.html).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.text).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.text).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.subject).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:passwordResetEmail","kind":"calls","metadata":{"unresolvedName":"passwordResetEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.html).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.html).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.text).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.text).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.subject).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:familyInviteEmail","kind":"calls","metadata":{"unresolvedName":"familyInviteEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.html).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.html).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.subject).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:familyInviteEmail","kind":"calls","metadata":{"unresolvedName":"familyInviteEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.html).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.html).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.subject).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:billingReceiptEmail","kind":"calls","metadata":{"unresolvedName":"billingReceiptEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.html).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.html).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.subject).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:billingReceiptEmail","kind":"calls","metadata":{"unresolvedName":"billingReceiptEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.html).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.html).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.test.ts:<anonymous>","to":"external:expect(result.subject).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.subject).toContain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedWrapper","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedWrapper","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedText","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedText","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:welcomeEmail","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:welcomeEmail","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:welcomeEmail","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedWrapper","kind":"calls","metadata":{"unresolvedName":"brandedWrapper"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:welcomeEmail","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedText","kind":"calls","metadata":{"unresolvedName":"brandedText"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:alertNotificationEmail","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:alertNotificationEmail","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:alertNotificationEmail","to":"external:severity.toUpperCase","kind":"calls","metadata":{"unresolvedName":"severity.toUpperCase"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:alertNotificationEmail","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedWrapper","kind":"calls","metadata":{"unresolvedName":"brandedWrapper"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:alertNotificationEmail","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedText","kind":"calls","metadata":{"unresolvedName":"brandedText"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:passwordResetEmail","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:passwordResetEmail","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:passwordResetEmail","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedWrapper","kind":"calls","metadata":{"unresolvedName":"brandedWrapper"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:passwordResetEmail","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedText","kind":"calls","metadata":{"unresolvedName":"brandedText"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:familyInviteEmail","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:familyInviteEmail","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:familyInviteEmail","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedWrapper","kind":"calls","metadata":{"unresolvedName":"brandedWrapper"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:familyInviteEmail","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedText","kind":"calls","metadata":{"unresolvedName":"brandedText"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:billingReceiptEmail","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:billingReceiptEmail","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:billingReceiptEmail","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedWrapper","kind":"calls","metadata":{"unresolvedName":"brandedWrapper"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:billingReceiptEmail","to":"/Users/mike/Code/Kordant/web/src/server/services/email.templates.ts:brandedText","kind":"calls","metadata":{"unresolvedName":"brandedText"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","kind":"calls","metadata":{"unresolvedName":"getFamilyGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.members).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.members).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.owner.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.owner.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(getFamilyGroup(\"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getFamilyGroup(\"nonexistent\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","kind":"calls","metadata":{"unresolvedName":"getFamilyGroup"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.members).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.members).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.owner.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.owner.id).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(getFamilyGroup(\"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getFamilyGroup(\"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","kind":"calls","metadata":{"unresolvedName":"getFamilyGroup"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockInviteFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInviteFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockUserFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUserFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockInsertReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInsertReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","kind":"calls","metadata":{"unresolvedName":"inviteMember"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.email).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.email).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockInviteFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInviteFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockUserFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUserFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockInsertReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInsertReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","kind":"calls","metadata":{"unresolvedName":"inviteMember"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.email).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.email).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockInviteFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInviteFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","kind":"calls","metadata":{"unresolvedName":"inviteMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockInviteFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInviteFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockUserFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUserFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","kind":"calls","metadata":{"unresolvedName":"inviteMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockDeleteWhere.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDeleteWhere.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","kind":"calls","metadata":{"unresolvedName":"removeMember"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockDeleteWhere.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDeleteWhere.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","kind":"calls","metadata":{"unresolvedName":"removeMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","kind":"calls","metadata":{"unresolvedName":"removeMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","kind":"calls","metadata":{"unresolvedName":"removeMember"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockUpdateSetWhereReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateSetWhereReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","kind":"calls","metadata":{"unresolvedName":"updateMemberRole"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.role).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.role).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockUpdateSetWhereReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateSetWhereReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","kind":"calls","metadata":{"unresolvedName":"updateMemberRole"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:expect(result.role).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.role).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","kind":"calls","metadata":{"unresolvedName":"updateMemberRole"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockGroupFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGroupFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","kind":"calls","metadata":{"unresolvedName":"transferOwnership"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockGroupFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGroupFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockMemberFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMemberFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","kind":"calls","metadata":{"unresolvedName":"transferOwnership"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"external:mockGroupFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGroupFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","kind":"calls","metadata":{"unresolvedName":"transferOwnership"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"external:~/server/db/schema/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"external:~/server/db/schema/subscription","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"external:~/server/db/schema/invitation","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","to":"external:db.query.familyGroupMembers.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.familyGroupMembers.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroup","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:createFamilyGroup","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:createFamilyGroup","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:createFamilyGroup","to":"external:db\n .insert(familyGroups)\n .values({ name, ownerId })\n .returning","kind":"calls","metadata":{"unresolvedName":"db\n .insert(familyGroups)\n .values({ name, ownerId })\n .returning"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:createFamilyGroup","to":"external:db\n .insert(familyGroups)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(familyGroups)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:createFamilyGroup","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:createFamilyGroup","to":"external:db.insert(familyGroupMembers).values","kind":"calls","metadata":{"unresolvedName":"db.insert(familyGroupMembers).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:createFamilyGroup","to":"external:db.insert","kind":"calls","metadata":{"unresolvedName":"db.insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroupWithMembers","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroupWithMembers","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroupWithMembers","to":"external:db.query.familyGroups.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.familyGroups.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:getFamilyGroupWithMembers","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","to":"external:db.query.invitations.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.invitations.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","to":"external:db.query.users.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.users.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","to":"external:db.query.familyGroupMembers.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.familyGroupMembers.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","to":"external:expiresAt.setDate","kind":"calls","metadata":{"unresolvedName":"expiresAt.setDate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","to":"external:expiresAt.getDate","kind":"calls","metadata":{"unresolvedName":"expiresAt.getDate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","to":"external:db\n .insert(invitations)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(invitations)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:inviteMember","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","to":"external:db.query.familyGroupMembers.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.familyGroupMembers.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","to":"external:db\n .delete(familyGroupMembers)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .delete(familyGroupMembers)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:removeMember","to":"external:db\n .delete","kind":"calls","metadata":{"unresolvedName":"db\n .delete"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","to":"external:db.query.familyGroupMembers.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.familyGroupMembers.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","to":"external:db\n .update(familyGroupMembers)\n .set({ role })\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(familyGroupMembers)\n .set({ role })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","to":"external:db\n .update(familyGroupMembers)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(familyGroupMembers)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:updateMemberRole","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"external:db.query.familyGroups.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.familyGroups.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"external:db.query.familyGroupMembers.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.familyGroupMembers.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"external:db.transaction","kind":"calls","metadata":{"unresolvedName":"db.transaction"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"external:tx\n .update(familyGroupMembers)\n .set({ role: \"admin\" })\n .where","kind":"calls","metadata":{"unresolvedName":"tx\n .update(familyGroupMembers)\n .set({ role: \"admin\" })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"external:tx\n .update(familyGroupMembers)\n .set","kind":"calls","metadata":{"unresolvedName":"tx\n .update(familyGroupMembers)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"external:tx\n .update","kind":"calls","metadata":{"unresolvedName":"tx\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"external:tx\n .update(familyGroupMembers)\n .set({ role: \"owner\" })\n .where","kind":"calls","metadata":{"unresolvedName":"tx\n .update(familyGroupMembers)\n .set({ role: \"owner\" })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"external:tx\n .update(familyGroups)\n .set({ ownerId: newOwnerId })\n .where","kind":"calls","metadata":{"unresolvedName":"tx\n .update(familyGroups)\n .set({ ownerId: newOwnerId })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:transferOwnership","to":"external:tx\n .update(familyGroups)\n .set","kind":"calls","metadata":{"unresolvedName":"tx\n .update(familyGroups)\n .set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/family.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","to":"external:tx\n .update(familyGroupMembers)\n .set({ role: \"admin\" })\n .where","kind":"calls","metadata":{"unresolvedName":"tx\n .update(familyGroupMembers)\n .set({ role: \"admin\" })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","to":"external:tx\n .update(familyGroupMembers)\n .set","kind":"calls","metadata":{"unresolvedName":"tx\n .update(familyGroupMembers)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","to":"external:tx\n .update","kind":"calls","metadata":{"unresolvedName":"tx\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","to":"external:tx\n .update(familyGroupMembers)\n .set({ role: \"owner\" })\n .where","kind":"calls","metadata":{"unresolvedName":"tx\n .update(familyGroupMembers)\n .set({ role: \"owner\" })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","to":"external:tx\n .update(familyGroups)\n .set({ ownerId: newOwnerId })\n .where","kind":"calls","metadata":{"unresolvedName":"tx\n .update(familyGroups)\n .set({ ownerId: newOwnerId })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/family.service.ts:<anonymous>","to":"external:tx\n .update(familyGroups)\n .set","kind":"calls","metadata":{"unresolvedName":"tx\n .update(familyGroups)\n .set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:levenshteinDistance","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:levenshteinDistance","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:levenshteinDistance","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames","to":"external:name1.toLowerCase().trim","kind":"calls","metadata":{"unresolvedName":"name1.toLowerCase().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames","to":"external:name1.toLowerCase","kind":"calls","metadata":{"unresolvedName":"name1.toLowerCase"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames","to":"external:name2.toLowerCase().trim","kind":"calls","metadata":{"unresolvedName":"name2.toLowerCase().trim"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames","to":"external:name2.toLowerCase","kind":"calls","metadata":{"unresolvedName":"name2.toLowerCase"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:levenshteinDistance","kind":"calls","metadata":{"unresolvedName":"levenshteinDistance"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:severityForChange","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:severityForChange","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:severityForChange","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:detectChanges","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:detectChanges","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:detectChanges","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:fuzzyMatchNames","kind":"calls","metadata":{"unresolvedName":"fuzzyMatchNames"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:detectChanges","to":"external:changes.push","kind":"calls","metadata":{"unresolvedName":"changes.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:detectChanges","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:severityForChange","kind":"calls","metadata":{"unresolvedName":"severityForChange"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:fetchCountyRecords","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:fetchCountyRecords","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:fetchCountyRecords","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseDeedRecords","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseDeedRecords","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseDeedRecords","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress","to":"external:res.json","kind":"calls","metadata":{"unresolvedName":"res.json"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot","to":"external:db\n .select()\n .from(propertySnapshots)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(propertySnapshots)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseAddress","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseAddress","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseAddress","to":"external:address.split(\",\").map","kind":"calls","metadata":{"unresolvedName":"address.split(\",\").map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseAddress","to":"external:address.split","kind":"calls","metadata":{"unresolvedName":"address.split"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseAddress","to":"external:p.trim","kind":"calls","metadata":{"unresolvedName":"p.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseAddress","to":"external:lastPart.split(\" \").filter","kind":"calls","metadata":{"unresolvedName":"lastPart.split(\" \").filter"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseAddress","to":"external:lastPart.split","kind":"calls","metadata":{"unresolvedName":"lastPart.split"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"external:~/server/services/alert.publisher","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"external:~/server/lib/tier","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","kind":"calls","metadata":{"unresolvedName":"getActiveTrials"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSubscription","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getEffectiveTier","kind":"calls","metadata":{"unresolvedName":"getEffectiveTier"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","kind":"calls","metadata":{"unresolvedName":"hasFeatureAccess"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","to":"external:db\n .select()\n .from(propertyWatchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(propertyWatchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getProperties","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","kind":"calls","metadata":{"unresolvedName":"hasFeatureAccess"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:parseAddress","kind":"calls","metadata":{"unresolvedName":"parseAddress"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:geocodeAddress","kind":"calls","metadata":{"unresolvedName":"geocodeAddress"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","to":"external:db\n .insert(propertyWatchlistItems)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(propertyWatchlistItems)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","to":"external:db.insert(propertySnapshots).values","kind":"calls","metadata":{"unresolvedName":"db.insert(propertySnapshots).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:addProperty","to":"external:db.insert","kind":"calls","metadata":{"unresolvedName":"db.insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","kind":"calls","metadata":{"unresolvedName":"hasFeatureAccess"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","to":"external:db\n .select()\n .from(propertyWatchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(propertyWatchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","to":"external:db\n .update(propertyWatchlistItems)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(propertyWatchlistItems)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:removeProperty","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","kind":"calls","metadata":{"unresolvedName":"hasFeatureAccess"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","to":"external:db\n .select()\n .from(propertyWatchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(propertyWatchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","to":"external:db\n .select()\n .from(propertySnapshots)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(propertySnapshots)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getSnapshots","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","kind":"calls","metadata":{"unresolvedName":"hasFeatureAccess"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","to":"external:db\n .select()\n .from(propertyWatchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(propertyWatchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","to":"external:conditions.push","kind":"calls","metadata":{"unresolvedName":"conditions.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","to":"external:db\n .select()\n .from(propertyChanges)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(propertyChanges)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getChanges","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","kind":"calls","metadata":{"unresolvedName":"hasFeatureAccess"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:db\n .select()\n .from(propertyChanges)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(propertyChanges)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:items.map","kind":"calls","metadata":{"unresolvedName":"items.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:propertyIds.map","kind":"calls","metadata":{"unresolvedName":"propertyIds.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:properties.filter(Boolean).map","kind":"calls","metadata":{"unresolvedName":"properties.filter(Boolean).map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:properties.filter","kind":"calls","metadata":{"unresolvedName":"properties.filter"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:allChanges.map","kind":"calls","metadata":{"unresolvedName":"allChanges.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:getAlerts","to":"external:propertyMap.get","kind":"calls","metadata":{"unresolvedName":"propertyMap.get"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","to":"external:db\n .select({ count: count() })\n .from(propertySnapshots)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(propertySnapshots)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:checkTierLimits","to":"symbol-name:gte","kind":"calls","metadata":{"unresolvedName":"gte"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:hasFeatureAccess","kind":"calls","metadata":{"unresolvedName":"hasFeatureAccess"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"symbol-name:checkTierLimits","kind":"calls","metadata":{"unresolvedName":"checkTierLimits"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"external:db\n .select()\n .from(propertyWatchlistItems)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(propertyWatchlistItems)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:getLastSnapshot","kind":"calls","metadata":{"unresolvedName":"getLastSnapshot"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/scanner.ts:fetchCountyRecords","kind":"calls","metadata":{"unresolvedName":"fetchCountyRecords"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle/change.detector.ts:detectChanges","kind":"calls","metadata":{"unresolvedName":"detectChanges"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"external:db\n .insert(propertySnapshots)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(propertySnapshots)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:createPropertyChange","kind":"calls","metadata":{"unresolvedName":"createPropertyChange"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:runScan","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:createPropertyChange","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:createPropertyChange","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:createPropertyChange","to":"external:db\n .insert(propertyChanges)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(propertyChanges)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:createPropertyChange","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:createPropertyChange","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","kind":"calls","metadata":{"unresolvedName":"generateAlert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","to":"external:db\n .select({ address: propertyWatchlistItems.address })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ address: propertyWatchlistItems.address })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","to":"external:db\n .insert(alerts)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(alerts)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","to":"external:db\n .insert(normalizedAlerts)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(normalizedAlerts)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"calls","metadata":{"unresolvedName":"publishAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/hometitle.service.ts:generateAlert","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:mockResendSend.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockResendSend.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","kind":"calls","metadata":{"unresolvedName":"sendEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockResendSend).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockResendSend).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockResendSend).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockResendSend).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendEmail(\"test@example.com\", \"Subject\", \"<p>Body</p>\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(sendEmail(\"test@example.com\", \"Subject\", \"<p>Body</p>\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:mockResendSend.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockResendSend.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","kind":"calls","metadata":{"unresolvedName":"sendEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockResendSend).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockResendSend).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","kind":"calls","metadata":{"unresolvedName":"sendEmail"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockResendSend).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockResendSend).not.toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:mockResendSend.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockResendSend.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendEmail(\"test@example.com\", \"Subject\", \"<p>Body</p>\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(sendEmail(\"test@example.com\", \"Subject\", \"<p>Body</p>\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","kind":"calls","metadata":{"unresolvedName":"sendEmail"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:mockMessagingSend.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMessagingSend.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","kind":"calls","metadata":{"unresolvedName":"sendPush"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockMessagingSend).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockMessagingSend).toHaveBeenCalledTimes"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockMessagingSend).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockMessagingSend).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockMessagingSend).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockMessagingSend).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:mockMessagingSend\n .mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockMessagingSend\n .mockRejectedValueOnce"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:mockMessagingSend.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockMessagingSend.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","kind":"calls","metadata":{"unresolvedName":"sendPush"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockMessagingSend).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockMessagingSend).toHaveBeenCalledTimes"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockMessagingSend).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockMessagingSend).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","kind":"calls","metadata":{"unresolvedName":"sendPush"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockMessagingSend).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockMessagingSend).not.toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:mockMessagingSend\n .mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockMessagingSend\n .mockRejectedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","kind":"calls","metadata":{"unresolvedName":"sendPush"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:mockTwilioCreate.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockTwilioCreate.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","kind":"calls","metadata":{"unresolvedName":"sendSMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockTwilioCreate).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockTwilioCreate).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toMatchObject"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendSMS(\"+12\", \"Hello\")).rejects.toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(sendSMS(\"+12\", \"Hello\")).rejects.toMatchObject"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendSMS(\"+1234567890\", \"Hello\")).resolves.toEqual","kind":"calls","metadata":{"unresolvedName":"expect(sendSMS(\"+1234567890\", \"Hello\")).resolves.toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendSMS(\"+447911123456\", \"Hello\")).resolves.toEqual","kind":"calls","metadata":{"unresolvedName":"expect(sendSMS(\"+447911123456\", \"Hello\")).resolves.toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:mockTwilioCreate.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockTwilioCreate.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","kind":"calls","metadata":{"unresolvedName":"sendSMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(mockTwilioCreate).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockTwilioCreate).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","kind":"calls","metadata":{"unresolvedName":"sendSMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(sendSMS(\"1234567890\", \"Hello\")).rejects.toMatchObject"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendSMS(\"+12\", \"Hello\")).rejects.toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(sendSMS(\"+12\", \"Hello\")).rejects.toMatchObject"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:mockTwilioCreate.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockTwilioCreate.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendSMS(\"+1234567890\", \"Hello\")).resolves.toEqual","kind":"calls","metadata":{"unresolvedName":"expect(sendSMS(\"+1234567890\", \"Hello\")).resolves.toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","kind":"calls","metadata":{"unresolvedName":"sendSMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(sendSMS(\"+447911123456\", \"Hello\")).resolves.toEqual","kind":"calls","metadata":{"unresolvedName":"expect(sendSMS(\"+447911123456\", \"Hello\")).resolves.toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.insert as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.insert as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","kind":"calls","metadata":{"unresolvedName":"registerDevice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(db.insert).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(db.insert).toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(db.update).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(db.update).toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.insert as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.insert as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","kind":"calls","metadata":{"unresolvedName":"registerDevice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(db.insert).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(db.insert).toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","kind":"calls","metadata":{"unresolvedName":"registerDevice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(db.update).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(db.update).toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","kind":"calls","metadata":{"unresolvedName":"registerDevice"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","kind":"calls","metadata":{"unresolvedName":"unregisterDevice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toMatchObject"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","kind":"calls","metadata":{"unresolvedName":"unregisterDevice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","kind":"calls","metadata":{"unresolvedName":"unregisterDevice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(unregisterDevice(\"u1\", \"nonexistent\")).rejects.toMatchObject"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices","kind":"calls","metadata":{"unresolvedName":"listDevices"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices","kind":"calls","metadata":{"unresolvedName":"listDevices"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","kind":"calls","metadata":{"unresolvedName":"getPreferences"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(result).toMatchObject"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","kind":"calls","metadata":{"unresolvedName":"getPreferences"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(result).toMatchObject"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","kind":"calls","metadata":{"unresolvedName":"getPreferences"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","kind":"calls","metadata":{"unresolvedName":"updatePreferences"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result.smsEnabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.smsEnabled).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.insert as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.insert as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(db.insert).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(db.insert).toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.update as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.update as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","kind":"calls","metadata":{"unresolvedName":"updatePreferences"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result.smsEnabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.smsEnabled).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:(db.insert as ReturnType<typeof vi.fn>).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"(db.insert as ReturnType<typeof vi.fn>).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","kind":"calls","metadata":{"unresolvedName":"updatePreferences"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.test.ts:<anonymous>","to":"external:expect(db.insert).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(db.insert).toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"external:~/server/db/schema/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"external:~/server/db/schema/notifications","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"external:~/server/lib/resend","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"external:~/server/lib/fcm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"external:~/server/lib/twilio","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","to":"external:resend.emails.send","kind":"calls","metadata":{"unresolvedName":"resend.emails.send"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendEmail","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","to":"external:db\n .select()\n .from(deviceTokens)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(deviceTokens)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","to":"external:tokens.map","kind":"calls","metadata":{"unresolvedName":"tokens.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","to":"external:messaging.send","kind":"calls","metadata":{"unresolvedName":"messaging.send"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendPush","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","to":"external:e164Regex.test","kind":"calls","metadata":{"unresolvedName":"e164Regex.test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","to":"external:twilioClient.messages.create","kind":"calls","metadata":{"unresolvedName":"twilioClient.messages.create"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:sendSMS","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","to":"external:db\n .select()\n .from(deviceTokens)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(deviceTokens)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","to":"external:db\n .update(deviceTokens)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(deviceTokens)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","to":"external:db\n .insert(deviceTokens)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(deviceTokens)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:registerDevice","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","to":"external:db\n .select()\n .from(deviceTokens)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(deviceTokens)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","to":"external:db\n .update(deviceTokens)\n .set({ isActive: false })\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(deviceTokens)\n .set({ isActive: false })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","to":"external:db\n .update(deviceTokens)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(deviceTokens)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:unregisterDevice","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices","to":"external:db\n .select()\n .from(deviceTokens)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(deviceTokens)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:listDevices","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","to":"external:db\n .select()\n .from(notificationPreferences)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(notificationPreferences)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:getPreferences","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","to":"external:db\n .select()\n .from(notificationPreferences)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(notificationPreferences)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","to":"external:db\n .update(notificationPreferences)\n .set(prefs)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(notificationPreferences)\n .set(prefs)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","to":"external:db\n .update(notificationPreferences)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(notificationPreferences)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","to":"external:db\n .insert(notificationPreferences)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(notificationPreferences)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/notification.service.ts:updatePreferences","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getActiveBrokers","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getActiveBrokers","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getBrokerByDomain","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getBrokerByDomain","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getBrokerByDomain","to":"external:brokerRegistry.find","kind":"calls","metadata":{"unresolvedName":"brokerRegistry.find"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getBrokerByName","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getBrokerByName","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getBrokerByName","to":"external:brokerRegistry.find","kind":"calls","metadata":{"unresolvedName":"brokerRegistry.find"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:submitAutomatedRemoval","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:submitAutomatedRemoval","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:submitAutomatedRemoval","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:generateFormPayload","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:generateFormPayload","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:sendRemovalEmail","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:sendRemovalEmail","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:trackRemovalStatus","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:trackRemovalStatus","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:mockCountSelectFromWhere","kind":"calls","metadata":{"unresolvedName":"mockCountSelectFromWhere"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerRegistry","kind":"calls","metadata":{"unresolvedName":"getBrokerRegistry"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(brokers.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(brokers.length).toBeGreaterThan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(brokers[0]).toHaveProperty","kind":"calls","metadata":{"unresolvedName":"expect(brokers[0]).toHaveProperty"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerRegistry","kind":"calls","metadata":{"unresolvedName":"getBrokerRegistry"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(brokers.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(brokers.length).toBeGreaterThan"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(brokers[0]).toHaveProperty","kind":"calls","metadata":{"unresolvedName":"expect(brokers[0]).toHaveProperty"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockInsertValuesReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInsertValuesReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","kind":"calls","metadata":{"unresolvedName":"createRemovalRequest"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockInsertValuesReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInsertValuesReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","kind":"calls","metadata":{"unresolvedName":"createRemovalRequest"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","kind":"calls","metadata":{"unresolvedName":"createRemovalRequest"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","kind":"calls","metadata":{"unresolvedName":"createRemovalRequest"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockCountSelectFromWhere.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCountSelectFromWhere.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereOrderByLimitOffset.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereOrderByLimitOffset.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","kind":"calls","metadata":{"unresolvedName":"getRemovalRequests"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.items).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toHaveLength"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockCountSelectFromWhere.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockCountSelectFromWhere.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereOrderByLimitOffset.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereOrderByLimitOffset.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","kind":"calls","metadata":{"unresolvedName":"getRemovalRequests"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.items).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toHaveLength"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockInsertValuesReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInsertValuesReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","kind":"calls","metadata":{"unresolvedName":"scanForListings"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.scanned).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.scanned).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.listingsFound).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.listingsFound).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockInsertValuesReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInsertValuesReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","kind":"calls","metadata":{"unresolvedName":"scanForListings"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.scanned).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.scanned).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.listingsFound).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.listingsFound).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockInsertValuesReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockInsertValuesReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","kind":"calls","metadata":{"unresolvedName":"scanForListings"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.scanned).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.scanned).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockUpdateSetWhereReturning\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockUpdateSetWhereReturning\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","kind":"calls","metadata":{"unresolvedName":"processRemovals"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.processed).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.processed).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockUpdateSetWhereReturning\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockUpdateSetWhereReturning\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","kind":"calls","metadata":{"unresolvedName":"processRemovals"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.processed).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.processed).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockCountSelectFromWhere\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockCountSelectFromWhere\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:getStats","kind":"calls","metadata":{"unresolvedName":"getStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.completionRate).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.completionRate).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.totalListings).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.totalListings).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.listingsRemoved).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.listingsRemoved).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSubFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSubFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:mockCountSelectFromWhere\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockCountSelectFromWhere\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:getStats","kind":"calls","metadata":{"unresolvedName":"getStats"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.completionRate).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.completionRate).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.totalListings).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.totalListings).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.test.ts:<anonymous>","to":"external:expect(result.listingsRemoved).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.listingsRemoved).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"external:~/server/services/alert.publisher","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getSubscription","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getSubscription","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getSubscription","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getSubscription","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getSubscription","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerRegistry","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerRegistry","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerRegistry","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/broker.registry.ts:getActiveBrokers","kind":"calls","metadata":{"unresolvedName":"getActiveBrokers"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"external:conditions.push","kind":"calls","metadata":{"unresolvedName":"conditions.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"external:db\n .select({ count: count() })\n .from(removalRequests)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(removalRequests)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"external:db\n .select()\n .from(removalRequests)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(removalRequests)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRemovalRequests","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"external:db\n .select()\n .from(infoBrokers)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(infoBrokers)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"external:db\n .select()\n .from(removalRequests)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(removalRequests)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"external:db\n .insert(removalRequests)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(removalRequests)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:submitAutomatedRemoval","kind":"calls","metadata":{"unresolvedName":"submitAutomatedRemoval"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:updateRequestStatus","kind":"calls","metadata":{"unresolvedName":"updateRequestStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:createRemovalRequest","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:sendRemovalEmail","kind":"calls","metadata":{"unresolvedName":"sendRemovalEmail"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","to":"external:db\n .select()\n .from(removalRequests)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(removalRequests)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","to":"external:db\n .select()\n .from(infoBrokers)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(infoBrokers)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","to":"external:db\n .select()\n .from(brokerListings)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(brokerListings)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","to":"symbol-name:or","kind":"calls","metadata":{"unresolvedName":"or"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getRequestStatus","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"external:conditions.push","kind":"calls","metadata":{"unresolvedName":"conditions.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"external:db\n .select({ count: count() })\n .from(brokerListings)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(brokerListings)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"external:db\n .select()\n .from(brokerListings)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(brokerListings)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getBrokerListings","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:db\n .select()\n .from(infoBrokers)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(infoBrokers)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:db\n .select()\n .from(removalRequests)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(removalRequests)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:sub.id.slice","kind":"calls","metadata":{"unresolvedName":"sub.id.slice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:db\n .insert(brokerListings)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(brokerListings)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:createdListings.push","kind":"calls","metadata":{"unresolvedName":"createdListings.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:db\n .insert(normalizedAlerts)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(normalizedAlerts)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"external:createdListings.map","kind":"calls","metadata":{"unresolvedName":"createdListings.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:scanForListings","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"calls","metadata":{"unresolvedName":"publishAlert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"external:db\n .select({ count: count() })\n .from(removalRequests)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(removalRequests)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"external:db\n .select({ count: count() })\n .from(removalRequests)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(removalRequests)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"external:db\n .select({ count: count() })\n .from(brokerListings)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(brokerListings)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:getStats","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"external:db\n .select()\n .from(removalRequests)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(removalRequests)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"symbol-name:or","kind":"calls","metadata":{"unresolvedName":"or"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"symbol-name:isNull","kind":"calls","metadata":{"unresolvedName":"isNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"symbol-name:lt","kind":"calls","metadata":{"unresolvedName":"lt"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"external:db\n .select()\n .from(infoBrokers)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(infoBrokers)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:updateRequestStatus","kind":"calls","metadata":{"unresolvedName":"updateRequestStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"external:results.push","kind":"calls","metadata":{"unresolvedName":"results.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:submitAutomatedRemoval","kind":"calls","metadata":{"unresolvedName":"submitAutomatedRemoval"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","kind":"calls","metadata":{"unresolvedName":"incrementRetry"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:processRemovals","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers/removal.engine.ts:sendRemovalEmail","kind":"calls","metadata":{"unresolvedName":"sendRemovalEmail"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","to":"external:db\n .select()\n .from(removalRequests)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(removalRequests)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","to":"external:db\n .update(removalRequests)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(removalRequests)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:incrementRetry","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:updateRequestStatus","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:updateRequestStatus","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:updateRequestStatus","to":"external:db\n .update(removalRequests)\n .set(updateData as never)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(removalRequests)\n .set(updateData as never)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:updateRequestStatus","to":"external:db\n .update(removalRequests)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(removalRequests)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:updateRequestStatus","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/removebrokers.service.ts:updateRequestStatus","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","to":"external:url.startsWith","kind":"calls","metadata":{"unresolvedName":"url.startsWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","to":"external:/^https?:\\/\\/(169\\.254\\.169\\.254|metadata\\.google\\.internal)/i.test","kind":"calls","metadata":{"unresolvedName":"/^https?:\\/\\/(169\\.254\\.169\\.254|metadata\\.google\\.internal)/i.test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","to":"external:url.replace(/^https?:\\/\\//, \"\").split","kind":"calls","metadata":{"unresolvedName":"url.replace(/^https?:\\/\\//, \"\").split"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","to":"external:url.replace","kind":"calls","metadata":{"unresolvedName":"url.replace"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","to":"external:/^(\\d+\\.\\d+\\.\\d+\\.\\d+)/.test","kind":"calls","metadata":{"unresolvedName":"/^(\\d+\\.\\d+\\.\\d+\\.\\d+)/.test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","to":"external:hostname.match","kind":"calls","metadata":{"unresolvedName":"hostname.match"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","to":"external:ip.split(\".\").map","kind":"calls","metadata":{"unresolvedName":"ip.split(\".\").map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:isBlockedUrl","to":"external:ip.split","kind":"calls","metadata":{"unresolvedName":"ip.split"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"file:///etc/passwd\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///etc/passwd\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"file:///etc/shadow\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///etc/shadow\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"file:///windows/system32/config/sam\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///windows/system32/config/sam\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"data:text/html,<script>alert(1)</script>\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"data:text/html,<script>alert(1)</script>\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"data:image/png;base64,abc\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"data:image/png;base64,abc\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://169.254.169.254/latest/meta-data/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://169.254.169.254/latest/meta-data/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://169.254.169.254/computeMetadata/v1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://169.254.169.254/computeMetadata/v1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://metadata.google.internal/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://metadata.google.internal/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://10.0.0.1/admin\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.0.0.1/admin\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://10.255.255.255/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.255.255.255/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://10.128.1.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.128.1.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.16.0.1/internal\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.16.0.1/internal\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.31.255.255/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.31.255.255/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.17.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.17.0.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.15.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.15.0.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.32.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.32.0.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://192.168.1.1/admin\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.1.1/admin\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://192.168.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.0.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://192.168.255.255/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.255.255/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://127.0.0.1:8080/health\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://127.0.0.1:8080/health\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://127.0.0.2/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://127.0.0.2/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://0.0.0.0/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://0.0.0.0/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://example.com/image.png\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://example.com/image.png\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://cdn.example.com/font.woff2\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://cdn.example.com/font.woff2\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://fonts.googleapis.com/css\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://fonts.googleapis.com/css\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://app.kordant.com/api\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://app.kordant.com/api\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://example.com/192.168.1.1\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://example.com/192.168.1.1\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"not-a-url\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"not-a-url\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"file:///etc/passwd\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///etc/passwd\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"file:///etc/shadow\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///etc/shadow\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"file:///windows/system32/config/sam\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///windows/system32/config/sam\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"data:text/html,<script>alert(1)</script>\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"data:text/html,<script>alert(1)</script>\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"data:image/png;base64,abc\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"data:image/png;base64,abc\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://169.254.169.254/latest/meta-data/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://169.254.169.254/latest/meta-data/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://169.254.169.254/computeMetadata/v1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://169.254.169.254/computeMetadata/v1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://metadata.google.internal/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://metadata.google.internal/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://10.0.0.1/admin\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.0.0.1/admin\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://10.255.255.255/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.255.255.255/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://10.128.1.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.128.1.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.16.0.1/internal\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.16.0.1/internal\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.31.255.255/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.31.255.255/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.17.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.17.0.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.15.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.15.0.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.32.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.32.0.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://192.168.1.1/admin\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.1.1/admin\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://192.168.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.0.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://192.168.255.255/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.255.255/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://127.0.0.1:8080/health\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://127.0.0.1:8080/health\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://127.0.0.2/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://127.0.0.2/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://0.0.0.0/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://0.0.0.0/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"file:///etc/passwd\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///etc/passwd\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"file:///etc/shadow\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///etc/shadow\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"file:///windows/system32/config/sam\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"file:///windows/system32/config/sam\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"data:text/html,<script>alert(1)</script>\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"data:text/html,<script>alert(1)</script>\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"data:image/png;base64,abc\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"data:image/png;base64,abc\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://169.254.169.254/latest/meta-data/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://169.254.169.254/latest/meta-data/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://169.254.169.254/computeMetadata/v1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://169.254.169.254/computeMetadata/v1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://metadata.google.internal/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://metadata.google.internal/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://10.0.0.1/admin\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.0.0.1/admin\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://10.255.255.255/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.255.255.255/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://10.128.1.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://10.128.1.1/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.16.0.1/internal\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.16.0.1/internal\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.31.255.255/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.31.255.255/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.17.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.17.0.1/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.15.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.15.0.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://172.32.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://172.32.0.1/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://192.168.1.1/admin\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.1.1/admin\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://192.168.0.1/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.0.1/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://192.168.255.255/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://192.168.255.255/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://127.0.0.1:8080/health\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://127.0.0.1:8080/health\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://127.0.0.2/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://127.0.0.2/\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://0.0.0.0/\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://0.0.0.0/\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://example.com/image.png\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://example.com/image.png\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://cdn.example.com/font.woff2\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://cdn.example.com/font.woff2\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://fonts.googleapis.com/css\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://fonts.googleapis.com/css\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://app.kordant.com/api\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://app.kordant.com/api\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://example.com/192.168.1.1\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://example.com/192.168.1.1\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"not-a-url\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"not-a-url\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://example.com/image.png\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://example.com/image.png\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"http://cdn.example.com/font.woff2\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"http://cdn.example.com/font.woff2\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://fonts.googleapis.com/css\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://fonts.googleapis.com/css\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://app.kordant.com/api\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://app.kordant.com/api\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"https://example.com/192.168.1.1\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"https://example.com/192.168.1.1\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"\")).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.test.ts:<anonymous>","to":"external:expect(isBlockedUrl(\"not-a-url\")).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isBlockedUrl(\"not-a-url\")).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"external:node:fs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"external:node:path","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"external:node:url","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getTier","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getTier","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getDefaultPeriod","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getDefaultPeriod","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getDefaultPeriod","to":"external:now.getTime","kind":"calls","metadata":{"unresolvedName":"now.getTime"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getDefaultPeriod","to":"external:now.getFullYear","kind":"calls","metadata":{"unresolvedName":"now.getFullYear"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getDefaultPeriod","to":"external:now.getMonth","kind":"calls","metadata":{"unresolvedName":"now.getMonth"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getDefaultPeriod","to":"external:now.getDate","kind":"calls","metadata":{"unresolvedName":"now.getDate"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:getDefaultPeriod","kind":"calls","metadata":{"unresolvedName":"getDefaultPeriod"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"symbol-name:gte","kind":"calls","metadata":{"unresolvedName":"gte"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"symbol-name:lte","kind":"calls","metadata":{"unresolvedName":"lte"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:ps.getTime","kind":"calls","metadata":{"unresolvedName":"ps.getTime"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:pe.getTime","kind":"calls","metadata":{"unresolvedName":"pe.getTime"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select({ count: count() })\n .from(normalizedAlerts)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(normalizedAlerts)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select({ count: count() })\n .from(exposures)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(exposures)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select({ count: count() })\n .from(voiceAnalyses)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(voiceAnalyses)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select({ count: count() })\n .from(spamFeedback)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(spamFeedback)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select({ count: count() })\n .from(propertyChanges)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(propertyChanges)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:db\n .select({ source: normalizedAlerts.source })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ source: normalizedAlerts.source })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:Object.entries(sourceCounts)\n .map","kind":"calls","metadata":{"unresolvedName":"Object.entries(sourceCounts)\n .map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileRecommendations","kind":"calls","metadata":{"unresolvedName":"compileRecommendations"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:new Date().toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date().toLocaleDateString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:ps.toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"ps.toLocaleDateString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","to":"external:pe.toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"pe.toLocaleDateString"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileRecommendations","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileRecommendations","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileRecommendations","to":"external:items.push","kind":"calls","metadata":{"unresolvedName":"items.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileRecommendations","to":"external:items.join","kind":"calls","metadata":{"unresolvedName":"items.join"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:loadTemplate","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:loadTemplate","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:loadTemplate","to":"symbol-name:readFileSync","kind":"calls","metadata":{"unresolvedName":"readFileSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:loadTemplate","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderTemplate","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderTemplate","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderTemplate","to":"external:template.replace","kind":"calls","metadata":{"unresolvedName":"template.replace"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderHTML","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderHTML","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderHTML","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:loadTemplate","kind":"calls","metadata":{"unresolvedName":"loadTemplate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderHTML","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderHTML","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderHTML","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderTemplate","kind":"calls","metadata":{"unresolvedName":"renderTemplate"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","to":"external:url.startsWith","kind":"calls","metadata":{"unresolvedName":"url.startsWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","to":"external:/^https?:\\/\\/(169\\.254\\.169\\.254|metadata\\.google\\.internal)/i.test","kind":"calls","metadata":{"unresolvedName":"/^https?:\\/\\/(169\\.254\\.169\\.254|metadata\\.google\\.internal)/i.test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","to":"external:url.replace(/^https?:\\/\\//, \"\").split","kind":"calls","metadata":{"unresolvedName":"url.replace(/^https?:\\/\\//, \"\").split"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","to":"external:url.replace","kind":"calls","metadata":{"unresolvedName":"url.replace"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","to":"external:/^(\\d+\\.\\d+\\.\\d+\\.\\d+)/.test","kind":"calls","metadata":{"unresolvedName":"/^(\\d+\\.\\d+\\.\\d+\\.\\d+)/.test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","to":"external:hostname.match","kind":"calls","metadata":{"unresolvedName":"hostname.match"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","to":"external:ip.split(\".\").map","kind":"calls","metadata":{"unresolvedName":"ip.split(\".\").map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:isBlockedUrl","to":"external:ip.split","kind":"calls","metadata":{"unresolvedName":"ip.split"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"external:puppeteer.launch","kind":"calls","metadata":{"unresolvedName":"puppeteer.launch"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"external:browser.newPage","kind":"calls","metadata":{"unresolvedName":"browser.newPage"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"external:page.on","kind":"calls","metadata":{"unresolvedName":"page.on"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"external:request.url","kind":"calls","metadata":{"unresolvedName":"request.url"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"external:request.abort","kind":"calls","metadata":{"unresolvedName":"request.abort"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"external:request.continue","kind":"calls","metadata":{"unresolvedName":"request.continue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"external:page.setContent","kind":"calls","metadata":{"unresolvedName":"page.setContent"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"external:page.pdf","kind":"calls","metadata":{"unresolvedName":"page.pdf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"external:browser.close","kind":"calls","metadata":{"unresolvedName":"browser.close"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","to":"external:request.url","kind":"calls","metadata":{"unresolvedName":"request.url"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","to":"symbol-name:isBlockedUrl","kind":"calls","metadata":{"unresolvedName":"isBlockedUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","to":"external:request.abort","kind":"calls","metadata":{"unresolvedName":"request.abort"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:<anonymous>","to":"external:request.continue","kind":"calls","metadata":{"unresolvedName":"request.continue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:uploadPDF","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:uploadPDF","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:uploadPDF","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:uploadPDF","to":"symbol-name:existsSync","kind":"calls","metadata":{"unresolvedName":"existsSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:uploadPDF","to":"symbol-name:mkdirSync","kind":"calls","metadata":{"unresolvedName":"mkdirSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:uploadPDF","to":"symbol-name:writeFileSync","kind":"calls","metadata":{"unresolvedName":"writeFileSync"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","to":"external:db.select.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.select.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","to":"external:db.insert.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.insert.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","to":"external:db.update.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.update.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","to":"external:db.delete.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.delete.mockReturnValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","to":"external:db.select.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.select.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.resetAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.resetAllMocks"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupDefaults","kind":"calls","metadata":{"unresolvedName":"setupDefaults"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>)\n .mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>)\n .mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:getReports","kind":"calls","metadata":{"unresolvedName":"getReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.items).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.page).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.page).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(getReports(\"user-1\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getReports(\"user-1\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:(db.select as ReturnType<typeof vi.fn>)\n .mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"(db.select as ReturnType<typeof vi.fn>)\n .mockReturnValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:getReports","kind":"calls","metadata":{"unresolvedName":"getReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.items).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.page).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.page).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(getReports(\"user-1\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getReports(\"user-1\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:getReports","kind":"calls","metadata":{"unresolvedName":"getReports"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","kind":"calls","metadata":{"unresolvedName":"getReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.title).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(getReport(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getReport(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","kind":"calls","metadata":{"unresolvedName":"getReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.title).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(getReport(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getReport(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","kind":"calls","metadata":{"unresolvedName":"getReport"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:db.insert.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.insert.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","kind":"calls","metadata":{"unresolvedName":"generateReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.reportId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.reportId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(generateReport(\"user-1\", \"ANNUAL_PREMIUM\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(generateReport(\"user-1\", \"ANNUAL_PREMIUM\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:db.insert.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.insert.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","kind":"calls","metadata":{"unresolvedName":"generateReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.reportId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.reportId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(generateReport(\"user-1\", \"ANNUAL_PREMIUM\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(generateReport(\"user-1\", \"ANNUAL_PREMIUM\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","kind":"calls","metadata":{"unresolvedName":"generateReport"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:db.insert.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.insert.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","kind":"calls","metadata":{"unresolvedName":"generateReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.reportId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.reportId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:db.delete.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.delete.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","kind":"calls","metadata":{"unresolvedName":"deleteReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.deleted).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.deleted).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(deleteReport(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(deleteReport(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:db.delete.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.delete.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","kind":"calls","metadata":{"unresolvedName":"deleteReport"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.deleted).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.deleted).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce([mockSub])\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn()\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.fn()\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(deleteReport(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(deleteReport(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","kind":"calls","metadata":{"unresolvedName":"deleteReport"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports","kind":"calls","metadata":{"unresolvedName":"getScheduledReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result[0].frequency).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].frequency).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports","kind":"calls","metadata":{"unresolvedName":"getScheduledReports"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result).toHaveLength"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result[0].frequency).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].frequency).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:db.insert.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.insert.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","kind":"calls","metadata":{"unresolvedName":"updateSchedule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.frequency).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.frequency).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:db.update.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.update.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.enabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.enabled).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:db.insert.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.insert.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","kind":"calls","metadata":{"unresolvedName":"updateSchedule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.frequency).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.frequency).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:getDb","kind":"calls","metadata":{"unresolvedName":"getDb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:setupSelect","kind":"calls","metadata":{"unresolvedName":"setupSelect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:db.update.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"db.update.mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","kind":"calls","metadata":{"unresolvedName":"updateSchedule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.enabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.enabled).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.test.ts:<anonymous>","to":"external:expect(result.frequency).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.frequency).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"external:~/server/lib/tier","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","to":"symbol-name:inArray","kind":"calls","metadata":{"unresolvedName":"inArray"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getActiveTrials","kind":"calls","metadata":{"unresolvedName":"getActiveTrials"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getSubscription","to":"/Users/mike/Code/Kordant/web/src/server/lib/tier.ts:getEffectiveTier","kind":"calls","metadata":{"unresolvedName":"getEffectiveTier"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReportTypeLabel","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReportTypeLabel","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","to":"external:db\n .select({ count: count() })\n .from(securityReports)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(securityReports)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","to":"external:db\n .select()\n .from(securityReports)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(securityReports)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReports","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","to":"external:db\n .select()\n .from(securityReports)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(securityReports)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReport","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getReportTypeLabel","kind":"calls","metadata":{"unresolvedName":"getReportTypeLabel"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","to":"external:db\n .insert(securityReports)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(securityReports)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","kind":"calls","metadata":{"unresolvedName":"generateReportAsync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","to":"external:db.update(securityReports)\n .set","kind":"calls","metadata":{"unresolvedName":"db.update(securityReports)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","to":"external:db.update","kind":"calls","metadata":{"unresolvedName":"db.update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReport","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:<anonymous>","to":"external:db.update(securityReports)\n .set","kind":"calls","metadata":{"unresolvedName":"db.update(securityReports)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:<anonymous>","to":"external:db.update","kind":"calls","metadata":{"unresolvedName":"db.update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:<anonymous>","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","to":"external:db\n .update(securityReports)\n .set({ status: \"GENERATING\" })\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(securityReports)\n .set({ status: \"GENERATING\" })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","to":"external:db\n .update(securityReports)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(securityReports)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:compileData","kind":"calls","metadata":{"unresolvedName":"compileData"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:renderHTML","kind":"calls","metadata":{"unresolvedName":"renderHTML"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:generatePDF","kind":"calls","metadata":{"unresolvedName":"generatePDF"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","to":"external:reportType.toLowerCase","kind":"calls","metadata":{"unresolvedName":"reportType.toLowerCase"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:generateReportAsync","to":"/Users/mike/Code/Kordant/web/src/server/services/reports/generator.ts:uploadPDF","kind":"calls","metadata":{"unresolvedName":"uploadPDF"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","to":"symbol-name:getSubscription","kind":"calls","metadata":{"unresolvedName":"getSubscription"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","to":"external:db\n .select()\n .from(securityReports)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(securityReports)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","to":"external:db.delete(securityReports).where","kind":"calls","metadata":{"unresolvedName":"db.delete(securityReports).where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:deleteReport","to":"external:db.delete","kind":"calls","metadata":{"unresolvedName":"db.delete"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports","to":"external:db\n .select()\n .from(reportSchedules)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(reportSchedules)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:getScheduledReports","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","to":"external:db\n .select()\n .from(reportSchedules)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(reportSchedules)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","to":"external:db\n .update(reportSchedules)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(reportSchedules)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","to":"external:db\n .insert(reportSchedules)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(reportSchedules)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/reports.service.ts:updateSchedule","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:classifyTextBERT","kind":"calls","metadata":{"unresolvedName":"classifyTextBERT"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:classifyTextBERT","kind":"calls","metadata":{"unresolvedName":"classifyTextBERT"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:extractFeatures","kind":"calls","metadata":{"unresolvedName":"extractFeatures"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(features.areaCode).toBe","kind":"calls","metadata":{"unresolvedName":"expect(features.areaCode).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(features.duration).toBe","kind":"calls","metadata":{"unresolvedName":"expect(features.duration).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(features.timeOfDay).toBe","kind":"calls","metadata":{"unresolvedName":"expect(features.timeOfDay).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:extractFeatures","kind":"calls","metadata":{"unresolvedName":"extractFeatures"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(features.areaCode).toBe","kind":"calls","metadata":{"unresolvedName":"expect(features.areaCode).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:extractFeatures","kind":"calls","metadata":{"unresolvedName":"extractFeatures"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(features.duration).toBe","kind":"calls","metadata":{"unresolvedName":"expect(features.duration).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(features.timeOfDay).toBe","kind":"calls","metadata":{"unresolvedName":"expect(features.timeOfDay).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"calls","metadata":{"unresolvedName":"ruleEngine"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result!.action).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.action).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result!.ruleId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.ruleId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).toBeNull"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"calls","metadata":{"unresolvedName":"ruleEngine"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result!.action).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.action).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"calls","metadata":{"unresolvedName":"ruleEngine"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result!.action).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.action).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"calls","metadata":{"unresolvedName":"ruleEngine"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result!.action).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.action).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"calls","metadata":{"unresolvedName":"ruleEngine"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result!.action).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.action).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"calls","metadata":{"unresolvedName":"ruleEngine"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result!.ruleId).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.ruleId).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"calls","metadata":{"unresolvedName":"ruleEngine"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"external:expect(result).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:classifyTextBERT","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:classifyTextBERT","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:extractFeatures","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:extractFeatures","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:extractFeatures","to":"external:metadata.callerNumber.slice","kind":"calls","metadata":{"unresolvedName":"metadata.callerNumber.slice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:extractFeatures","to":"external:new Date().getHours","kind":"calls","metadata":{"unresolvedName":"new Date().getHours"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","to":"external:[...rules].sort","kind":"calls","metadata":{"unresolvedName":"[...rules].sort"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:matchRule","kind":"calls","metadata":{"unresolvedName":"matchRule"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:matchRule","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:matchRule","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:matchRule","to":"external:input.phoneNumber.startsWith","kind":"calls","metadata":{"unresolvedName":"input.phoneNumber.startsWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:matchRule","to":"external:new RegExp(rule.pattern, \"i\").test","kind":"calls","metadata":{"unresolvedName":"new RegExp(rule.pattern, \"i\").test"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupHiya","kind":"calls","metadata":{"unresolvedName":"lookupHiya"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result!.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.source).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupHiya","kind":"calls","metadata":{"unresolvedName":"lookupHiya"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result!.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.source).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupTruecaller","kind":"calls","metadata":{"unresolvedName":"lookupTruecaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result!.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.source).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupTruecaller","kind":"calls","metadata":{"unresolvedName":"lookupTruecaller"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).not.toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result!.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result!.source).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupInternalDB","kind":"calls","metadata":{"unresolvedName":"lookupInternalDB"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupInternalDB","kind":"calls","metadata":{"unresolvedName":"lookupInternalDB"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","kind":"calls","metadata":{"unresolvedName":"checkReputation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","kind":"calls","metadata":{"unresolvedName":"checkReputation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"external:expect(result).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result).toBeNull"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:isCircuitOpen","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:isCircuitOpen","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:isCircuitOpen","to":"external:circuitBreakers.get","kind":"calls","metadata":{"unresolvedName":"circuitBreakers.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:isCircuitOpen","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:recordFailure","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:recordFailure","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:recordFailure","to":"external:circuitBreakers.get","kind":"calls","metadata":{"unresolvedName":"circuitBreakers.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:recordFailure","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:recordFailure","to":"external:circuitBreakers.set","kind":"calls","metadata":{"unresolvedName":"circuitBreakers.set"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupHiya","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupHiya","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupHiya","to":"symbol-name:isCircuitOpen","kind":"calls","metadata":{"unresolvedName":"isCircuitOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupHiya","to":"symbol-name:recordFailure","kind":"calls","metadata":{"unresolvedName":"recordFailure"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupTruecaller","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupTruecaller","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupTruecaller","to":"symbol-name:isCircuitOpen","kind":"calls","metadata":{"unresolvedName":"isCircuitOpen"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupTruecaller","to":"symbol-name:recordFailure","kind":"calls","metadata":{"unresolvedName":"recordFailure"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupInternalDB","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupInternalDB","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupInternalDB","to":"external:cache.get","kind":"calls","metadata":{"unresolvedName":"cache.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupInternalDB","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:cacheReputation","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:cacheReputation","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:cacheReputation","to":"external:cache.set","kind":"calls","metadata":{"unresolvedName":"cache.set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:cacheReputation","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupInternalDB","kind":"calls","metadata":{"unresolvedName":"lookupInternalDB"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupHiya","kind":"calls","metadata":{"unresolvedName":"lookupHiya"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:cacheReputation","kind":"calls","metadata":{"unresolvedName":"cacheReputation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:lookupTruecaller","kind":"calls","metadata":{"unresolvedName":"lookupTruecaller"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(checkReputation).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(checkReputation).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.checkNumberReputation","kind":"calls","metadata":{"unresolvedName":"spamshieldService.checkNumberReputation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.phoneNumber).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.phoneNumber).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(checkReputation).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(checkReputation).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.checkNumberReputation","kind":"calls","metadata":{"unresolvedName":"spamshieldService.checkNumberReputation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.phoneNumber).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.phoneNumber).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(checkReputation).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(checkReputation).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.checkNumberReputation","kind":"calls","metadata":{"unresolvedName":"spamshieldService.checkNumberReputation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(checkReputation).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(checkReputation).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.checkNumberReputation","kind":"calls","metadata":{"unresolvedName":"spamshieldService.checkNumberReputation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.source).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.source).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(classifyTextBERT).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(classifyTextBERT).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.classifySMS","kind":"calls","metadata":{"unresolvedName":"spamshieldService.classifySMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(classifyTextBERT).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(classifyTextBERT).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.classifySMS","kind":"calls","metadata":{"unresolvedName":"spamshieldService.classifySMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(classifyTextBERT).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(classifyTextBERT).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.classifySMS","kind":"calls","metadata":{"unresolvedName":"spamshieldService.classifySMS"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(extractFeatures).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(extractFeatures).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(ruleEngine).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ruleEngine).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(checkReputation).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(checkReputation).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereOrderBy.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereOrderBy.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.classifyCall","kind":"calls","metadata":{"unresolvedName":"spamshieldService.classifyCall"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.callerNumber).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.callerNumber).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.matchedRule?.action).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.matchedRule?.action).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(extractFeatures).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(extractFeatures).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(ruleEngine).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ruleEngine).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(checkReputation).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(checkReputation).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereOrderBy.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereOrderBy.mockResolvedValue"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.classifyCall","kind":"calls","metadata":{"unresolvedName":"spamshieldService.classifyCall"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.callerNumber).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.callerNumber).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(ruleEngine).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ruleEngine).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.classifyCall","kind":"calls","metadata":{"unresolvedName":"spamshieldService.classifyCall"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.isSpam).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSpam).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.matchedRule?.action).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.matchedRule?.action).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(mockDb.db.insert).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(mockDb.db.insert).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.createRule","kind":"calls","metadata":{"unresolvedName":"spamshieldService.createRule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.pattern).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.pattern).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked(mockDb.db.insert).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(mockDb.db.insert).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:spamshieldService.createRule","kind":"calls","metadata":{"unresolvedName":"spamshieldService.createRule"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.test.ts:<anonymous>","to":"external:expect(result.pattern).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.pattern).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"external:~/server/services/alert.publisher","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:normalizePhoneNumber","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:normalizePhoneNumber","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:normalizePhoneNumber","to":"external:phone.replace","kind":"calls","metadata":{"unresolvedName":"phone.replace"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:normalizePhoneNumber","to":"external:cleaned.startsWith","kind":"calls","metadata":{"unresolvedName":"cleaned.startsWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","to":"external:db.insert(auditLogs).values","kind":"calls","metadata":{"unresolvedName":"db.insert(auditLogs).values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","to":"external:db.insert","kind":"calls","metadata":{"unresolvedName":"db.insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:checkNumberReputation","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:checkNumberReputation","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:checkNumberReputation","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:normalizePhoneNumber","kind":"calls","metadata":{"unresolvedName":"normalizePhoneNumber"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:checkNumberReputation","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","kind":"calls","metadata":{"unresolvedName":"checkReputation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:checkNumberReputation","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","kind":"calls","metadata":{"unresolvedName":"logAudit"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifySMS","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifySMS","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifySMS","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:classifyTextBERT","kind":"calls","metadata":{"unresolvedName":"classifyTextBERT"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifySMS","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","kind":"calls","metadata":{"unresolvedName":"logAudit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifySMS","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifySMS","to":"external:db\n .insert(normalizedAlerts)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(normalizedAlerts)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifySMS","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifySMS","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"calls","metadata":{"unresolvedName":"publishAlert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:normalizePhoneNumber","kind":"calls","metadata":{"unresolvedName":"normalizePhoneNumber"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:extractFeatures","kind":"calls","metadata":{"unresolvedName":"extractFeatures"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"external:db\n .select()\n .from(spamRules)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(spamRules)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/ml.engine.ts:ruleEngine","kind":"calls","metadata":{"unresolvedName":"ruleEngine"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"external:rules.map","kind":"calls","metadata":{"unresolvedName":"rules.map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield/reputation.api.ts:checkReputation","kind":"calls","metadata":{"unresolvedName":"checkReputation"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","kind":"calls","metadata":{"unresolvedName":"logAudit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"external:db\n .insert(normalizedAlerts)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(normalizedAlerts)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:classifyCall","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"calls","metadata":{"unresolvedName":"publishAlert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getRules","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getRules","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getRules","to":"external:db\n .select()\n .from(spamRules)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(spamRules)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getRules","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getRules","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getRules","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getRules","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getRules","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:createRule","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:createRule","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:createRule","to":"external:db\n .insert(spamRules)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(spamRules)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:createRule","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:createRule","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","kind":"calls","metadata":{"unresolvedName":"logAudit"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule","to":"external:db\n .select()\n .from(spamRules)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(spamRules)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule","to":"external:db\n .update(spamRules)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(spamRules)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:deleteRule","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:normalizePhoneNumber","kind":"calls","metadata":{"unresolvedName":"normalizePhoneNumber"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","to":"external:createHash(\"sha256\").update(normalized).digest","kind":"calls","metadata":{"unresolvedName":"createHash(\"sha256\").update(normalized).digest"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","to":"external:createHash(\"sha256\").update","kind":"calls","metadata":{"unresolvedName":"createHash(\"sha256\").update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","to":"symbol-name:createHash","kind":"calls","metadata":{"unresolvedName":"createHash"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","to":"external:db\n .insert(spamFeedback)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(spamFeedback)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:submitFeedback","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:logAudit","kind":"calls","metadata":{"unresolvedName":"logAudit"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"external:now.getTime","kind":"calls","metadata":{"unresolvedName":"now.getTime"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"external:now.getFullYear","kind":"calls","metadata":{"unresolvedName":"now.getFullYear"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"external:now.getMonth","kind":"calls","metadata":{"unresolvedName":"now.getMonth"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"external:now.getDate","kind":"calls","metadata":{"unresolvedName":"now.getDate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"external:db\n .select({ count: count() })\n .from(spamFeedback)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(spamFeedback)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"symbol-name:gte","kind":"calls","metadata":{"unresolvedName":"gte"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"external:db\n .select({ count: count() })\n .from(spamRules)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(spamRules)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/spamshield.service.ts:getStats","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:getUserById","kind":"calls","metadata":{"unresolvedName":"getUserById"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(mockFindFirst).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockFindFirst).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect.anything","kind":"calls","metadata":{"unresolvedName":"expect.anything"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(getUserById(\"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getUserById(\"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(getUserById(\"nonexistent\")).rejects.toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(getUserById(\"nonexistent\")).rejects.toMatchObject"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:getUserById","kind":"calls","metadata":{"unresolvedName":"getUserById"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(mockFindFirst).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockFindFirst).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect.anything","kind":"calls","metadata":{"unresolvedName":"expect.anything"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockFindFirst.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockFindFirst.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(getUserById(\"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getUserById(\"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:getUserById","kind":"calls","metadata":{"unresolvedName":"getUserById"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(getUserById(\"nonexistent\")).rejects.toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(getUserById(\"nonexistent\")).rejects.toMatchObject"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockUpdateSetWhereReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateSetWhereReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","kind":"calls","metadata":{"unresolvedName":"updateUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(updateUser(\"nonexistent\", { name: \"New\" })).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(updateUser(\"nonexistent\", { name: \"New\" })).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockUpdateSetWhereReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateSetWhereReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","kind":"calls","metadata":{"unresolvedName":"updateUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(updateUser(\"nonexistent\", { name: \"New\" })).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(updateUser(\"nonexistent\", { name: \"New\" })).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","kind":"calls","metadata":{"unresolvedName":"updateUser"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","kind":"calls","metadata":{"unresolvedName":"updateUser"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockUpdateSetWhereReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateSetWhereReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","kind":"calls","metadata":{"unresolvedName":"deleteUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(result.deletedAt).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(result.deletedAt).toBeInstanceOf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(deleteUser(\"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(deleteUser(\"nonexistent\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockUpdateSetWhereReturning.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockUpdateSetWhereReturning.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","kind":"calls","metadata":{"unresolvedName":"deleteUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(result.deletedAt).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(result.deletedAt).toBeInstanceOf"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:mockSelectFromWhereLimit.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSelectFromWhereLimit.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"external:expect(deleteUser(\"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(deleteUser(\"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","kind":"calls","metadata":{"unresolvedName":"deleteUser"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"external:~/server/db/schema/auth","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"external:~/server/auth/password","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"external:~/server/auth/session","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","to":"external:db\n .select()\n .from(users)\n .where(eq(users.email, email))\n .limit","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where(eq(users.email, email))\n .limit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","to":"external:db\n .select()\n .from(users)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:hashPassword","kind":"calls","metadata":{"unresolvedName":"hashPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","to":"external:db\n .insert(users)\n .values({ name, email, passwordHash })\n .returning","kind":"calls","metadata":{"unresolvedName":"db\n .insert(users)\n .values({ name, email, passwordHash })\n .returning"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","to":"external:db\n .insert(users)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(users)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:createUserWithPassword","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","to":"external:db\n .select()\n .from(users)\n .where(eq(users.email, email))\n .limit","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where(eq(users.email, email))\n .limit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","to":"external:db\n .select()\n .from(users)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","to":"/Users/mike/Code/Kordant/web/src/server/auth/password.ts:verifyPassword","kind":"calls","metadata":{"unresolvedName":"verifyPassword"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:authenticateUser","to":"/Users/mike/Code/Kordant/web/src/server/auth/session.ts:createSession","kind":"calls","metadata":{"unresolvedName":"createSession"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:getUserById","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:getUserById","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:getUserById","to":"external:db.query.users.findFirst","kind":"calls","metadata":{"unresolvedName":"db.query.users.findFirst"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:getUserById","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"external:db\n .select()\n .from(users)\n .where(eq(users.id, id))\n .limit","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where(eq(users.id, id))\n .limit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"external:db\n .select()\n .from(users)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"external:db\n .select()\n .from(users)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"external:db\n .update(users)\n .set(data)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(users)\n .set(data)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"external:db\n .update(users)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(users)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:updateUser","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/user.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","to":"external:db\n .select()\n .from(users)\n .where(eq(users.id, id))\n .limit","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where(eq(users.id, id))\n .limit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","to":"external:db\n .select()\n .from(users)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(users)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","to":"external:db\n .update(users)\n .set({ deletedAt: new Date() })\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .update(users)\n .set({ deletedAt: new Date() })\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","to":"external:db\n .update(users)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(users)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/user.service.ts:deleteUser","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:preprocessAudio","kind":"calls","metadata":{"unresolvedName":"preprocessAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.duration).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.duration).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.sampleRate).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.sampleRate).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.channels).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.channels).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.rawPcm).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.rawPcm).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:detectSynthetic","kind":"calls","metadata":{"unresolvedName":"detectSynthetic"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.isSynthetic).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSynthetic).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.score).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:matchVoice","kind":"calls","metadata":{"unresolvedName":"matchVoice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.similarity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.similarity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.matched).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.matched).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","kind":"calls","metadata":{"unresolvedName":"generateEmbedding"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.vector.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.vector.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(result.hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(typeof result.hash).toBe","kind":"calls","metadata":{"unresolvedName":"expect(typeof result.hash).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:preprocessAudio","kind":"calls","metadata":{"unresolvedName":"preprocessAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.duration).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.duration).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.sampleRate).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.sampleRate).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.channels).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.channels).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.rawPcm).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.rawPcm).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:preprocessAudio","kind":"calls","metadata":{"unresolvedName":"preprocessAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.duration).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.duration).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.sampleRate).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.sampleRate).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.channels).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.channels).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.rawPcm).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.rawPcm).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:detectSynthetic","kind":"calls","metadata":{"unresolvedName":"detectSynthetic"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.isSynthetic).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSynthetic).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.score).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:detectSynthetic","kind":"calls","metadata":{"unresolvedName":"detectSynthetic"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.isSynthetic).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSynthetic).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.score).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:matchVoice","kind":"calls","metadata":{"unresolvedName":"matchVoice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.similarity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.similarity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.matched).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.matched).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:matchVoice","kind":"calls","metadata":{"unresolvedName":"matchVoice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.similarity).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.similarity).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.matched).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.matched).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","kind":"calls","metadata":{"unresolvedName":"generateEmbedding"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.vector.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.vector.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(result.hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(typeof result.hash).toBe","kind":"calls","metadata":{"unresolvedName":"expect(typeof result.hash).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","kind":"calls","metadata":{"unresolvedName":"generateEmbedding"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.vector.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.vector.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(result.hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(result.hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.test.ts:<anonymous>","to":"external:expect(typeof result.hash).toBe","kind":"calls","metadata":{"unresolvedName":"expect(typeof result.hash).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:preprocessAudio","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:preprocessAudio","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:detectSynthetic","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:detectSynthetic","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:matchVoice","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:matchVoice","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","to":"external:createHash(\"sha256\").update(features.rawPcm).digest","kind":"calls","metadata":{"unresolvedName":"createHash(\"sha256\").update(features.rawPcm).digest"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","to":"external:createHash(\"sha256\").update","kind":"calls","metadata":{"unresolvedName":"createHash(\"sha256\").update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","to":"symbol-name:createHash","kind":"calls","metadata":{"unresolvedName":"createHash"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"external:node:fs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"external:node:fs/promises","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"external:node:path","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"external:node:os","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:mkdtempSync","kind":"calls","metadata":{"unresolvedName":"mkdtempSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:tmpdir","kind":"calls","metadata":{"unresolvedName":"tmpdir"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:vi.spyOn(process, \"cwd\").mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(process, \"cwd\").mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:rmSync","kind":"calls","metadata":{"unresolvedName":"rmSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash","kind":"calls","metadata":{"unresolvedName":"computeHash"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(hash.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(hash.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"calls","metadata":{"unresolvedName":"saveAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(result.hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(result.hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(result.hash.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.hash.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(result.filePath).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.filePath).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(result.filePath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(result.filePath)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:existsSync","kind":"calls","metadata":{"unresolvedName":"existsSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(dir)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(dir)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getAudioUrl","kind":"calls","metadata":{"unresolvedName":"getAudioUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(url).toBe","kind":"calls","metadata":{"unresolvedName":"expect(url).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:writeFile","kind":"calls","metadata":{"unresolvedName":"writeFile"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(filePath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(filePath)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile","kind":"calls","metadata":{"unresolvedName":"deleteFile"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(deleteFile(\"/nonexistent.wav\")).resolves.toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(deleteFile(\"/nonexistent.wav\")).resolves.toBeUndefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteAudio","kind":"calls","metadata":{"unresolvedName":"deleteAudio"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:mkdtempSync","kind":"calls","metadata":{"unresolvedName":"mkdtempSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:tmpdir","kind":"calls","metadata":{"unresolvedName":"tmpdir"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:vi.spyOn(process, \"cwd\").mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(process, \"cwd\").mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:rmSync","kind":"calls","metadata":{"unresolvedName":"rmSync"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash","kind":"calls","metadata":{"unresolvedName":"computeHash"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(hash.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(hash.length).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash","kind":"calls","metadata":{"unresolvedName":"computeHash"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(hash.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(hash.length).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"calls","metadata":{"unresolvedName":"saveAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(result.hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(result.hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(result.hash.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.hash.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(result.filePath).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.filePath).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(result.filePath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(result.filePath)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:existsSync","kind":"calls","metadata":{"unresolvedName":"existsSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(dir)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(dir)).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"calls","metadata":{"unresolvedName":"saveAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(result.hash).toBeTruthy","kind":"calls","metadata":{"unresolvedName":"expect(result.hash).toBeTruthy"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(result.hash.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.hash.length).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(result.filePath).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.filePath).toContain"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(result.filePath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(result.filePath)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:existsSync","kind":"calls","metadata":{"unresolvedName":"existsSync"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"calls","metadata":{"unresolvedName":"saveAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(dir)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(dir)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:existsSync","kind":"calls","metadata":{"unresolvedName":"existsSync"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getAudioUrl","kind":"calls","metadata":{"unresolvedName":"getAudioUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(url).toBe","kind":"calls","metadata":{"unresolvedName":"expect(url).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getAudioUrl","kind":"calls","metadata":{"unresolvedName":"getAudioUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(url).toBe","kind":"calls","metadata":{"unresolvedName":"expect(url).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:writeFile","kind":"calls","metadata":{"unresolvedName":"writeFile"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(filePath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(filePath)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:existsSync","kind":"calls","metadata":{"unresolvedName":"existsSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile","kind":"calls","metadata":{"unresolvedName":"deleteFile"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(deleteFile(\"/nonexistent.wav\")).resolves.toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(deleteFile(\"/nonexistent.wav\")).resolves.toBeUndefined"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:writeFile","kind":"calls","metadata":{"unresolvedName":"writeFile"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(filePath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(filePath)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:existsSync","kind":"calls","metadata":{"unresolvedName":"existsSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile","kind":"calls","metadata":{"unresolvedName":"deleteFile"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(deleteFile(\"/nonexistent.wav\")).resolves.toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(deleteFile(\"/nonexistent.wav\")).resolves.toBeUndefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile","kind":"calls","metadata":{"unresolvedName":"deleteFile"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"calls","metadata":{"unresolvedName":"saveAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(filePath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(filePath)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:existsSync","kind":"calls","metadata":{"unresolvedName":"existsSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteAudio","kind":"calls","metadata":{"unresolvedName":"deleteAudio"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"calls","metadata":{"unresolvedName":"saveAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"external:expect(existsSync(filePath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(existsSync(filePath)).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"symbol-name:existsSync","kind":"calls","metadata":{"unresolvedName":"existsSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteAudio","kind":"calls","metadata":{"unresolvedName":"deleteAudio"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"external:node:crypto","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"external:node:fs/promises","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"external:node:fs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"external:node:path","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash","to":"external:createHash(\"sha256\").update(audioBuffer).digest","kind":"calls","metadata":{"unresolvedName":"createHash(\"sha256\").update(audioBuffer).digest"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash","to":"external:createHash(\"sha256\").update","kind":"calls","metadata":{"unresolvedName":"createHash(\"sha256\").update"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash","to":"symbol-name:createHash","kind":"calls","metadata":{"unresolvedName":"createHash"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getUserDir","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getUserDir","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getUserDir","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getUserDir","to":"external:process.cwd","kind":"calls","metadata":{"unresolvedName":"process.cwd"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:computeHash","kind":"calls","metadata":{"unresolvedName":"computeHash"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getUserDir","kind":"calls","metadata":{"unresolvedName":"getUserDir"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","to":"symbol-name:existsSync","kind":"calls","metadata":{"unresolvedName":"existsSync"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","to":"symbol-name:mkdir","kind":"calls","metadata":{"unresolvedName":"mkdir"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","to":"symbol-name:writeFile","kind":"calls","metadata":{"unresolvedName":"writeFile"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getAudioUrl","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getAudioUrl","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile","to":"symbol-name:unlink","kind":"calls","metadata":{"unresolvedName":"unlink"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteAudio","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteAudio","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteAudio","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getUserDir","kind":"calls","metadata":{"unresolvedName":"getUserDir"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile","kind":"calls","metadata":{"unresolvedName":"deleteFile"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"external:drizzle-orm","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"external:~/server/db","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"external:~/server/db/schema","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"external:~/server/services/alert.publisher","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:validateDecodedSize","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:validateDecodedSize","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:validateDecodedSize","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:validateDecodedSize","to":"external:(MAX_DECODED_SIZE / 1024 / 1024).toFixed","kind":"calls","metadata":{"unresolvedName":"(MAX_DECODED_SIZE / 1024 / 1024).toFixed"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:validateDecodedSize","to":"external:(estimatedDecodedSize / 1024 / 1024).toFixed","kind":"calls","metadata":{"unresolvedName":"(estimatedDecodedSize / 1024 / 1024).toFixed"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","to":"external:db\n .select()\n .from(voiceEnrollments)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(voiceEnrollments)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:validateDecodedSize","kind":"calls","metadata":{"unresolvedName":"validateDecodedSize"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"calls","metadata":{"unresolvedName":"saveAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:preprocessAudio","kind":"calls","metadata":{"unresolvedName":"preprocessAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","kind":"calls","metadata":{"unresolvedName":"generateEmbedding"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","to":"external:db\n .insert(voiceEnrollments)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(voiceEnrollments)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","to":"external:db\n .select()\n .from(voiceEnrollments)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(voiceEnrollments)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:deleteFile","kind":"calls","metadata":{"unresolvedName":"deleteFile"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","to":"external:db\n .update(voiceEnrollments)\n .set","kind":"calls","metadata":{"unresolvedName":"db\n .update(voiceEnrollments)\n .set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deleteEnrollment","to":"external:db\n .update","kind":"calls","metadata":{"unresolvedName":"db\n .update"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deriveVerdict","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deriveVerdict","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","to":"external:db\n .select()\n .from(subscriptions)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(subscriptions)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","to":"external:(confidence * 100).toFixed","kind":"calls","metadata":{"unresolvedName":"(confidence * 100).toFixed"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","to":"external:db\n .insert(normalizedAlerts)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(normalizedAlerts)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","to":"/Users/mike/Code/Kordant/web/src/server/services/alert.publisher.ts:publishAlert","kind":"calls","metadata":{"unresolvedName":"publishAlert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:validateDecodedSize","kind":"calls","metadata":{"unresolvedName":"validateDecodedSize"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:saveAudio","kind":"calls","metadata":{"unresolvedName":"saveAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:preprocessAudio","kind":"calls","metadata":{"unresolvedName":"preprocessAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:detectSynthetic","kind":"calls","metadata":{"unresolvedName":"detectSynthetic"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/storage.ts:getAudioUrl","kind":"calls","metadata":{"unresolvedName":"getAudioUrl"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"external:db\n .select()\n .from(voiceEnrollments)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(voiceEnrollments)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:generateEmbedding","kind":"calls","metadata":{"unresolvedName":"generateEmbedding"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint/ml.engine.ts:matchVoice","kind":"calls","metadata":{"unresolvedName":"matchVoice"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:deriveVerdict","kind":"calls","metadata":{"unresolvedName":"deriveVerdict"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"external:db\n .insert(voiceAnalyses)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(voiceAnalyses)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createVoiceAlert","kind":"calls","metadata":{"unresolvedName":"createVoiceAlert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"external:conditions.push","kind":"calls","metadata":{"unresolvedName":"conditions.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"external:db\n .select({ count: count() })\n .from(voiceAnalyses)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from(voiceAnalyses)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"external:db\n .select({ count: count() })\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select({ count: count() })\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"symbol-name:count","kind":"calls","metadata":{"unresolvedName":"count"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"external:db\n .select()\n .from(voiceAnalyses)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(voiceAnalyses)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"symbol-name:desc","kind":"calls","metadata":{"unresolvedName":"desc"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","to":"external:db\n .select()\n .from(voiceAnalyses)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(voiceAnalyses)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","to":"external:db\n .select()\n .from(analysisJobs)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(analysisJobs)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","to":"symbol-name:and","kind":"calls","metadata":{"unresolvedName":"and"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","to":"symbol-name:eq","kind":"calls","metadata":{"unresolvedName":"eq"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","to":"external:db\n .select()\n .from(analysisResults)\n .where","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from(analysisResults)\n .where"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","to":"external:db\n .select()\n .from","kind":"calls","metadata":{"unresolvedName":"db\n .select()\n .from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","to":"external:db\n .select","kind":"calls","metadata":{"unresolvedName":"db\n .select"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createBatchJob","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createBatchJob","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createBatchJob","to":"external:db\n .insert(analysisJobs)\n .values","kind":"calls","metadata":{"unresolvedName":"db\n .insert(analysisJobs)\n .values"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createBatchJob","to":"external:db\n .insert","kind":"calls","metadata":{"unresolvedName":"db\n .insert"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/stripe.ts","to":"external:stripe","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:MockWebSocketServer","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:MockWebSocketServer","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:MockWebSocketServer","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:makeWs","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:makeWs","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:makeWs","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:makeWs","to":"symbol-name:h","kind":"calls","metadata":{"unresolvedName":"h"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:on","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:on","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:emit","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:emit","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:emit","to":"symbol-name:h","kind":"calls","metadata":{"unresolvedName":"h"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:beforeAll","kind":"calls","metadata":{"unresolvedName":"beforeAll"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","kind":"calls","metadata":{"unresolvedName":"start"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:afterAll","kind":"calls","metadata":{"unresolvedName":"afterAll"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","kind":"calls","metadata":{"unresolvedName":"stop"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(verifyClient).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(verifyClient).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:verifyClient!","kind":"calls","metadata":{"unresolvedName":"verifyClient!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","kind":"calls","metadata":{"unresolvedName":"start"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","kind":"calls","metadata":{"unresolvedName":"stop"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(verifyClient).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(verifyClient).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:verifyClient!","kind":"calls","metadata":{"unresolvedName":"verifyClient!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(verifyClient).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(verifyClient).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:verifyClient!","kind":"calls","metadata":{"unresolvedName":"verifyClient!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(verifyClient).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(verifyClient).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:verifyClient!","kind":"calls","metadata":{"unresolvedName":"verifyClient!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(verifyClient).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(verifyClient).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:verifyClient!","kind":"calls","metadata":{"unresolvedName":"verifyClient!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(verifyClient).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(verifyClient).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:verifyClient!","kind":"calls","metadata":{"unresolvedName":"verifyClient!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(verifyClient).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(verifyClient).toBeDefined"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:verifyClient!","kind":"calls","metadata":{"unresolvedName":"verifyClient!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:verifyClient!","kind":"calls","metadata":{"unresolvedName":"verifyClient!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:verifyClient!","kind":"calls","metadata":{"unresolvedName":"verifyClient!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:beforeAll","kind":"calls","metadata":{"unresolvedName":"beforeAll"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","kind":"calls","metadata":{"unresolvedName":"start"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:afterAll","kind":"calls","metadata":{"unresolvedName":"afterAll"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","kind":"calls","metadata":{"unresolvedName":"stop"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:makeWs","kind":"calls","metadata":{"unresolvedName":"makeWs"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:connectionHandler!","kind":"calls","metadata":{"unresolvedName":"connectionHandler!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(ws.close).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(ws.close).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:mockVerifyJWT.mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"mockVerifyJWT.mockRejectedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:ws.emit","kind":"calls","metadata":{"unresolvedName":"ws.emit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(ws.send).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(ws.send).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(ws.close).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(ws.close).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:mockVerifyJWT.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockVerifyJWT.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:broadcastToUser","kind":"calls","metadata":{"unresolvedName":"broadcastToUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","kind":"calls","metadata":{"unresolvedName":"start"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","kind":"calls","metadata":{"unresolvedName":"stop"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:makeWs","kind":"calls","metadata":{"unresolvedName":"makeWs"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:connectionHandler!","kind":"calls","metadata":{"unresolvedName":"connectionHandler!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(ws.close).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(ws.close).not.toHaveBeenCalled"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:mockVerifyJWT.mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"mockVerifyJWT.mockRejectedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:makeWs","kind":"calls","metadata":{"unresolvedName":"makeWs"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:connectionHandler!","kind":"calls","metadata":{"unresolvedName":"connectionHandler!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:ws.emit","kind":"calls","metadata":{"unresolvedName":"ws.emit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(ws.send).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(ws.send).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(ws.close).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(ws.close).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:mockVerifyJWT.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockVerifyJWT.mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:makeWs","kind":"calls","metadata":{"unresolvedName":"makeWs"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:connectionHandler!","kind":"calls","metadata":{"unresolvedName":"connectionHandler!"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:ws.emit","kind":"calls","metadata":{"unresolvedName":"ws.emit"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(ws.send).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(ws.send).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(ws.close).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(ws.close).not.toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:broadcastToUser","kind":"calls","metadata":{"unresolvedName":"broadcastToUser"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"external:ws","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"external:ws","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"external:node:http","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"external:~/server/auth/jwt","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getTrustedOrigins","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getTrustedOrigins","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getTrustedOrigins","to":"external:/^https?:$/.test","kind":"calls","metadata":{"unresolvedName":"/^https?:$/.test"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getTrustedOrigins","to":"external:origins.push","kind":"calls","metadata":{"unresolvedName":"origins.push"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getTrustedOrigins","to":"external:explicit.split(\",\").map","kind":"calls","metadata":{"unresolvedName":"explicit.split(\",\").map"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getTrustedOrigins","to":"external:explicit.split","kind":"calls","metadata":{"unresolvedName":"explicit.split"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getTrustedOrigins","to":"external:o.trim","kind":"calls","metadata":{"unresolvedName":"o.trim"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:isTrustedOrigin","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:isTrustedOrigin","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:isTrustedOrigin","to":"external:origin.trim","kind":"calls","metadata":{"unresolvedName":"origin.trim"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:isTrustedOrigin","to":"external:trustedOrigins.includes","kind":"calls","metadata":{"unresolvedName":"trustedOrigins.includes"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:authenticateToken","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:authenticateToken","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:authenticateToken","to":"/Users/mike/Code/Kordant/web/src/server/auth/jwt.ts:verifyJWT","kind":"calls","metadata":{"unresolvedName":"verifyJWT"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket","to":"external:userSockets.get","kind":"calls","metadata":{"unresolvedName":"userSockets.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket","to":"external:userSockets.set","kind":"calls","metadata":{"unresolvedName":"userSockets.set"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket","to":"external:sockets.add","kind":"calls","metadata":{"unresolvedName":"sockets.add"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket","to":"external:userSockets.get","kind":"calls","metadata":{"unresolvedName":"userSockets.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket","to":"external:sockets.delete","kind":"calls","metadata":{"unresolvedName":"sockets.delete"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket","to":"external:userSockets.delete","kind":"calls","metadata":{"unresolvedName":"userSockets.delete"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:heartbeat","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:heartbeat","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat","to":"external:wss.clients.forEach","kind":"calls","metadata":{"unresolvedName":"wss.clients.forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat","to":"external:ws.terminate","kind":"calls","metadata":{"unresolvedName":"ws.terminate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat","to":"external:ws.ping","kind":"calls","metadata":{"unresolvedName":"ws.ping"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:startHeartbeat","to":"external:heartbeatTimer.unref","kind":"calls","metadata":{"unresolvedName":"heartbeatTimer.unref"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:wss.clients.forEach","kind":"calls","metadata":{"unresolvedName":"wss.clients.forEach"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.terminate","kind":"calls","metadata":{"unresolvedName":"ws.terminate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.ping","kind":"calls","metadata":{"unresolvedName":"ws.ping"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.terminate","kind":"calls","metadata":{"unresolvedName":"ws.terminate"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.ping","kind":"calls","metadata":{"unresolvedName":"ws.ping"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.terminate","kind":"calls","metadata":{"unresolvedName":"ws.terminate"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stopHeartbeat","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stopHeartbeat","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stopHeartbeat","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:enforceAuthTimeout","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:enforceAuthTimeout","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:enforceAuthTimeout","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:enforceAuthTimeout","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:enforceAuthTimeout","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:broadcastToUser","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:broadcastToUser","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:broadcastToUser","to":"external:userSockets.get","kind":"calls","metadata":{"unresolvedName":"userSockets.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:broadcastToUser","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:broadcastToUser","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectedUsers","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectedUsers","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectedUsers","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectedUsers","to":"external:userSockets.keys","kind":"calls","metadata":{"unresolvedName":"userSockets.keys"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectionCount","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectionCount","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:getConnectionCount","to":"external:userSockets.values","kind":"calls","metadata":{"unresolvedName":"userSockets.values"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:isTrustedOrigin","kind":"calls","metadata":{"unresolvedName":"isTrustedOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"external:wss.on","kind":"calls","metadata":{"unresolvedName":"wss.on"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:enforceAuthTimeout","kind":"calls","metadata":{"unresolvedName":"enforceAuthTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"external:ws.on","kind":"calls","metadata":{"unresolvedName":"ws.on"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"external:data.toString","kind":"calls","metadata":{"unresolvedName":"data.toString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:authenticateToken","kind":"calls","metadata":{"unresolvedName":"authenticateToken"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket","kind":"calls","metadata":{"unresolvedName":"addSocket"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:heartbeat","kind":"calls","metadata":{"unresolvedName":"heartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket","kind":"calls","metadata":{"unresolvedName":"removeSocket"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:start","to":"symbol-name:startHeartbeat","kind":"calls","metadata":{"unresolvedName":"startHeartbeat"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:isTrustedOrigin","kind":"calls","metadata":{"unresolvedName":"isTrustedOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:wss.on","kind":"calls","metadata":{"unresolvedName":"wss.on"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:enforceAuthTimeout","kind":"calls","metadata":{"unresolvedName":"enforceAuthTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.on","kind":"calls","metadata":{"unresolvedName":"ws.on"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:data.toString","kind":"calls","metadata":{"unresolvedName":"data.toString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:authenticateToken","kind":"calls","metadata":{"unresolvedName":"authenticateToken"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket","kind":"calls","metadata":{"unresolvedName":"addSocket"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:heartbeat","kind":"calls","metadata":{"unresolvedName":"heartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket","kind":"calls","metadata":{"unresolvedName":"removeSocket"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:startHeartbeat","kind":"calls","metadata":{"unresolvedName":"startHeartbeat"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:verifyClient","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:verifyClient","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:verifyClient","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:isTrustedOrigin","kind":"calls","metadata":{"unresolvedName":"isTrustedOrigin"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:verifyClient","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:enforceAuthTimeout","kind":"calls","metadata":{"unresolvedName":"enforceAuthTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.on","kind":"calls","metadata":{"unresolvedName":"ws.on"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:data.toString","kind":"calls","metadata":{"unresolvedName":"data.toString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:authenticateToken","kind":"calls","metadata":{"unresolvedName":"authenticateToken"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket","kind":"calls","metadata":{"unresolvedName":"addSocket"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:heartbeat","kind":"calls","metadata":{"unresolvedName":"heartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket","kind":"calls","metadata":{"unresolvedName":"removeSocket"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:data.toString","kind":"calls","metadata":{"unresolvedName":"data.toString"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:authenticateToken","kind":"calls","metadata":{"unresolvedName":"authenticateToken"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:addSocket","kind":"calls","metadata":{"unresolvedName":"addSocket"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:heartbeat","kind":"calls","metadata":{"unresolvedName":"heartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:removeSocket","kind":"calls","metadata":{"unresolvedName":"removeSocket"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","to":"symbol-name:stopHeartbeat","kind":"calls","metadata":{"unresolvedName":"stopHeartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","to":"external:wss.close","kind":"calls","metadata":{"unresolvedName":"wss.close"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","to":"external:userSockets.clear","kind":"calls","metadata":{"unresolvedName":"userSockets.clear"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:stop","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:stopHeartbeat","kind":"calls","metadata":{"unresolvedName":"stopHeartbeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:wss.close","kind":"calls","metadata":{"unresolvedName":"wss.close"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:userSockets.clear","kind":"calls","metadata":{"unresolvedName":"userSockets.clear"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/websocket.ts","to":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:userSockets.clear","kind":"calls","metadata":{"unresolvedName":"userSockets.clear"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"/Users/mike/Code/Kordant/web/src/server/websocket.ts:<anonymous>","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js:migrate","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js:migrate","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql-migrator.js:migrate","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js:drizzle","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js:drizzle","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-libsql.js:drizzle","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createColumn","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createColumn","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:get","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:get","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:apply","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:apply","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:sqliteTable","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:sqliteTable","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:sqliteTable","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:sqliteTable","to":"external:columns.push","kind":"calls","metadata":{"unresolvedName":"columns.push"}},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:sqliteTable","to":"symbol-name:indexesFn","kind":"calls","metadata":{"unresolvedName":"indexesFn"}},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:sqliteTable","to":"external:indexes.push","kind":"calls","metadata":{"unresolvedName":"indexes.push"}},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:sqliteTable","to":"external:tableRegistry.set","kind":"calls","metadata":{"unresolvedName":"tableRegistry.set"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:textFn","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:textFn","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:textFn","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createColumn","kind":"calls","metadata":{"unresolvedName":"createColumn"}},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:textFn","to":"external:allColumns.push","kind":"calls","metadata":{"unresolvedName":"allColumns.push"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:integerFn","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:integerFn","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:integerFn","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createColumn","kind":"calls","metadata":{"unresolvedName":"createColumn"}},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:integerFn","to":"external:allColumns.push","kind":"calls","metadata":{"unresolvedName":"allColumns.push"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:realFn","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:realFn","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:realFn","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createColumn","kind":"calls","metadata":{"unresolvedName":"createColumn"}},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:realFn","to":"external:allColumns.push","kind":"calls","metadata":{"unresolvedName":"allColumns.push"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createChainable","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:createChainable","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:get","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:get","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:apply","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:apply","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm-sqlite-core.js:getTableConfig","to":"external:tableRegistry.get","kind":"calls","metadata":{"unresolvedName":"tableRegistry.get"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:createChainable","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:createChainable","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:createChainable","to":"symbol-name:createChainable","kind":"calls","metadata":{"unresolvedName":"createChainable"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:<anonymous>","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:apply","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:apply","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:apply","to":"symbol-name:createChainable","kind":"calls","metadata":{"unresolvedName":"createChainable"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:get","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:get","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/drizzle-orm.js:get","to":"symbol-name:createChainable","kind":"calls","metadata":{"unresolvedName":"createChainable"}},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js:createClient","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js:createClient","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js:close","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/libsql.js:close","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/ws.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/ws.js:on","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/ws.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/ws.js:on","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/ws.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/ws.js:close","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/__mocks__/ws.js","to":"/Users/mike/Code/Kordant/web/test/__mocks__/ws.js:close","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/__mocks__/ws.js:close","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/setup.ts:<anonymous>","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:on","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:on","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:close","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:close","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/setup.ts:close","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/test/setup.ts:<anonymous>","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:setSize","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:setSize","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:setPixelRatio","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:setPixelRatio","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:setClearColor","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:setClearColor","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:render","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:dispose","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:dispose","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:add","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:add","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:updateProjectionMatrix","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:updateProjectionMatrix","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:computeVertexNormals","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:computeVertexNormals","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:dispose","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:dispose","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:setAttribute","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:setAttribute","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:dispose","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:dispose","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:set","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:set","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:set","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:set","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:multiplyScalar","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:multiplyScalar","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:update","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:update","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:getDelta","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:getDelta","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:getElapsed","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/test/setup.ts","to":"/Users/mike/Code/Kordant/web/test/setup.ts:getElapsed","kind":"defines"},{"from":"file:/Users/mike/Code/Kordant/web/vite.config.ts","to":"external:vite","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/vite.config.ts","to":"external:@solidjs/vite-plugin-nitro-2","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/vite.config.ts","to":"external:@tailwindcss/vite","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/vite.config.ts","to":"external:@solidjs/start/config","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/vitest.config.ts","to":"external:vitest/config","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/vitest.config.ts","to":"external:path","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/vitest.config.ts","to":"external:fs","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/vitest.config.ts","to":"external:vite-plugin-solid","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/vitest.config.ts","to":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/vitest.config.ts","to":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"symbol-name:readFileSync","kind":"calls","metadata":{"unresolvedName":"readFileSync"}},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"external:content.split","kind":"calls","metadata":{"unresolvedName":"content.split"}},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"external:line.trim","kind":"calls","metadata":{"unresolvedName":"line.trim"}},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"external:trimmed.startsWith","kind":"calls","metadata":{"unresolvedName":"trimmed.startsWith"}},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"external:trimmed.indexOf","kind":"calls","metadata":{"unresolvedName":"trimmed.indexOf"}},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"external:trimmed.slice(0, eqIndex).trim","kind":"calls","metadata":{"unresolvedName":"trimmed.slice(0, eqIndex).trim"}},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"external:trimmed.slice","kind":"calls","metadata":{"unresolvedName":"trimmed.slice"}},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"external:trimmed.slice(eqIndex + 1).trim","kind":"calls","metadata":{"unresolvedName":"trimmed.slice(eqIndex + 1).trim"}},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"external:value.startsWith","kind":"calls","metadata":{"unresolvedName":"value.startsWith"}},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"external:value.endsWith","kind":"calls","metadata":{"unresolvedName":"value.endsWith"}},{"from":"/Users/mike/Code/Kordant/web/vitest.config.ts:loadEnvFile","to":"external:value.slice","kind":"calls","metadata":{"unresolvedName":"value.slice"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"external:@trpc/server","kind":"imports"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:createChain","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:createChain","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:createChain","to":"symbol-name:mockQueryResult","kind":"calls","metadata":{"unresolvedName":"mockQueryResult"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:createChain","to":"external:Reflect.get(target, prop).bind","kind":"calls","metadata":{"unresolvedName":"Reflect.get(target, prop).bind"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:createChain","to":"external:Reflect.get","kind":"calls","metadata":{"unresolvedName":"Reflect.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:createChain","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:createChain","kind":"calls","metadata":{"unresolvedName":"createChain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:get","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:get","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:get","to":"external:Reflect.get(target, prop).bind","kind":"calls","metadata":{"unresolvedName":"Reflect.get(target, prop).bind"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:get","to":"external:Reflect.get","kind":"calls","metadata":{"unresolvedName":"Reflect.get"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:get","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:createChain","kind":"calls","metadata":{"unresolvedName":"createChain"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","kind":"calls","metadata":{"unresolvedName":"getEnrollments"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getEnrollments","kind":"calls","metadata":{"unresolvedName":"getEnrollments"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.saveAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.saveAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.preprocessAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.preprocessAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.generateEmbedding).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.generateEmbedding).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","kind":"calls","metadata":{"unresolvedName":"createEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(storage.saveAudio).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(storage.saveAudio).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(ml.generateEmbedding).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(ml.generateEmbedding).toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.saveAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.saveAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.preprocessAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.preprocessAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.generateEmbedding).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.generateEmbedding).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","kind":"calls","metadata":{"unresolvedName":"createEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(storage.saveAudio).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(storage.saveAudio).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(ml.generateEmbedding).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(ml.generateEmbedding).toHaveBeenCalled"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:deleteEnrollment","kind":"calls","metadata":{"unresolvedName":"deleteEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(storage.deleteFile).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(storage.deleteFile).toHaveBeenCalledWith"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(deleteEnrollment(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(deleteEnrollment(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:deleteEnrollment","kind":"calls","metadata":{"unresolvedName":"deleteEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.isActive).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isActive).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(storage.deleteFile).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(storage.deleteFile).toHaveBeenCalledWith"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(deleteEnrollment(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(deleteEnrollment(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:deleteEnrollment","kind":"calls","metadata":{"unresolvedName":"deleteEnrollment"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.saveAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.saveAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.getAudioUrl).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.getAudioUrl).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.preprocessAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.preprocessAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.detectSynthetic).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.detectSynthetic).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","kind":"calls","metadata":{"unresolvedName":"analyzeAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.verdict).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.verdict).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.isSynthetic).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSynthetic).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.score).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.saveAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.saveAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.getAudioUrl).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.getAudioUrl).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.preprocessAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.preprocessAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.detectSynthetic).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.detectSynthetic).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","kind":"calls","metadata":{"unresolvedName":"analyzeAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.verdict).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.verdict).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.isSynthetic).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.isSynthetic).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.score).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.score).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","kind":"calls","metadata":{"unresolvedName":"getAnalyses"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.items).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.page).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.page).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalyses","kind":"calls","metadata":{"unresolvedName":"getAnalyses"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.items).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.items).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.total).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.total).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.page).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.page).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","kind":"calls","metadata":{"unresolvedName":"getAnalysisResult"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(getAnalysisResult(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getAnalysisResult(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","kind":"calls","metadata":{"unresolvedName":"getAnalysisResult"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(getAnalysisResult(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getAnalysisResult(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getAnalysisResult","kind":"calls","metadata":{"unresolvedName":"getAnalysisResult"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","kind":"calls","metadata":{"unresolvedName":"getJobStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(getJobStatus(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getJobStatus(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult\n .mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","kind":"calls","metadata":{"unresolvedName":"getJobStatus"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.result).toEqual"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(getJobStatus(\"user-1\", \"nonexistent\")).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(getJobStatus(\"user-1\", \"nonexistent\")).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:getJobStatus","kind":"calls","metadata":{"unresolvedName":"getJobStatus"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createBatchJob","kind":"calls","metadata":{"unresolvedName":"createBatchJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.analysisType).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.analysisType).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createBatchJob","kind":"calls","metadata":{"unresolvedName":"createBatchJob"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.id).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.analysisType).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.analysisType).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.status).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:\"A\".repeat","kind":"calls","metadata":{"unresolvedName":"\"A\".repeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(createEnrollment(\"user-1\", \"My Voice\", largeAudio)).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(createEnrollment(\"user-1\", \"My Voice\", largeAudio)).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","kind":"calls","metadata":{"unresolvedName":"createEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(analyzeAudio(\"user-1\", largeAudio)).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(analyzeAudio(\"user-1\", largeAudio)).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","kind":"calls","metadata":{"unresolvedName":"analyzeAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.saveAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.saveAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.preprocessAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.preprocessAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.generateEmbedding).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.generateEmbedding).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.getAudioUrl).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.getAudioUrl).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.detectSynthetic).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.detectSynthetic).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.verdict).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.verdict).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:\"A\".repeat","kind":"calls","metadata":{"unresolvedName":"\"A\".repeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(createEnrollment(\"user-1\", \"My Voice\", largeAudio)).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(createEnrollment(\"user-1\", \"My Voice\", largeAudio)).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","kind":"calls","metadata":{"unresolvedName":"createEnrollment"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:\"A\".repeat","kind":"calls","metadata":{"unresolvedName":"\"A\".repeat"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(analyzeAudio(\"user-1\", largeAudio)).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(analyzeAudio(\"user-1\", largeAudio)).rejects.toThrow"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","kind":"calls","metadata":{"unresolvedName":"analyzeAudio"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.saveAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.saveAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.preprocessAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.preprocessAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.generateEmbedding).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.generateEmbedding).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:createEnrollment","kind":"calls","metadata":{"unresolvedName":"createEnrollment"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result).toEqual"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"contains"},{"from":"file:/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","kind":"defines"},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.saveAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.saveAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(storage.getAudioUrl).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(storage.getAudioUrl).mockReturnValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.preprocessAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.preprocessAudio).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:vi.mocked(ml.detectSynthetic).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(ml.detectSynthetic).mockResolvedValue"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:mockQueryResult.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockQueryResult.mockResolvedValueOnce"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.ts:analyzeAudio","kind":"calls","metadata":{"unresolvedName":"analyzeAudio"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.verdict).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.verdict).toBe"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/Users/mike/Code/Kordant/web/src/server/services/voiceprint.service.test.ts:<anonymous>","to":"external:expect(result.confidence).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.confidence).toBe"}}]} |