From 0c6ec01b7d4b1ef3d05f75cb3c6318c1a45aec1d Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 29 Jul 2026 18:30:45 +0800 Subject: [PATCH 1/2] chore: add a committed Graphify knowledge graph of the codebase --- .gitignore | 7 + graphify-out/GRAPH_REPORT.md | 516 + graphify-out/graph.json | 60179 +++++++++++++++++++++++++++++++++ 3 files changed, 60702 insertions(+) create mode 100644 graphify-out/GRAPH_REPORT.md create mode 100644 graphify-out/graph.json diff --git a/.gitignore b/.gitignore index 23af634..2d8c654 100644 --- a/.gitignore +++ b/.gitignore @@ -193,3 +193,10 @@ temp/ design-system/ *.tsbuildinfo settings.local.json + +# Graphify knowledge graph (local build artifacts; only the queryable graph +# and its human-readable report are committed) +# ========================================================================== +graphify-out/* +!graphify-out/graph.json +!graphify-out/GRAPH_REPORT.md diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md new file mode 100644 index 0000000..3478a82 --- /dev/null +++ b/graphify-out/GRAPH_REPORT.md @@ -0,0 +1,516 @@ +# Graph Report - . (2026-07-29) + +## Corpus Check +- cluster-only mode — file stats not available + +## Summary +- 1630 nodes · 3624 edges · 128 communities (85 shown, 43 thin omitted) +- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS · INFERRED: 8 edges (avg confidence: 0.76) +- Token cost: 0 input · 0 output + +## Graph Freshness +- Built from commit: `5c2af1aa` +- Run `git rev-parse HEAD` and compare to check if the graph is stale. +- Run `graphify update .` after code changes (no API cost). + +## Community Hubs (Navigation) +- Community 0 +- Community 1 +- Community 2 +- Community 3 +- Community 4 +- Community 5 +- Community 6 +- Community 7 +- Community 8 +- Community 9 +- Community 10 +- Community 11 +- Community 12 +- Community 13 +- Community 14 +- Community 15 +- Community 16 +- Community 17 +- Community 18 +- Community 19 +- Community 20 +- Community 21 +- Community 22 +- Community 23 +- Community 24 +- Community 25 +- Community 26 +- Community 27 +- Community 28 +- Community 29 +- Community 30 +- Community 31 +- Community 32 +- Community 33 +- Community 34 +- Community 35 +- Community 36 +- Community 37 +- Community 38 +- Community 39 +- Community 40 +- Community 41 +- Community 42 +- Community 43 +- Community 44 +- Community 45 +- Community 46 +- Community 47 +- Community 48 +- Community 49 +- Community 50 +- Community 51 +- Community 52 +- Community 53 +- Community 54 +- Community 55 +- Community 56 +- Community 57 +- Community 58 +- Community 59 +- Community 60 +- Community 61 +- Community 62 +- Community 63 +- Community 64 +- Community 65 +- Community 66 +- Community 67 +- Community 68 +- Community 69 +- Community 70 +- Community 71 +- Community 72 +- Community 73 +- Community 74 +- Community 75 +- Community 76 +- Community 77 +- Community 78 +- Community 79 +- Community 80 +- Community 81 +- Community 82 +- Community 83 +- Community 84 +- Community 85 +- Community 86 +- Community 87 +- Community 88 +- Community 89 +- Community 90 +- Community 91 +- Community 92 +- Community 93 +- Community 94 +- Community 95 +- Community 96 +- Community 97 +- Community 98 +- Community 99 +- Community 100 +- Community 101 +- Community 102 +- Community 103 +- Community 104 +- Community 105 +- Community 106 +- Community 107 +- Community 108 +- Community 109 +- Community 110 +- Community 111 +- Community 112 +- Community 113 +- Community 114 +- Community 115 +- Community 116 +- Community 117 +- Community 118 +- Community 119 +- Community 120 +- Community 121 +- Community 122 +- Community 123 + +## God Nodes (most connected - your core abstractions) +1. `cn()` - 39 edges +2. `Button` - 32 edges +3. `apiFetch()` - 23 edges +4. `useAuth()` - 23 edges +5. `formatCurrency()` - 23 edges +6. `InfoTooltip()` - 20 edges +7. `Card` - 19 edges +8. `CardContent` - 19 edges +9. `useTheme()` - 19 edges +10. `WorkbenchPage()` - 19 edges + +## Surprising Connections (you probably didn't know these) +- `ThemeProvider()` --indirect_call--> `handler()` [INFERRED] + frontend/src/hooks/useTheme.tsx → services/pdf-service/api/pdf-export.ts +- `buildPdfAnalysisViewModel()` --calls--> `computeSystemCost()` [EXTRACTED] + frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts → shared/costModel.ts +- `buildPdfAnalysisViewModel()` --calls--> `getPanelModel()` [EXTRACTED] + frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts → shared/panelModels.ts +- `useAnalysisForm()` --calls--> `computeSystemCost()` [EXTRACTED] + frontend/src/hooks/useAnalysisForm.ts → shared/costModel.ts +- `useAnalysisForm()` --calls--> `getPanelModel()` [EXTRACTED] + frontend/src/hooks/useAnalysisForm.ts → shared/panelModels.ts + +## Import Cycles +- None detected. + +## Communities (128 total, 43 thin omitted) + +### Community 0 - "Community 0" +Cohesion: 0.05 +Nodes (93): saveAnalysis(), AnalysisSidebar(), AnalysisSidebarProps, BillBreakdown(), BillBreakdownProps, SimulationMonth, BillComparisonChart(), BillComparisonChartProps (+85 more) + +### Community 1 - "Community 1" +Cohesion: 0.07 +Nodes (53): LocationImageGeoTransform, PdfPageShell(), Props, PrintPage1Workbench(), Props, useCanvasInteractions(), UseCanvasInteractionsOptions, aabbsOverlap() (+45 more) + +### Community 2 - "Community 2" +Cohesion: 0.07 +Nodes (38): calculateAverageFlux(), computeMonthlyEnergy(), computeMonthlyEnergyFromRasters(), pointInPolygon(), PreloadedFluxRasters, preloadFluxRasters(), getRotatedCorners(), rotatePoint() (+30 more) + +### Community 3 - "Community 3" +Cohesion: 0.04 +Nodes (45): concurrently, eslint, @eslint/js, eslint-plugin-react-hooks, globals, dependencies, @prisma/client, devDependencies (+37 more) + +### Community 4 - "Community 4" +Cohesion: 0.08 +Nodes (30): ChatLauncher(), ChatLauncherProps, ChatPanel(), ChatPanelProps, getPaybackYears(), ChatContext, ChatContextValue, ChatMessage (+22 more) + +### Community 5 - "Community 5" +Cohesion: 0.05 +Nodes (36): autoprefixer, devDependencies, autoprefixer, jsdom, tailwindcss, @tailwindcss/vite, @testing-library/react, @types/google.maps (+28 more) + +### Community 6 - "Community 6" +Cohesion: 0.12 +Nodes (31): parseBuildingInsights(), downloadLayer(), fetchLocationPipelineInputs(), getLayerUrl(), LAYER_FILENAMES, PipelineFetchResult, SolarLayerKey, persistLocationPipelineFailure() (+23 more) + +### Community 7 - "Community 7" +Cohesion: 0.11 +Nodes (26): Badge(), BadgeProps, badgeVariants, Logo(), LogoProps, Separator, Skeleton(), TooltipContent (+18 more) + +### Community 8 - "Community 8" +Cohesion: 0.13 +Nodes (28): roofSegments, solarPanels, roofSegments, setup(), solarPanels, getPanelAnnualEnergy(), getSortedPanelIds(), UndoRedoSnapshot (+20 more) + +### Community 9 - "Community 9" +Cohesion: 0.12 +Nodes (30): createProject(), findOwnedProject(), getPdfProjectData(), getProject(), listProjects(), saveAnalysis(), saveLayout(), updateLayoutPreferences() (+22 more) + +### Community 10 - "Community 10" +Cohesion: 0.12 +Nodes (23): formatDisplay(), TARIFF_FIELDS, TariffField, TariffParameterModal(), TariffParameterModalProps, CoverageNoticeModal(), Props, writeCoverageNoticeDismissed() (+15 more) + +### Community 11 - "Community 11" +Cohesion: 0.16 +Nodes (26): buildPdfAnalysisViewModel(), PdfAnalysisViewModel, AnalysisDisclaimerKey, AnalysisMode, AnalysisChartDataPoint, isSeasonalProfile(), LayoutOrientationSummary, summarizeLayoutOrientation() (+18 more) + +### Community 12 - "Community 12" +Cohesion: 0.11 +Nodes (21): LifecycleControlsProps, TariffControlsProps, DropdownMenu(), DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioItem (+13 more) + +### Community 13 - "Community 13" +Cohesion: 0.07 +Nodes (27): puppeteer-core, dependencies, puppeteer-core, @sparticuz/chromium, zod, description, devDependencies, @types/node (+19 more) + +### Community 14 - "Community 14" +Cohesion: 0.14 +Nodes (22): filterByDirection(), PanelYieldEntry, RoofSegmentEntry, SIZING_GOAL_OFFSET, azimuthMatchesRoofDirection(), ROOF_DIRECTION_WINDOWS, segmentMatchesRoofDirection(), SegmentWithAzimuth (+14 more) + +### Community 15 - "Community 15" +Cohesion: 0.08 +Nodes (24): dist, node_modules, compilerOptions, allowImportingTsExtensions, declaration, declarationMap, esModuleInterop, forceConsistentCasingInFileNames (+16 more) + +### Community 16 - "Community 16" +Cohesion: 0.16 +Nodes (23): bucketByOrientation(), ChatPage, ChatProject, countActivePanels(), countSegmentsUsed(), describeInverterReplacements(), formatMaybeNumber(), formatNumber() (+15 more) + +### Community 17 - "Community 17" +Cohesion: 0.08 +Nodes (23): compilerOptions, jsx, lib, noEmit, paths, rootDir, types, exclude (+15 more) + +### Community 18 - "Community 18" +Cohesion: 0.16 +Nodes (18): ApiError, getLocationStatus(), createProject(), readCoverageNoticeDismissed(), LowerResolutionConsentModal(), ManualCoordinateModal(), ensureLoaded(), loader (+10 more) + +### Community 19 - "Community 19" +Cohesion: 0.10 +Nodes (17): AnalysisPage, AnalyticsPage, DashboardPage, FAQPage, MapPage, NotFoundPage, PAGE_LOADING_HINTS, PdfPreviewPage (+9 more) + +### Community 20 - "Community 20" +Cohesion: 0.13 +Nodes (17): GroupPanel, GroupRotationHandle(), GroupRotationHandleProps, getPanelColorByRatio(), panelAnnualEnergy(), PanelLayer(), PanelLayerProps, RenderPanel (+9 more) + +### Community 21 - "Community 21" +Cohesion: 0.10 +Nodes (21): devDependencies, prisma, tsx, @types/compression, @types/cors, @types/express, @types/jsonwebtoken, @types/node (+13 more) + +### Community 22 - "Community 22" +Cohesion: 0.17 +Nodes (14): asyncHandler(), AsyncRouteHandler, Express, Request, requireAuth(), validate(), chatRouter, locationsRouter (+6 more) + +### Community 23 - "Community 23" +Cohesion: 0.20 +Nodes (15): listProjects(), formatRelativeDate(), PortfolioStats, projectRoute(), ProjectCard(), PageContainer(), PageContainerProps, VARIANTS (+7 more) + +### Community 24 - "Community 24" +Cohesion: 0.11 +Nodes (19): dependencies, dotenv, express, @google/genai, jsonwebtoken, @prisma/client, proj4, @shared/types (+11 more) + +### Community 25 - "Community 25" +Cohesion: 0.16 +Nodes (11): DEFAULT_HINTS, LoadingOverlay(), Slider, IrradianceGlowProps, MONTH_LABELS, MONTHLY_AZIMUTH, MONTHLY_IRRADIANCE, useCanvasZoom() (+3 more) + +### Community 26 - "Community 26" +Cohesion: 0.19 +Nodes (16): getLocationDataForUser(), getLocationStatusForUser(), getLocationStatusResponseForUser(), getOverlayResponseForUser(), linkOwnedProjectToLocation(), probeLocation(), resolveLocation(), resolveLocationResponse() (+8 more) + +### Community 27 - "Community 27" +Cohesion: 0.13 +Nodes (17): apiFetch(), probeLocation(), recomputeFlux(), recomputeFluxBatch(), resolveLocation(), deleteProject(), PdfExportToken, ProjectAnalysisConfig (+9 more) + +### Community 28 - "Community 28" +Cohesion: 0.17 +Nodes (12): getQuota(), Notification, formatReset(), useQuota(), emit(), Listener, listeners, notifications (+4 more) + +### Community 29 - "Community 29" +Cohesion: 0.22 +Nodes (14): getTariffConfig(), ConsumptionControlsProps, AnalysisFormState, ChartDataPoint, useAnalysisForm(), ConsumptionProfile, aggregateMonthlyGeneration(), applyPerformanceRatio() (+6 more) + +### Community 30 - "Community 30" +Cohesion: 0.18 +Nodes (13): ClientMode, getGenAIClient(), invalidateForAuthFailure(), GuardResult, PATTERNS, validateChatInput(), buildContents(), ChatEvent (+5 more) + +### Community 31 - "Community 31" +Cohesion: 0.15 +Nodes (14): ImageGeoTransform, RoofMaskResult, buildLocationDataResponse(), LocationDataRouteResponse, LocationDataWithGeoTransform, FluxRecomputeBatchRequest, FluxRecomputeBatchResponse, FluxRecomputeRequest (+6 more) + +### Community 32 - "Community 32" +Cohesion: 0.13 +Nodes (14): ChatRequest, liveStateSchema, AnalysisConfigDto, analysisConfigSchema, AnalysisResultsDto, analysisResultsSchema, billBreakdownSchema, buildingInsightsSchema (+6 more) + +### Community 33 - "Community 33" +Cohesion: 0.12 +Nodes (16): aliases, components, hooks, lib, ui, utils, rsc, $schema (+8 more) + +### Community 34 - "Community 34" +Cohesion: 0.14 +Nodes (10): AppFooter(), AppLayoutProps, AppSidebar(), AppSidebarProps, NAV_SECTIONS, NavItem, NavSectionDef, Section (+2 more) + +### Community 35 - "Community 35" +Cohesion: 0.14 +Nodes (7): HERO_PROFILES, HeroProfile, LandingPage(), PipelineStep, useHeroTicker(), useScrollY(), useAuthMock + +### Community 36 - "Community 36" +Cohesion: 0.12 +Nodes (16): api/**/*.ts, ES2022, compilerOptions, allowSyntheticDefaultImports, esModuleInterop, isolatedModules, lib, module (+8 more) + +### Community 37 - "Community 37" +Cohesion: 0.18 +Nodes (14): __dirname, KNOWLEDGE_PATH, loadKnowledgeBible(), parseSections(), renderKnowledgeForPrompt(), buildSystemInstruction(), ChatLanguage, ChatPage (+6 more) + +### Community 38 - "Community 38" +Cohesion: 0.23 +Nodes (11): App(), AuthContext, AuthContextValue, AuthProvider(), LocaleContext, LocaleContextValue, LocaleProvider(), readInitialLocale() (+3 more) + +### Community 39 - "Community 39" +Cohesion: 0.23 +Nodes (9): AppNav(), Crumb, useBreadcrumbs(), ThemeToggle(), Button, ButtonProps, buttonVariants, NotificationPopover() (+1 more) + +### Community 40 - "Community 40" +Cohesion: 0.22 +Nodes (11): __dirname, env, envSchema, parsed, supabase, loadGeoTIFFWithFallback(), loadReferenceGeoTransform(), loadRoofMask() (+3 more) + +### Community 41 - "Community 41" +Cohesion: 0.19 +Nodes (12): getProjectForPdf(), ProjectResponse, FooterProps, HeaderProps, PdfFixedFooter(), PdfFixedHeader(), PrintReport(), PrintReportProps (+4 more) + +### Community 42 - "Community 42" +Cohesion: 0.13 +Nodes (14): devDependencies, typescript, exports, typescript, license, main, name, private (+6 more) + +### Community 43 - "Community 43" +Cohesion: 0.20 +Nodes (7): prisma, AppError, BadRequestError, ForbiddenError, NotFoundError, tariffRouter, TariffConfigResponse + +### Community 44 - "Community 44" +Cohesion: 0.21 +Nodes (8): GoogleSignInButton(), GoogleSignInButtonProps, ProtectedRoute(), useAuth(), SignInPage(), navigateMock, signInMock, useAuthMock + +### Community 45 - "Community 45" +Cohesion: 0.21 +Nodes (8): allowedOrigins, app, __dirname, errorHandler(), requestLogger(), healthRouter, projectsRouter, HealthResponse + +### Community 46 - "Community 46" +Cohesion: 0.22 +Nodes (10): hits, pdfTokenRateLimit(), createProjectSchema, saveAnalysisSchema, saveLayoutSchema, updateLayoutPreferencesSchema, createProjectRequestSchema, saveAnalysisRequestSchema (+2 more) + +### Community 47 - "Community 47" +Cohesion: 0.21 +Nodes (10): Express, extractToken(), Request, requirePdfToken(), InvalidPdfTokenError, PdfTokenPayload, SignedPdfToken, signPdfToken() (+2 more) + +### Community 48 - "Community 48" +Cohesion: 0.19 +Nodes (8): useWorkbenchKeyboard(), UseWorkbenchKeyboardOptions, billRangeToAnnualKwh(), describeLayoutPreset(), inferVisibleCount(), panels(), getPanelAnnualEnergy(), WorkbenchPage() + +### Community 49 - "Community 49" +Cohesion: 0.29 +Nodes (12): AnalysisConfig, ConnectionPhase, getConnectionPhase(), getConsumptionProfile(), getNumber(), getRoofType(), getTariffRatesOverride(), isRecord() (+4 more) + +### Community 50 - "Community 50" +Cohesion: 0.33 +Nodes (11): BillBreakdown, BillingConfig, computeBill(), computeNemMonth(), lookupEeiRebate(), round2(), round5sen(), runAnnualSimulation() (+3 more) + +### Community 51 - "Community 51" +Cohesion: 0.17 +Nodes (11): compilerOptions, outDir, rootDir, exclude, extends, include, src/**/*.test.ts, src/**/*.ts (+3 more) + +### Community 52 - "Community 52" +Cohesion: 0.31 +Nodes (9): categoriseError(), ChatLanguage, ErrorCategory, getErrorCode(), localiseErrorMessage(), redactErrorMessage(), generateWithRetry(), isRetryable() (+1 more) + +### Community 53 - "Community 53" +Cohesion: 0.18 +Nodes (11): class-variance-authority, dependencies, class-variance-authority, @googlemaps/js-api-loader, i18next-browser-languagedetector, react-markdown, @tanstack/react-query, @googlemaps/js-api-loader (+3 more) + +### Community 54 - "Community 54" +Cohesion: 0.24 +Nodes (8): MODEL_CELL_COLORS, ModelCard(), PanelModelDrawer(), PanelModelDrawerProps, PanelPreview3D, PANEL_MODELS, panelEditSchema, PanelModel + +### Community 55 - "Community 55" +Cohesion: 0.33 +Nodes (9): BadgeVariant, getProjectStatusConfig(), getProjectStatusLabel(), getProjectStatusTooltip(), getProjectStatusVariant(), STATUS_CONFIGS, StatusConfig, ALL_STATUSES (+1 more) + +### Community 56 - "Community 56" +Cohesion: 0.25 +Nodes (9): computeSystemCost(), CostInputs, costModelDefaults, electricalBosCost(), InverterSku, permitCost(), scaffoldingCost(), selectInverter() (+1 more) + +### Community 57 - "Community 57" +Cohesion: 0.42 +Nodes (7): checkQuota(), { count, single, eq, select, from }, countProjectsSinceUtcMidnight(), getQuotaSummary(), getUserTier(), nextUtcMidnight(), startOfUtcDay() + +### Community 58 - "Community 58" +Cohesion: 0.27 +Nodes (9): ColorStop, dsmStops, fluxStops, getOrGenerateOverlay(), getStopsForType(), lerpColor(), maskStops, OverlayType (+1 more) + +### Community 59 - "Community 59" +Cohesion: 0.24 +Nodes (7): requestPdfExportToken(), BASE_STYLE, baseOptions, notify, buildPdfFileName(), sanitizeFileName(), notificationStore + +### Community 60 - "Community 60" +Cohesion: 0.31 +Nodes (7): getOverlayUrl(), CanvasLegends(), CanvasLegendsProps, SegmentHull, OverlayMode, useLoadedImage(), useOverlayImages() + +### Community 61 - "Community 61" +Cohesion: 0.33 +Nodes (7): LanguageToggle(), useLocale(), LOCALE_LABELS, LOCALE_TO_INTL, resources, SUPPORTED_LOCALES, SupportedLocale + +### Community 62 - "Community 62" +Cohesion: 0.22 +Nodes (6): createProjectMock, getLocationStatusMock, getProjectMock, navigateMock, probeLocationMock, resolveLocationMock + +### Community 63 - "Community 63" +Cohesion: 0.25 +Nodes (6): __dirname, EEI_TABLE, prisma, RATES, THRESHOLDS, TariffDefaults + +### Community 64 - "Community 64" +Cohesion: 0.22 +Nodes (8): *.ts, compilerOptions, composite, outDir, rootDir, extends, include, ../tsconfig.json + +### Community 65 - "Community 65" +Cohesion: 0.36 +Nodes (8): BodySchema, handler(), normalizeOrigin(), PAGE_MARGIN, parseAllowedOrigins(), resolveCorsOrigin(), setCorsHeaders(), VIEWPORT + +### Community 66 - "Community 66" +Cohesion: 0.32 +Nodes (6): geotiff, convertRgbTiffToPng(), toArrayBuffer(), DownloadedLayer, StoredLocationAssets, geotiff + +### Community 67 - "Community 67" +Cohesion: 0.29 +Nodes (4): LoadedStreamChatModule, loadStreamChat(), makeProject(), TEST_ENV + +### Community 68 - "Community 68" +Cohesion: 0.32 +Nodes (7): globals, isOff(), prettier, reactHooks, tseslint, typescriptFiles, warnings() + +### Community 69 - "Community 69" +Cohesion: 0.25 +Nodes (6): handleExportPdfMock, markProjectVisitedMock, navigateMock, notifyErrorMock, notifySuccessMock, saveAnalysisMock + +### Community 70 - "Community 70" +Cohesion: 0.29 +Nodes (6): license, name, prisma, seed, private, type + +### Community 71 - "Community 71" +Cohesion: 0.29 +Nodes (6): calculateRadiusMock, enrichBuildingInsightsMock, fetchBuildingInsightsMock, fetchDataLayersMock, parseBuildingInsightsMock, VALID_BI + +### Community 72 - "Community 72" +Cohesion: 0.43 +Nodes (5): CardItem, loadOrder(), reconcile(), saveOrder(), SortableCardContainer() + +### Community 74 - "Community 74" +Cohesion: 0.38 +Nodes (5): getModalPosition(), GuidedTour(), GuidedTourModal(), TourStep, getWorkbenchTourSteps() + +### Community 75 - "Community 75" +Cohesion: 0.53 +Nodes (5): getLocationData(), getProject(), decodeBase64(), DecodedRoofMask, useWorkbenchData() + +### Community 76 - "Community 76" +Cohesion: 0.33 +Nodes (4): listProjectsMock, navigateMock, useAuthMock, useQuotaMock + +### Community 77 - "Community 77" +Cohesion: 0.33 +Nodes (4): deleteProjectMock, listProjectsMock, navigateMock, useQuotaMock + +### Community 78 - "Community 78" +Cohesion: 0.33 +Nodes (5): maxDuration, memory, functions, api/pdf-export.ts, $schema + +### Community 79 - "Community 79" +Cohesion: 0.40 +Nodes (5): scripts, build, dev, start, test + +### Community 80 - "Community 80" +Cohesion: 0.60 +Nodes (4): Props, readPermanentDismiss(), WorkbenchHintOverlay(), writePermanentDismiss() + +### Community 81 - "Community 81" +Cohesion: 0.60 +Nodes (4): getProjectLastVisitedAt(), markProjectVisited(), readEntries(), RecentProjectActivity + +## Knowledge Gaps +- **568 isolated node(s):** `name`, `private`, `license`, `type`, `dev` (+563 more) + These have ≤1 connection - possible missing edges or undocumented components. +- **43 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. + +## Suggested Questions +_Questions this graph is uniquely positioned to answer:_ + +- **Why does `geotiff` connect `Community 66` to `Community 24`, `Community 2`, `Community 40`, `Community 58`?** + _High betweenness centrality (0.059) - this node is a cross-community bridge._ +- **Why does `dependencies` connect `Community 24` to `Community 66`, `Community 70`, `Community 86`, `Community 87`, `Community 88`, `Community 89`?** + _High betweenness centrality (0.057) - this node is a cross-community bridge._ +- **Why does `loadFluxData()` connect `Community 2` to `Community 40`, `Community 66`?** + _High betweenness centrality (0.048) - this node is a cross-community bridge._ +- **What connects `name`, `private`, `license` to the rest of the system?** + _568 weakly-connected nodes found - possible documentation gaps or missing edges._ +- **Should `Community 0` be split into smaller, more focused modules?** + _Cohesion score 0.050747442958300554 - nodes in this community are weakly interconnected._ +- **Should `Community 1` be split into smaller, more focused modules?** + _Cohesion score 0.07490079365079365 - nodes in this community are weakly interconnected._ +- **Should `Community 2` be split into smaller, more focused modules?** + _Cohesion score 0.07482993197278912 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/graphify-out/graph.json b/graphify-out/graph.json new file mode 100644 index 0000000..e46f778 --- /dev/null +++ b/graphify-out/graph.json @@ -0,0 +1,60179 @@ +{ + "directed": false, + "multigraph": false, + "graph": {}, + "nodes": [ + { + "label": "backend/package.json", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L1", + "_origin": "ast", + "community": 70, + "norm_label": "backend/package.json", + "id": "backend_package", + "community_name": "Community 70" + }, + { + "label": "name", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L2", + "_origin": "ast", + "community": 70, + "norm_label": "name", + "id": "backend_package_name", + "community_name": "Community 70" + }, + { + "label": "private", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L3", + "_origin": "ast", + "community": 70, + "norm_label": "private", + "id": "backend_package_private", + "community_name": "Community 70" + }, + { + "label": "license", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L4", + "_origin": "ast", + "community": 70, + "norm_label": "license", + "id": "backend_package_license", + "community_name": "Community 70" + }, + { + "label": "type", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L5", + "_origin": "ast", + "community": 70, + "norm_label": "type", + "id": "backend_package_type", + "community_name": "Community 70" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L6", + "_origin": "ast", + "community": 79, + "norm_label": "scripts", + "id": "backend_package_scripts", + "community_name": "Community 79" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L7", + "_origin": "ast", + "community": 79, + "norm_label": "dev", + "id": "backend_package_scripts_dev", + "community_name": "Community 79" + }, + { + "label": "build", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L8", + "_origin": "ast", + "community": 79, + "norm_label": "build", + "id": "backend_package_scripts_build", + "community_name": "Community 79" + }, + { + "label": "start", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L9", + "_origin": "ast", + "community": 79, + "norm_label": "start", + "id": "backend_package_scripts_start", + "community_name": "Community 79" + }, + { + "label": "test", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L10", + "_origin": "ast", + "community": 79, + "norm_label": "test", + "id": "backend_package_scripts_test", + "community_name": "Community 79" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L12", + "_origin": "ast", + "community": 24, + "norm_label": "dependencies", + "id": "backend_package_dependencies", + "community_name": "Community 24" + }, + { + "label": "@google/genai", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L13", + "_origin": "ast", + "community": 24, + "norm_label": "@google/genai", + "id": "backend_package_dependencies_google_genai", + "community_name": "Community 24" + }, + { + "label": "@google/genai", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L13", + "_origin": "ast", + "community": 24, + "norm_label": "@google/genai", + "id": "google_genai", + "community_name": "Community 24" + }, + { + "label": "@prisma/client", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L14", + "_origin": "ast", + "community": 24, + "norm_label": "@prisma/client", + "id": "backend_package_dependencies_prisma_client", + "community_name": "Community 24" + }, + { + "label": "@prisma/client", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L14", + "_origin": "ast", + "community": 24, + "norm_label": "@prisma/client", + "id": "backend_package_json_prisma_client", + "community_name": "Community 24" + }, + { + "label": "@shared/types", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L15", + "_origin": "ast", + "community": 24, + "norm_label": "@shared/types", + "id": "backend_package_dependencies_shared_types", + "community_name": "Community 24" + }, + { + "label": "@shared/types", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L15", + "_origin": "ast", + "community": 24, + "norm_label": "@shared/types", + "id": "backend_package_json_shared_types", + "community_name": "Community 24" + }, + { + "label": "@supabase/supabase-js", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L16", + "_origin": "ast", + "community": 88, + "norm_label": "@supabase/supabase-js", + "id": "backend_package_dependencies_supabase_supabase_js", + "community_name": "Community 88" + }, + { + "label": "@supabase/supabase-js", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L16", + "_origin": "ast", + "community": 88, + "norm_label": "@supabase/supabase-js", + "id": "backend_package_json_supabase_supabase_js", + "community_name": "Community 88" + }, + { + "label": "compression", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L17", + "_origin": "ast", + "community": 89, + "norm_label": "compression", + "id": "backend_package_dependencies_compression", + "community_name": "Community 89" + }, + { + "label": "compression", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L17", + "_origin": "ast", + "community": 89, + "norm_label": "compression", + "id": "compression", + "community_name": "Community 89" + }, + { + "label": "cors", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L18", + "_origin": "ast", + "community": 86, + "norm_label": "cors", + "id": "backend_package_dependencies_cors", + "community_name": "Community 86" + }, + { + "label": "cors", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L18", + "_origin": "ast", + "community": 86, + "norm_label": "cors", + "id": "cors", + "community_name": "Community 86" + }, + { + "label": "dotenv", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L19", + "_origin": "ast", + "community": 24, + "norm_label": "dotenv", + "id": "backend_package_dependencies_dotenv", + "community_name": "Community 24" + }, + { + "label": "dotenv", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L19", + "_origin": "ast", + "community": 24, + "norm_label": "dotenv", + "id": "dotenv", + "community_name": "Community 24" + }, + { + "label": "dotenv-expand", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L20", + "_origin": "ast", + "community": 87, + "norm_label": "dotenv-expand", + "id": "backend_package_dependencies_dotenv_expand", + "community_name": "Community 87" + }, + { + "label": "dotenv-expand", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L20", + "_origin": "ast", + "community": 87, + "norm_label": "dotenv-expand", + "id": "dotenv_expand", + "community_name": "Community 87" + }, + { + "label": "express", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L21", + "_origin": "ast", + "community": 24, + "norm_label": "express", + "id": "backend_package_dependencies_express", + "community_name": "Community 24" + }, + { + "label": "express", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L21", + "_origin": "ast", + "community": 24, + "norm_label": "express", + "id": "express", + "community_name": "Community 24" + }, + { + "label": "geotiff", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L22", + "_origin": "ast", + "community": 66, + "norm_label": "geotiff", + "id": "backend_package_dependencies_geotiff", + "community_name": "Community 66" + }, + { + "label": "geotiff", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L22", + "_origin": "ast", + "community": 66, + "norm_label": "geotiff", + "id": "geotiff", + "community_name": "Community 66" + }, + { + "label": "jsonwebtoken", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L23", + "_origin": "ast", + "community": 24, + "norm_label": "jsonwebtoken", + "id": "backend_package_dependencies_jsonwebtoken", + "community_name": "Community 24" + }, + { + "label": "jsonwebtoken", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L23", + "_origin": "ast", + "community": 24, + "norm_label": "jsonwebtoken", + "id": "jsonwebtoken", + "community_name": "Community 24" + }, + { + "label": "proj4", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L24", + "_origin": "ast", + "community": 24, + "norm_label": "proj4", + "id": "backend_package_dependencies_proj4", + "community_name": "Community 24" + }, + { + "label": "proj4", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L24", + "_origin": "ast", + "community": 24, + "norm_label": "proj4", + "id": "backend_package_json_proj4", + "community_name": "Community 24" + }, + { + "label": "sharp", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L25", + "_origin": "ast", + "community": 24, + "norm_label": "sharp", + "id": "backend_package_dependencies_sharp", + "community_name": "Community 24" + }, + { + "label": "sharp", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L25", + "_origin": "ast", + "community": 24, + "norm_label": "sharp", + "id": "sharp", + "community_name": "Community 24" + }, + { + "label": "zod", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L26", + "_origin": "ast", + "community": 24, + "norm_label": "zod", + "id": "backend_package_dependencies_zod", + "community_name": "Community 24" + }, + { + "label": "zod", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L26", + "_origin": "ast", + "community": 24, + "norm_label": "zod", + "id": "backend_package_json_zod", + "community_name": "Community 24" + }, + { + "label": "prisma", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L28", + "_origin": "ast", + "community": 70, + "norm_label": "prisma", + "id": "backend_package_prisma", + "community_name": "Community 70" + }, + { + "label": "seed", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L29", + "_origin": "ast", + "community": 70, + "norm_label": "seed", + "id": "backend_package_prisma_seed", + "community_name": "Community 70" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L31", + "_origin": "ast", + "community": 21, + "norm_label": "devdependencies", + "id": "backend_package_devdependencies", + "community_name": "Community 21" + }, + { + "label": "@types/compression", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L32", + "_origin": "ast", + "community": 21, + "norm_label": "@types/compression", + "id": "backend_package_devdependencies_types_compression", + "community_name": "Community 21" + }, + { + "label": "@types/compression", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L32", + "_origin": "ast", + "community": 21, + "norm_label": "@types/compression", + "id": "types_compression", + "community_name": "Community 21" + }, + { + "label": "@types/cors", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L33", + "_origin": "ast", + "community": 21, + "norm_label": "@types/cors", + "id": "backend_package_devdependencies_types_cors", + "community_name": "Community 21" + }, + { + "label": "@types/cors", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L33", + "_origin": "ast", + "community": 21, + "norm_label": "@types/cors", + "id": "types_cors", + "community_name": "Community 21" + }, + { + "label": "@types/express", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L34", + "_origin": "ast", + "community": 21, + "norm_label": "@types/express", + "id": "backend_package_devdependencies_types_express", + "community_name": "Community 21" + }, + { + "label": "@types/express", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L34", + "_origin": "ast", + "community": 21, + "norm_label": "@types/express", + "id": "types_express", + "community_name": "Community 21" + }, + { + "label": "@types/jsonwebtoken", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L35", + "_origin": "ast", + "community": 21, + "norm_label": "@types/jsonwebtoken", + "id": "backend_package_devdependencies_types_jsonwebtoken", + "community_name": "Community 21" + }, + { + "label": "@types/jsonwebtoken", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L35", + "_origin": "ast", + "community": 21, + "norm_label": "@types/jsonwebtoken", + "id": "types_jsonwebtoken", + "community_name": "Community 21" + }, + { + "label": "@types/node", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L36", + "_origin": "ast", + "community": 21, + "norm_label": "@types/node", + "id": "backend_package_devdependencies_types_node", + "community_name": "Community 21" + }, + { + "label": "@types/node", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L36", + "_origin": "ast", + "community": 21, + "norm_label": "@types/node", + "id": "backend_package_json_types_node", + "community_name": "Community 21" + }, + { + "label": "@types/proj4", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L37", + "_origin": "ast", + "community": 21, + "norm_label": "@types/proj4", + "id": "backend_package_devdependencies_types_proj4", + "community_name": "Community 21" + }, + { + "label": "@types/proj4", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L37", + "_origin": "ast", + "community": 21, + "norm_label": "@types/proj4", + "id": "types_proj4", + "community_name": "Community 21" + }, + { + "label": "prisma", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L38", + "_origin": "ast", + "community": 21, + "norm_label": "prisma", + "id": "backend_package_devdependencies_prisma", + "community_name": "Community 21" + }, + { + "label": "prisma", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L38", + "_origin": "ast", + "community": 21, + "norm_label": "prisma", + "id": "backend_package_json_prisma", + "community_name": "Community 21" + }, + { + "label": "tsx", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L39", + "_origin": "ast", + "community": 21, + "norm_label": "tsx", + "id": "backend_package_devdependencies_tsx", + "community_name": "Community 21" + }, + { + "label": "tsx", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L39", + "_origin": "ast", + "community": 21, + "norm_label": "tsx", + "id": "tsx", + "community_name": "Community 21" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L40", + "_origin": "ast", + "community": 21, + "norm_label": "typescript", + "id": "backend_package_devdependencies_typescript", + "community_name": "Community 21" + }, + { + "label": "typescript", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L40", + "_origin": "ast", + "community": 21, + "norm_label": "typescript", + "id": "backend_package_json_typescript", + "community_name": "Community 21" + }, + { + "label": "vitest", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L41", + "_origin": "ast", + "community": 21, + "norm_label": "vitest", + "id": "backend_package_devdependencies_vitest", + "community_name": "Community 21" + }, + { + "label": "vitest", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L41", + "_origin": "ast", + "community": 21, + "norm_label": "vitest", + "id": "backend_package_json_vitest", + "community_name": "Community 21" + }, + { + "label": "app.ts", + "file_type": "code", + "source_file": "backend/src/app.ts", + "source_location": "L1", + "_origin": "ast", + "community": 45, + "norm_label": "app.ts", + "id": "backend_src_app", + "community_name": "Community 45" + }, + { + "label": "__dirname", + "file_type": "code", + "source_file": "backend/src/app.ts", + "source_location": "L16", + "_origin": "ast", + "community": 45, + "norm_label": "__dirname", + "id": "backend_src_app_dirname", + "community_name": "Community 45" + }, + { + "label": "allowedOrigins", + "file_type": "code", + "source_file": "backend/src/app.ts", + "source_location": "L18", + "_origin": "ast", + "community": 45, + "norm_label": "allowedorigins", + "id": "backend_src_app_allowedorigins", + "community_name": "Community 45" + }, + { + "label": "app", + "file_type": "code", + "source_file": "backend/src/app.ts", + "source_location": "L31", + "_origin": "ast", + "community": 45, + "norm_label": "app", + "id": "backend_src_app_app", + "community_name": "Community 45" + }, + { + "label": "env.ts", + "file_type": "code", + "source_file": "backend/src/config/env.ts", + "source_location": "L1", + "_origin": "ast", + "community": 40, + "norm_label": "env.ts", + "id": "backend_src_config_env", + "community_name": "Community 40" + }, + { + "label": "__dirname", + "file_type": "code", + "source_file": "backend/src/config/env.ts", + "source_location": "L14", + "_origin": "ast", + "community": 40, + "norm_label": "__dirname", + "id": "backend_src_config_env_dirname", + "community_name": "Community 40" + }, + { + "label": "envSchema", + "file_type": "code", + "source_file": "backend/src/config/env.ts", + "source_location": "L17", + "_origin": "ast", + "community": 40, + "norm_label": "envschema", + "id": "backend_src_config_env_envschema", + "community_name": "Community 40" + }, + { + "label": "parsed", + "file_type": "code", + "source_file": "backend/src/config/env.ts", + "source_location": "L47", + "_origin": "ast", + "community": 40, + "norm_label": "parsed", + "id": "backend_src_config_env_parsed", + "community_name": "Community 40" + }, + { + "label": "env", + "file_type": "code", + "source_file": "backend/src/config/env.ts", + "source_location": "L55", + "_origin": "ast", + "community": 40, + "norm_label": "env", + "id": "backend_src_config_env_env", + "community_name": "Community 40" + }, + { + "label": "prisma.ts", + "file_type": "code", + "source_file": "backend/src/config/prisma.ts", + "source_location": "L1", + "_origin": "ast", + "community": 43, + "norm_label": "prisma.ts", + "id": "backend_src_config_prisma", + "community_name": "Community 43" + }, + { + "label": "prisma", + "file_type": "code", + "source_file": "backend/src/config/prisma.ts", + "source_location": "L4", + "_origin": "ast", + "community": 43, + "norm_label": "prisma", + "id": "backend_src_config_prisma_prisma", + "community_name": "Community 43" + }, + { + "label": "config/supabase.ts", + "file_type": "code", + "source_file": "backend/src/config/supabase.ts", + "source_location": "L1", + "_origin": "ast", + "community": 40, + "norm_label": "config/supabase.ts", + "id": "backend_src_config_supabase", + "community_name": "Community 40" + }, + { + "label": "supabase", + "file_type": "code", + "source_file": "backend/src/config/supabase.ts", + "source_location": "L5", + "_origin": "ast", + "community": 40, + "norm_label": "supabase", + "id": "backend_src_config_supabase_supabase", + "community_name": "Community 40" + }, + { + "label": "src/errors.ts", + "file_type": "code", + "source_file": "backend/src/errors.ts", + "source_location": "L1", + "_origin": "ast", + "community": 43, + "norm_label": "src/errors.ts", + "id": "backend_src_errors", + "community_name": "Community 43" + }, + { + "label": "AppError", + "file_type": "code", + "source_file": "backend/src/errors.ts", + "source_location": "L4", + "_origin": "ast", + "community": 43, + "norm_label": "apperror", + "id": "backend_src_errors_apperror", + "community_name": "Community 43" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/errors.ts", + "source_location": "L5", + "_origin": "ast", + "community": 43, + "norm_label": ".constructor()", + "id": "backend_src_errors_apperror_constructor", + "community_name": "Community 43" + }, + { + "label": "BadRequestError", + "file_type": "code", + "source_file": "backend/src/errors.ts", + "source_location": "L17", + "_origin": "ast", + "community": 43, + "norm_label": "badrequesterror", + "id": "backend_src_errors_badrequesterror", + "community_name": "Community 43" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/errors.ts", + "source_location": "L18", + "_origin": "ast", + "community": 43, + "norm_label": ".constructor()", + "id": "backend_src_errors_badrequesterror_constructor", + "community_name": "Community 43" + }, + { + "label": "ForbiddenError", + "file_type": "code", + "source_file": "backend/src/errors.ts", + "source_location": "L26", + "_origin": "ast", + "community": 43, + "norm_label": "forbiddenerror", + "id": "backend_src_errors_forbiddenerror", + "community_name": "Community 43" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/errors.ts", + "source_location": "L27", + "_origin": "ast", + "community": 43, + "norm_label": ".constructor()", + "id": "backend_src_errors_forbiddenerror_constructor", + "community_name": "Community 43" + }, + { + "label": "NotFoundError", + "file_type": "code", + "source_file": "backend/src/errors.ts", + "source_location": "L35", + "_origin": "ast", + "community": 43, + "norm_label": "notfounderror", + "id": "backend_src_errors_notfounderror", + "community_name": "Community 43" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/errors.ts", + "source_location": "L36", + "_origin": "ast", + "community": 43, + "norm_label": ".constructor()", + "id": "backend_src_errors_notfounderror_constructor", + "community_name": "Community 43" + }, + { + "label": "fluxSampler.test.ts", + "file_type": "code", + "source_file": "backend/src/geo/__tests__/fluxSampler.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 2, + "norm_label": "fluxsampler.test.ts", + "id": "backend_src_geo_tests_fluxsampler_test", + "community_name": "Community 2" + }, + { + "label": "panelGeometry.test.ts", + "file_type": "code", + "source_file": "backend/src/geo/__tests__/panelGeometry.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 2, + "norm_label": "panelgeometry.test.ts", + "id": "backend_src_geo_tests_panelgeometry_test", + "community_name": "Community 2" + }, + { + "label": "transforms.test.ts", + "file_type": "code", + "source_file": "backend/src/geo/__tests__/transforms.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 2, + "norm_label": "transforms.test.ts", + "id": "backend_src_geo_tests_transforms_test", + "community_name": "Community 2" + }, + { + "label": "mockGeo", + "file_type": "code", + "source_file": "backend/src/geo/__tests__/transforms.test.ts", + "source_location": "L7", + "_origin": "ast", + "community": 2, + "norm_label": "mockgeo", + "id": "backend_src_geo_tests_transforms_test_mockgeo", + "community_name": "Community 2" + }, + { + "label": "fluxSampler.ts", + "file_type": "code", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L1", + "_origin": "ast", + "community": 2, + "norm_label": "fluxsampler.ts", + "id": "backend_src_geo_fluxsampler", + "community_name": "Community 2" + }, + { + "label": "pointInPolygon()", + "file_type": "code", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L36", + "_origin": "ast", + "community": 2, + "norm_label": "pointinpolygon()", + "id": "backend_src_geo_fluxsampler_pointinpolygon", + "community_name": "Community 2" + }, + { + "label": "calculateAverageFlux()", + "file_type": "code", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L76", + "_origin": "ast", + "community": 2, + "norm_label": "calculateaverageflux()", + "id": "backend_src_geo_fluxsampler_calculateaverageflux", + "community_name": "Community 2" + }, + { + "label": "computeMonthlyEnergy()", + "file_type": "code", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L121", + "_origin": "ast", + "community": 2, + "norm_label": "computemonthlyenergy()", + "id": "backend_src_geo_fluxsampler_computemonthlyenergy", + "community_name": "Community 2" + }, + { + "label": "PreloadedFluxRasters", + "file_type": "code", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L148", + "_origin": "ast", + "community": 2, + "norm_label": "preloadedfluxrasters", + "id": "backend_src_geo_fluxsampler_preloadedfluxrasters", + "community_name": "Community 2" + }, + { + "label": "preloadFluxRasters()", + "file_type": "code", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L167", + "_origin": "ast", + "community": 2, + "norm_label": "preloadfluxrasters()", + "id": "backend_src_geo_fluxsampler_preloadfluxrasters", + "community_name": "Community 2" + }, + { + "label": "computeMonthlyEnergyFromRasters()", + "file_type": "code", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L189", + "_origin": "ast", + "community": 2, + "norm_label": "computemonthlyenergyfromrasters()", + "id": "backend_src_geo_fluxsampler_computemonthlyenergyfromrasters", + "community_name": "Community 2" + }, + { + "label": "panelGeometry.ts", + "file_type": "code", + "source_file": "backend/src/geo/panelGeometry.ts", + "source_location": "L1", + "_origin": "ast", + "community": 2, + "norm_label": "panelgeometry.ts", + "id": "backend_src_geo_panelgeometry", + "community_name": "Community 2" + }, + { + "label": "rotatePoint()", + "file_type": "code", + "source_file": "backend/src/geo/panelGeometry.ts", + "source_location": "L22", + "_origin": "ast", + "community": 2, + "norm_label": "rotatepoint()", + "id": "backend_src_geo_panelgeometry_rotatepoint", + "community_name": "Community 2" + }, + { + "label": "getRotatedCorners()", + "file_type": "code", + "source_file": "backend/src/geo/panelGeometry.ts", + "source_location": "L45", + "_origin": "ast", + "community": 2, + "norm_label": "getrotatedcorners()", + "id": "backend_src_geo_panelgeometry_getrotatedcorners", + "community_name": "Community 2" + }, + { + "label": "transforms.ts", + "file_type": "code", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L1", + "_origin": "ast", + "community": 2, + "norm_label": "transforms.ts", + "id": "backend_src_geo_transforms", + "community_name": "Community 2" + }, + { + "label": "GeoTransform", + "file_type": "code", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L25", + "_origin": "ast", + "community": 2, + "norm_label": "geotransform", + "id": "backend_src_geo_transforms_geotransform", + "community_name": "Community 2" + }, + { + "label": "setupGeoTransform()", + "file_type": "code", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L50", + "_origin": "ast", + "community": 2, + "norm_label": "setupgeotransform()", + "id": "backend_src_geo_transforms_setupgeotransform", + "community_name": "Community 2" + }, + { + "label": "latLngToPixel()", + "file_type": "code", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L79", + "_origin": "ast", + "community": 2, + "norm_label": "latlngtopixel()", + "id": "backend_src_geo_transforms_latlngtopixel", + "community_name": "Community 2" + }, + { + "label": "pixelToLatLng()", + "file_type": "code", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L96", + "_origin": "ast", + "community": 2, + "norm_label": "pixeltolatlng()", + "id": "backend_src_geo_transforms_pixeltolatlng", + "community_name": "Community 2" + }, + { + "label": "metersToPixels()", + "file_type": "code", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L114", + "_origin": "ast", + "community": 2, + "norm_label": "meterstopixels()", + "id": "backend_src_geo_transforms_meterstopixels", + "community_name": "Community 2" + }, + { + "label": "asyncHandler.ts", + "file_type": "code", + "source_file": "backend/src/middleware/asyncHandler.ts", + "source_location": "L1", + "_origin": "ast", + "community": 22, + "norm_label": "asynchandler.ts", + "id": "backend_src_middleware_asynchandler", + "community_name": "Community 22" + }, + { + "label": "AsyncRouteHandler", + "file_type": "code", + "source_file": "backend/src/middleware/asyncHandler.ts", + "source_location": "L10", + "_origin": "ast", + "community": 22, + "norm_label": "asyncroutehandler", + "id": "backend_src_middleware_asynchandler_asyncroutehandler", + "community_name": "Community 22" + }, + { + "label": "asyncHandler()", + "file_type": "code", + "source_file": "backend/src/middleware/asyncHandler.ts", + "source_location": "L18", + "_origin": "ast", + "community": 22, + "norm_label": "asynchandler()", + "id": "backend_src_middleware_asynchandler_asynchandler", + "community_name": "Community 22" + }, + { + "label": "auth.ts", + "file_type": "code", + "source_file": "backend/src/middleware/auth.ts", + "source_location": "L1", + "_origin": "ast", + "community": 22, + "norm_label": "auth.ts", + "id": "backend_src_middleware_auth", + "community_name": "Community 22" + }, + { + "label": "Express", + "file_type": "code", + "source_file": "backend/src/middleware/auth.ts", + "source_location": "L12", + "_origin": "ast", + "community": 22, + "norm_label": "express", + "id": "backend_src_middleware_auth_express", + "community_name": "Community 22" + }, + { + "label": "Request", + "file_type": "code", + "source_file": "backend/src/middleware/auth.ts", + "source_location": "L14", + "_origin": "ast", + "community": 22, + "norm_label": "request", + "id": "backend_src_middleware_auth_request", + "community_name": "Community 22" + }, + { + "label": "requireAuth()", + "file_type": "code", + "source_file": "backend/src/middleware/auth.ts", + "source_location": "L28", + "_origin": "ast", + "community": 22, + "norm_label": "requireauth()", + "id": "backend_src_middleware_auth_requireauth", + "community_name": "Community 22" + }, + { + "label": "checkQuota.ts", + "file_type": "code", + "source_file": "backend/src/middleware/checkQuota.ts", + "source_location": "L1", + "_origin": "ast", + "community": 57, + "norm_label": "checkquota.ts", + "id": "backend_src_middleware_checkquota", + "community_name": "Community 57" + }, + { + "label": "checkQuota()", + "file_type": "code", + "source_file": "backend/src/middleware/checkQuota.ts", + "source_location": "L18", + "_origin": "ast", + "community": 57, + "norm_label": "checkquota()", + "id": "backend_src_middleware_checkquota_checkquota", + "community_name": "Community 57" + }, + { + "label": "errorHandler.ts", + "file_type": "code", + "source_file": "backend/src/middleware/errorHandler.ts", + "source_location": "L1", + "_origin": "ast", + "community": 45, + "norm_label": "errorhandler.ts", + "id": "backend_src_middleware_errorhandler", + "community_name": "Community 45" + }, + { + "label": "errorHandler()", + "file_type": "code", + "source_file": "backend/src/middleware/errorHandler.ts", + "source_location": "L20", + "_origin": "ast", + "community": 45, + "norm_label": "errorhandler()", + "id": "backend_src_middleware_errorhandler_errorhandler", + "community_name": "Community 45" + }, + { + "label": "pdfTokenRateLimit.ts", + "file_type": "code", + "source_file": "backend/src/middleware/pdfTokenRateLimit.ts", + "source_location": "L1", + "_origin": "ast", + "community": 46, + "norm_label": "pdftokenratelimit.ts", + "id": "backend_src_middleware_pdftokenratelimit", + "community_name": "Community 46" + }, + { + "label": "hits", + "file_type": "code", + "source_file": "backend/src/middleware/pdfTokenRateLimit.ts", + "source_location": "L15", + "_origin": "ast", + "community": 46, + "norm_label": "hits", + "id": "backend_src_middleware_pdftokenratelimit_hits", + "community_name": "Community 46" + }, + { + "label": "pdfTokenRateLimit()", + "file_type": "code", + "source_file": "backend/src/middleware/pdfTokenRateLimit.ts", + "source_location": "L25", + "_origin": "ast", + "community": 46, + "norm_label": "pdftokenratelimit()", + "id": "backend_src_middleware_pdftokenratelimit_pdftokenratelimit", + "community_name": "Community 46" + }, + { + "label": "requestLogger.ts", + "file_type": "code", + "source_file": "backend/src/middleware/requestLogger.ts", + "source_location": "L1", + "_origin": "ast", + "community": 45, + "norm_label": "requestlogger.ts", + "id": "backend_src_middleware_requestlogger", + "community_name": "Community 45" + }, + { + "label": "requestLogger()", + "file_type": "code", + "source_file": "backend/src/middleware/requestLogger.ts", + "source_location": "L17", + "_origin": "ast", + "community": 45, + "norm_label": "requestlogger()", + "id": "backend_src_middleware_requestlogger_requestlogger", + "community_name": "Community 45" + }, + { + "label": "requirePdfToken.ts", + "file_type": "code", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L1", + "_origin": "ast", + "community": 47, + "norm_label": "requirepdftoken.ts", + "id": "backend_src_middleware_requirepdftoken", + "community_name": "Community 47" + }, + { + "label": "Express", + "file_type": "code", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L12", + "_origin": "ast", + "community": 47, + "norm_label": "express", + "id": "backend_src_middleware_requirepdftoken_express", + "community_name": "Community 47" + }, + { + "label": "Request", + "file_type": "code", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L14", + "_origin": "ast", + "community": 47, + "norm_label": "request", + "id": "backend_src_middleware_requirepdftoken_request", + "community_name": "Community 47" + }, + { + "label": "extractToken()", + "file_type": "code", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L29", + "_origin": "ast", + "community": 47, + "norm_label": "extracttoken()", + "id": "backend_src_middleware_requirepdftoken_extracttoken", + "community_name": "Community 47" + }, + { + "label": "requirePdfToken()", + "file_type": "code", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L45", + "_origin": "ast", + "community": 47, + "norm_label": "requirepdftoken()", + "id": "backend_src_middleware_requirepdftoken_requirepdftoken", + "community_name": "Community 47" + }, + { + "label": "validate.ts", + "file_type": "code", + "source_file": "backend/src/middleware/validate.ts", + "source_location": "L1", + "_origin": "ast", + "community": 22, + "norm_label": "validate.ts", + "id": "backend_src_middleware_validate", + "community_name": "Community 22" + }, + { + "label": "validate()", + "file_type": "code", + "source_file": "backend/src/middleware/validate.ts", + "source_location": "L17", + "_origin": "ast", + "community": 22, + "norm_label": "validate()", + "id": "backend_src_middleware_validate_validate", + "community_name": "Community 22" + }, + { + "label": "routes/chat.ts", + "file_type": "code", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L1", + "_origin": "ast", + "community": 22, + "norm_label": "routes/chat.ts", + "id": "backend_src_routes_chat", + "community_name": "Community 22" + }, + { + "label": "chatRouter", + "file_type": "code", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L18", + "_origin": "ast", + "community": 22, + "norm_label": "chatrouter", + "id": "backend_src_routes_chat_chatrouter", + "community_name": "Community 22" + }, + { + "label": "health.ts", + "file_type": "code", + "source_file": "backend/src/routes/health.ts", + "source_location": "L1", + "_origin": "ast", + "community": 45, + "norm_label": "health.ts", + "id": "backend_src_routes_health", + "community_name": "Community 45" + }, + { + "label": "healthRouter", + "file_type": "code", + "source_file": "backend/src/routes/health.ts", + "source_location": "L14", + "_origin": "ast", + "community": 45, + "norm_label": "healthrouter", + "id": "backend_src_routes_health_healthrouter", + "community_name": "Community 45" + }, + { + "label": "routes/locations.ts", + "file_type": "code", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L1", + "_origin": "ast", + "community": 22, + "norm_label": "routes/locations.ts", + "id": "backend_src_routes_locations", + "community_name": "Community 22" + }, + { + "label": "locationsRouter", + "file_type": "code", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L26", + "_origin": "ast", + "community": 22, + "norm_label": "locationsrouter", + "id": "backend_src_routes_locations_locationsrouter", + "community_name": "Community 22" + }, + { + "label": "routes/projects.ts", + "file_type": "code", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L1", + "_origin": "ast", + "community": 46, + "norm_label": "routes/projects.ts", + "id": "backend_src_routes_projects", + "community_name": "Community 46" + }, + { + "label": "projectsRouter", + "file_type": "code", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L28", + "_origin": "ast", + "community": 45, + "norm_label": "projectsrouter", + "id": "backend_src_routes_projects_projectsrouter", + "community_name": "Community 45" + }, + { + "label": "routes/quota.ts", + "file_type": "code", + "source_file": "backend/src/routes/quota.ts", + "source_location": "L1", + "_origin": "ast", + "community": 22, + "norm_label": "routes/quota.ts", + "id": "backend_src_routes_quota", + "community_name": "Community 22" + }, + { + "label": "quotaRouter", + "file_type": "code", + "source_file": "backend/src/routes/quota.ts", + "source_location": "L16", + "_origin": "ast", + "community": 22, + "norm_label": "quotarouter", + "id": "backend_src_routes_quota_quotarouter", + "community_name": "Community 22" + }, + { + "label": "routes/tariff.ts", + "file_type": "code", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L1", + "_origin": "ast", + "community": 43, + "norm_label": "routes/tariff.ts", + "id": "backend_src_routes_tariff", + "community_name": "Community 43" + }, + { + "label": "tariffRouter", + "file_type": "code", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L17", + "_origin": "ast", + "community": 43, + "norm_label": "tariffrouter", + "id": "backend_src_routes_tariff_tariffrouter", + "community_name": "Community 43" + }, + { + "label": "server.ts", + "file_type": "code", + "source_file": "backend/src/server.ts", + "source_location": "L1", + "_origin": "ast", + "community": 45, + "norm_label": "server.ts", + "id": "backend_src_server", + "community_name": "Community 45" + }, + { + "label": "buildingInsightsService.test.ts", + "file_type": "code", + "source_file": "backend/src/services/__tests__/buildingInsightsService.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 2, + "norm_label": "buildinginsightsservice.test.ts", + "id": "backend_src_services_tests_buildinginsightsservice_test", + "community_name": "Community 2" + }, + { + "label": "fluxRecomputeService.test.ts", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 2, + "norm_label": "fluxrecomputeservice.test.ts", + "id": "backend_src_services_tests_fluxrecomputeservice_test", + "community_name": "Community 2" + }, + { + "label": "downloadFromStorageMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L10", + "_origin": "ast", + "community": 2, + "norm_label": "downloadfromstoragemock", + "id": "backend_src_services_tests_fluxrecomputeservice_test_downloadfromstoragemock", + "community_name": "Community 2" + }, + { + "label": "fromArrayBufferMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L11", + "_origin": "ast", + "community": 2, + "norm_label": "fromarraybuffermock", + "id": "backend_src_services_tests_fluxrecomputeservice_test_fromarraybuffermock", + "community_name": "Community 2" + }, + { + "label": "setupGeoTransformMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L12", + "_origin": "ast", + "community": 2, + "norm_label": "setupgeotransformmock", + "id": "backend_src_services_tests_fluxrecomputeservice_test_setupgeotransformmock", + "community_name": "Community 2" + }, + { + "label": "latLngToPixelMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L13", + "_origin": "ast", + "community": 2, + "norm_label": "latlngtopixelmock", + "id": "backend_src_services_tests_fluxrecomputeservice_test_latlngtopixelmock", + "community_name": "Community 2" + }, + { + "label": "metersToPixelsMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L14", + "_origin": "ast", + "community": 2, + "norm_label": "meterstopixelsmock", + "id": "backend_src_services_tests_fluxrecomputeservice_test_meterstopixelsmock", + "community_name": "Community 2" + }, + { + "label": "getRotatedCornersMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L15", + "_origin": "ast", + "community": 2, + "norm_label": "getrotatedcornersmock", + "id": "backend_src_services_tests_fluxrecomputeservice_test_getrotatedcornersmock", + "community_name": "Community 2" + }, + { + "label": "computeMonthlyEnergyMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L16", + "_origin": "ast", + "community": 2, + "norm_label": "computemonthlyenergymock", + "id": "backend_src_services_tests_fluxrecomputeservice_test_computemonthlyenergymock", + "community_name": "Community 2" + }, + { + "label": "PANEL_SPECS", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L45", + "_origin": "ast", + "community": 2, + "norm_label": "panel_specs", + "id": "backend_src_services_tests_fluxrecomputeservice_test_panel_specs", + "community_name": "Community 2" + }, + { + "label": "FAKE_GEO", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L51", + "_origin": "ast", + "community": 2, + "norm_label": "fake_geo", + "id": "backend_src_services_tests_fluxrecomputeservice_test_fake_geo", + "community_name": "Community 2" + }, + { + "label": "FAKE_IMAGE", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L52", + "_origin": "ast", + "community": 2, + "norm_label": "fake_image", + "id": "backend_src_services_tests_fluxrecomputeservice_test_fake_image", + "community_name": "Community 2" + }, + { + "label": "FAKE_BUFFER", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L53", + "_origin": "ast", + "community": 2, + "norm_label": "fake_buffer", + "id": "backend_src_services_tests_fluxrecomputeservice_test_fake_buffer", + "community_name": "Community 2" + }, + { + "label": "setupHappyPath()", + "file_type": "code", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L55", + "_origin": "ast", + "community": 2, + "norm_label": "setuphappypath()", + "id": "backend_src_services_tests_fluxrecomputeservice_test_setuphappypath", + "community_name": "Community 2" + }, + { + "label": "locationPipeline.test.ts", + "file_type": "code", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 71, + "norm_label": "locationpipeline.test.ts", + "id": "backend_src_services_tests_locationpipeline_test", + "community_name": "Community 71" + }, + { + "label": "fetchBuildingInsightsMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L10", + "_origin": "ast", + "community": 71, + "norm_label": "fetchbuildinginsightsmock", + "id": "backend_src_services_tests_locationpipeline_test_fetchbuildinginsightsmock", + "community_name": "Community 71" + }, + { + "label": "fetchDataLayersMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L11", + "_origin": "ast", + "community": 71, + "norm_label": "fetchdatalayersmock", + "id": "backend_src_services_tests_locationpipeline_test_fetchdatalayersmock", + "community_name": "Community 71" + }, + { + "label": "calculateRadiusMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L12", + "_origin": "ast", + "community": 71, + "norm_label": "calculateradiusmock", + "id": "backend_src_services_tests_locationpipeline_test_calculateradiusmock", + "community_name": "Community 71" + }, + { + "label": "enrichBuildingInsightsMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L13", + "_origin": "ast", + "community": 71, + "norm_label": "enrichbuildinginsightsmock", + "id": "backend_src_services_tests_locationpipeline_test_enrichbuildinginsightsmock", + "community_name": "Community 71" + }, + { + "label": "parseBuildingInsightsMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L14", + "_origin": "ast", + "community": 71, + "norm_label": "parsebuildinginsightsmock", + "id": "backend_src_services_tests_locationpipeline_test_parsebuildinginsightsmock", + "community_name": "Community 71" + }, + { + "label": "VALID_BI", + "file_type": "code", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L35", + "_origin": "ast", + "community": 71, + "norm_label": "valid_bi", + "id": "backend_src_services_tests_locationpipeline_test_valid_bi", + "community_name": "Community 71" + }, + { + "label": "locationService.test.ts", + "file_type": "code", + "source_file": "backend/src/services/__tests__/locationService.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 26, + "norm_label": "locationservice.test.ts", + "id": "backend_src_services_tests_locationservice_test", + "community_name": "Community 26" + }, + { + "label": "{ findFirst, update, create, projectUpdateMany }", + "file_type": "code", + "source_file": "backend/src/services/__tests__/locationService.test.ts", + "source_location": "L3", + "_origin": "ast", + "community": 26, + "norm_label": "{ findfirst, update, create, projectupdatemany }", + "id": "backend_src_services_tests_locationservice_test_findfirst_update_create_projectupdatemany", + "community_name": "Community 26" + }, + { + "label": "runLocationPipelineMock", + "file_type": "code", + "source_file": "backend/src/services/__tests__/locationService.test.ts", + "source_location": "L10", + "_origin": "ast", + "community": 26, + "norm_label": "runlocationpipelinemock", + "id": "backend_src_services_tests_locationservice_test_runlocationpipelinemock", + "community_name": "Community 26" + }, + { + "label": "pdfTokenService.test.ts", + "file_type": "code", + "source_file": "backend/src/services/__tests__/pdfTokenService.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 124, + "norm_label": "pdftokenservice.test.ts", + "id": "backend_src_services_tests_pdftokenservice_test", + "community_name": "Community 124" + }, + { + "label": "solarApiService.test.ts", + "file_type": "code", + "source_file": "backend/src/services/__tests__/solarApiService.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 6, + "norm_label": "solarapiservice.test.ts", + "id": "backend_src_services_tests_solarapiservice_test", + "community_name": "Community 6" + }, + { + "label": "mockFetch", + "file_type": "code", + "source_file": "backend/src/services/__tests__/solarApiService.test.ts", + "source_location": "L9", + "_origin": "ast", + "community": 6, + "norm_label": "mockfetch", + "id": "backend_src_services_tests_solarapiservice_test_mockfetch", + "community_name": "Community 6" + }, + { + "label": "userService.test.ts", + "file_type": "code", + "source_file": "backend/src/services/__tests__/userService.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 57, + "norm_label": "userservice.test.ts", + "id": "backend_src_services_tests_userservice_test", + "community_name": "Community 57" + }, + { + "label": "{ count, single, eq, select, from }", + "file_type": "code", + "source_file": "backend/src/services/__tests__/userService.test.ts", + "source_location": "L3", + "_origin": "ast", + "community": 57, + "norm_label": "{ count, single, eq, select, from }", + "id": "backend_src_services_tests_userservice_test_count_single_eq_select_from", + "community_name": "Community 57" + }, + { + "label": "buildingInsightsService.ts", + "file_type": "code", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L1", + "_origin": "ast", + "community": 2, + "norm_label": "buildinginsightsservice.ts", + "id": "backend_src_services_buildinginsightsservice", + "community_name": "Community 2" + }, + { + "label": "solarPanelSchema", + "file_type": "code", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L10", + "_origin": "ast", + "community": 2, + "norm_label": "solarpanelschema", + "id": "backend_src_services_buildinginsightsservice_solarpanelschema", + "community_name": "Community 2" + }, + { + "label": "solarPotentialSchema", + "file_type": "code", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L12", + "_origin": "ast", + "community": 2, + "norm_label": "solarpotentialschema", + "id": "backend_src_services_buildinginsightsservice_solarpotentialschema", + "community_name": "Community 2" + }, + { + "label": "latLngSchema", + "file_type": "code", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L21", + "_origin": "ast", + "community": 2, + "norm_label": "latlngschema", + "id": "backend_src_services_buildinginsightsservice_latlngschema", + "community_name": "Community 2" + }, + { + "label": "buildingInsightsSchema", + "file_type": "code", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L26", + "_origin": "ast", + "community": 2, + "norm_label": "buildinginsightsschema", + "id": "backend_src_services_buildinginsightsservice_buildinginsightsschema", + "community_name": "Community 2" + }, + { + "label": "PanelSpecs", + "file_type": "code", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L39", + "_origin": "ast", + "community": 2, + "norm_label": "panelspecs", + "id": "backend_src_services_buildinginsightsservice_panelspecs", + "community_name": "Community 2" + }, + { + "label": "BuildingInsightsDto", + "file_type": "code", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L43", + "_origin": "ast", + "community": 2, + "norm_label": "buildinginsightsdto", + "id": "backend_src_services_buildinginsightsservice_buildinginsightsdto", + "community_name": "Community 2" + }, + { + "label": "parseBuildingInsights()", + "file_type": "code", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L51", + "_origin": "ast", + "community": 6, + "norm_label": "parsebuildinginsights()", + "id": "backend_src_services_buildinginsightsservice_parsebuildinginsights", + "community_name": "Community 6" + }, + { + "label": "parsePanelSpecs()", + "file_type": "code", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L65", + "_origin": "ast", + "community": 2, + "norm_label": "parsepanelspecs()", + "id": "backend_src_services_buildinginsightsservice_parsepanelspecs", + "community_name": "Community 2" + }, + { + "label": "client.test.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/client.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 82, + "norm_label": "client.test.ts", + "id": "backend_src_services_chat_tests_client_test", + "community_name": "Community 82" + }, + { + "label": "mockGoogleGenAI", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/client.test.ts", + "source_location": "L3", + "_origin": "ast", + "community": 82, + "norm_label": "mockgooglegenai", + "id": "backend_src_services_chat_tests_client_test_mockgooglegenai", + "community_name": "Community 82" + }, + { + "label": "envMock", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/client.test.ts", + "source_location": "L9", + "_origin": "ast", + "community": 82, + "norm_label": "envmock", + "id": "backend_src_services_chat_tests_client_test_envmock", + "community_name": "Community 82" + }, + { + "label": "env()", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/client.test.ts", + "source_location": "L27", + "_origin": "ast", + "community": 82, + "norm_label": "env()", + "id": "backend_src_services_chat_tests_client_test_env", + "community_name": "Community 82" + }, + { + "label": "digest.test.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/digest.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 83, + "norm_label": "digest.test.ts", + "id": "backend_src_services_chat_tests_digest_test", + "community_name": "Community 83" + }, + { + "label": "TEST_ENV", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/digest.test.ts", + "source_location": "L3", + "_origin": "ast", + "community": 83, + "norm_label": "test_env", + "id": "backend_src_services_chat_tests_digest_test_test_env", + "community_name": "Community 83" + }, + { + "label": "ChatProject", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/digest.test.ts", + "source_location": "L25", + "_origin": "ast", + "community": 83, + "norm_label": "chatproject", + "id": "backend_src_services_chat_tests_digest_test_chatproject", + "community_name": "Community 83" + }, + { + "label": "makeProject()", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/digest.test.ts", + "source_location": "L27", + "_origin": "ast", + "community": 83, + "norm_label": "makeproject()", + "id": "backend_src_services_chat_tests_digest_test_makeproject", + "community_name": "Community 83" + }, + { + "label": "errors.test.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/errors.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 90, + "norm_label": "errors.test.ts", + "id": "backend_src_services_chat_tests_errors_test", + "community_name": "Community 90" + }, + { + "label": "TEST_ENV", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/errors.test.ts", + "source_location": "L3", + "_origin": "ast", + "community": 90, + "norm_label": "test_env", + "id": "backend_src_services_chat_tests_errors_test_test_env", + "community_name": "Community 90" + }, + { + "label": "guardrails.test.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/guardrails.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 91, + "norm_label": "guardrails.test.ts", + "id": "backend_src_services_chat_tests_guardrails_test", + "community_name": "Community 91" + }, + { + "label": "TEST_ENV", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/guardrails.test.ts", + "source_location": "L3", + "_origin": "ast", + "community": 91, + "norm_label": "test_env", + "id": "backend_src_services_chat_tests_guardrails_test_test_env", + "community_name": "Community 91" + }, + { + "label": "retry.test.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/retry.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 85, + "norm_label": "retry.test.ts", + "id": "backend_src_services_chat_tests_retry_test", + "community_name": "Community 85" + }, + { + "label": "wallClockNow", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/retry.test.ts", + "source_location": "L3", + "_origin": "ast", + "community": 85, + "norm_label": "wallclocknow", + "id": "backend_src_services_chat_tests_retry_test_wallclocknow", + "community_name": "Community 85" + }, + { + "label": "TEST_ENV", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/retry.test.ts", + "source_location": "L5", + "_origin": "ast", + "community": 85, + "norm_label": "test_env", + "id": "backend_src_services_chat_tests_retry_test_test_env", + "community_name": "Community 85" + }, + { + "label": "streamChat.test.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 67, + "norm_label": "streamchat.test.ts", + "id": "backend_src_services_chat_tests_streamchat_test", + "community_name": "Community 67" + }, + { + "label": "TEST_ENV", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L5", + "_origin": "ast", + "community": 67, + "norm_label": "test_env", + "id": "backend_src_services_chat_tests_streamchat_test_test_env", + "community_name": "Community 67" + }, + { + "label": "LoadedStreamChatModule", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L21", + "_origin": "ast", + "community": 67, + "norm_label": "loadedstreamchatmodule", + "id": "backend_src_services_chat_tests_streamchat_test_loadedstreamchatmodule", + "community_name": "Community 67" + }, + { + "label": "makeProject()", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L23", + "_origin": "ast", + "community": 67, + "norm_label": "makeproject()", + "id": "backend_src_services_chat_tests_streamchat_test_makeproject", + "community_name": "Community 67" + }, + { + "label": "makeRequest()", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L37", + "_origin": "ast", + "community": 67, + "norm_label": "makerequest()", + "id": "backend_src_services_chat_tests_streamchat_test_makerequest", + "community_name": "Community 67" + }, + { + "label": "makeResponse()", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L52", + "_origin": "ast", + "community": 67, + "norm_label": "makeresponse()", + "id": "backend_src_services_chat_tests_streamchat_test_makeresponse", + "community_name": "Community 67" + }, + { + "label": "streamChunks()", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L68", + "_origin": "ast", + "community": 67, + "norm_label": "streamchunks()", + "id": "backend_src_services_chat_tests_streamchat_test_streamchunks", + "community_name": "Community 67" + }, + { + "label": "loadStreamChat()", + "file_type": "code", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L74", + "_origin": "ast", + "community": 67, + "norm_label": "loadstreamchat()", + "id": "backend_src_services_chat_tests_streamchat_test_loadstreamchat", + "community_name": "Community 67" + }, + { + "label": "chat/client.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L1", + "_origin": "ast", + "community": 30, + "norm_label": "chat/client.ts", + "id": "backend_src_services_chat_client", + "community_name": "Community 30" + }, + { + "label": "ClientMode", + "file_type": "code", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L4", + "_origin": "ast", + "community": 30, + "norm_label": "clientmode", + "id": "backend_src_services_chat_client_clientmode", + "community_name": "Community 30" + }, + { + "label": "getGenAIClient()", + "file_type": "code", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L19", + "_origin": "ast", + "community": 30, + "norm_label": "getgenaiclient()", + "id": "backend_src_services_chat_client_getgenaiclient", + "community_name": "Community 30" + }, + { + "label": "invalidateForAuthFailure()", + "file_type": "code", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L55", + "_origin": "ast", + "community": 30, + "norm_label": "invalidateforauthfailure()", + "id": "backend_src_services_chat_client_invalidateforauthfailure", + "community_name": "Community 30" + }, + { + "label": "__resetClientForTests()", + "file_type": "code", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L67", + "_origin": "ast", + "community": 30, + "norm_label": "__resetclientfortests()", + "id": "backend_src_services_chat_client_resetclientfortests", + "community_name": "Community 30" + }, + { + "label": "digest.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L1", + "_origin": "ast", + "community": 16, + "norm_label": "digest.ts", + "id": "backend_src_services_chat_digest", + "community_name": "Community 16" + }, + { + "label": "MONTH_LABELS", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L22", + "_origin": "ast", + "community": 16, + "norm_label": "month_labels", + "id": "backend_src_services_chat_digest_month_labels", + "community_name": "Community 16" + }, + { + "label": "solarPanelSchema", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L24", + "_origin": "ast", + "community": 16, + "norm_label": "solarpanelschema", + "id": "backend_src_services_chat_digest_solarpanelschema", + "community_name": "Community 16" + }, + { + "label": "ChatProject", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L32", + "_origin": "ast", + "community": 16, + "norm_label": "chatproject", + "id": "backend_src_services_chat_digest_chatproject", + "community_name": "Community 16" + }, + { + "label": "ChatPage", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L33", + "_origin": "ast", + "community": 16, + "norm_label": "chatpage", + "id": "backend_src_services_chat_digest_chatpage", + "community_name": "Community 16" + }, + { + "label": "renderProjectDigest()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L44", + "_origin": "ast", + "community": 16, + "norm_label": "renderprojectdigest()", + "id": "backend_src_services_chat_digest_renderprojectdigest", + "community_name": "Community 16" + }, + { + "label": "renderProjectBlock()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L61", + "_origin": "ast", + "community": 16, + "norm_label": "renderprojectblock()", + "id": "backend_src_services_chat_digest_renderprojectblock", + "community_name": "Community 16" + }, + { + "label": "renderLayoutBlock()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L84", + "_origin": "ast", + "community": 16, + "norm_label": "renderlayoutblock()", + "id": "backend_src_services_chat_digest_renderlayoutblock", + "community_name": "Community 16" + }, + { + "label": "renderAnalysisBlock()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L99", + "_origin": "ast", + "community": 16, + "norm_label": "renderanalysisblock()", + "id": "backend_src_services_chat_digest_renderanalysisblock", + "community_name": "Community 16" + }, + { + "label": "renderMonthlyBreakdownTable()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L153", + "_origin": "ast", + "community": 16, + "norm_label": "rendermonthlybreakdowntable()", + "id": "backend_src_services_chat_digest_rendermonthlybreakdowntable", + "community_name": "Community 16" + }, + { + "label": "describeInverterReplacements()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L173", + "_origin": "ast", + "community": 16, + "norm_label": "describeinverterreplacements()", + "id": "backend_src_services_chat_digest_describeinverterreplacements", + "community_name": "Community 16" + }, + { + "label": "parseAnalysisConfig()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L186", + "_origin": "ast", + "community": 16, + "norm_label": "parseanalysisconfig()", + "id": "backend_src_services_chat_digest_parseanalysisconfig", + "community_name": "Community 16" + }, + { + "label": "parseAnalysisResults()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L191", + "_origin": "ast", + "community": 16, + "norm_label": "parseanalysisresults()", + "id": "backend_src_services_chat_digest_parseanalysisresults", + "community_name": "Community 16" + }, + { + "label": "parseLayoutPreferences()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L196", + "_origin": "ast", + "community": 16, + "norm_label": "parselayoutpreferences()", + "id": "backend_src_services_chat_digest_parselayoutpreferences", + "community_name": "Community 16" + }, + { + "label": "parseEditedLayout()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L201", + "_origin": "ast", + "community": 16, + "norm_label": "parseeditedlayout()", + "id": "backend_src_services_chat_digest_parseeditedlayout", + "community_name": "Community 16" + }, + { + "label": "parseBuildingInsights()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L206", + "_origin": "ast", + "community": 16, + "norm_label": "parsebuildinginsights()", + "id": "backend_src_services_chat_digest_parsebuildinginsights", + "community_name": "Community 16" + }, + { + "label": "countActivePanels()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L211", + "_origin": "ast", + "community": 16, + "norm_label": "countactivepanels()", + "id": "backend_src_services_chat_digest_countactivepanels", + "community_name": "Community 16" + }, + { + "label": "bucketByOrientation()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L215", + "_origin": "ast", + "community": 16, + "norm_label": "bucketbyorientation()", + "id": "backend_src_services_chat_digest_bucketbyorientation", + "community_name": "Community 16" + }, + { + "label": "countSegmentsUsed()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L250", + "_origin": "ast", + "community": 16, + "norm_label": "countsegmentsused()", + "id": "backend_src_services_chat_digest_countsegmentsused", + "community_name": "Community 16" + }, + { + "label": "formatRm()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L269", + "_origin": "ast", + "community": 16, + "norm_label": "formatrm()", + "id": "backend_src_services_chat_digest_formatrm", + "community_name": "Community 16" + }, + { + "label": "formatNumber()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L273", + "_origin": "ast", + "community": 16, + "norm_label": "formatnumber()", + "id": "backend_src_services_chat_digest_formatnumber", + "community_name": "Community 16" + }, + { + "label": "formatMaybeNumber()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L277", + "_origin": "ast", + "community": 16, + "norm_label": "formatmaybenumber()", + "id": "backend_src_services_chat_digest_formatmaybenumber", + "community_name": "Community 16" + }, + { + "label": "formatPercent()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L281", + "_origin": "ast", + "community": 16, + "norm_label": "formatpercent()", + "id": "backend_src_services_chat_digest_formatpercent", + "community_name": "Community 16" + }, + { + "label": "formatRate()", + "file_type": "code", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L285", + "_origin": "ast", + "community": 16, + "norm_label": "formatrate()", + "id": "backend_src_services_chat_digest_formatrate", + "community_name": "Community 16" + }, + { + "label": "chat/errors.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L1", + "_origin": "ast", + "community": 52, + "norm_label": "chat/errors.ts", + "id": "backend_src_services_chat_errors", + "community_name": "Community 52" + }, + { + "label": "ErrorCategory", + "file_type": "code", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L1", + "_origin": "ast", + "community": 52, + "norm_label": "errorcategory", + "id": "backend_src_services_chat_errors_errorcategory", + "community_name": "Community 52" + }, + { + "label": "ChatLanguage", + "file_type": "code", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L9", + "_origin": "ast", + "community": 52, + "norm_label": "chatlanguage", + "id": "backend_src_services_chat_errors_chatlanguage", + "community_name": "Community 52" + }, + { + "label": "getErrorCode()", + "file_type": "code", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L16", + "_origin": "ast", + "community": 52, + "norm_label": "geterrorcode()", + "id": "backend_src_services_chat_errors_geterrorcode", + "community_name": "Community 52" + }, + { + "label": "categoriseError()", + "file_type": "code", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L28", + "_origin": "ast", + "community": 52, + "norm_label": "categoriseerror()", + "id": "backend_src_services_chat_errors_categoriseerror", + "community_name": "Community 52" + }, + { + "label": "redactErrorMessage()", + "file_type": "code", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L51", + "_origin": "ast", + "community": 52, + "norm_label": "redacterrormessage()", + "id": "backend_src_services_chat_errors_redacterrormessage", + "community_name": "Community 52" + }, + { + "label": "localiseErrorMessage()", + "file_type": "code", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L61", + "_origin": "ast", + "community": 52, + "norm_label": "localiseerrormessage()", + "id": "backend_src_services_chat_errors_localiseerrormessage", + "community_name": "Community 52" + }, + { + "label": "guardrails.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/guardrails.ts", + "source_location": "L1", + "_origin": "ast", + "community": 30, + "norm_label": "guardrails.ts", + "id": "backend_src_services_chat_guardrails", + "community_name": "Community 30" + }, + { + "label": "PATTERNS", + "file_type": "code", + "source_file": "backend/src/services/chat/guardrails.ts", + "source_location": "L8", + "_origin": "ast", + "community": 30, + "norm_label": "patterns", + "id": "backend_src_services_chat_guardrails_patterns", + "community_name": "Community 30" + }, + { + "label": "GuardResult", + "file_type": "code", + "source_file": "backend/src/services/chat/guardrails.ts", + "source_location": "L25", + "_origin": "ast", + "community": 30, + "norm_label": "guardresult", + "id": "backend_src_services_chat_guardrails_guardresult", + "community_name": "Community 30" + }, + { + "label": "validateChatInput()", + "file_type": "code", + "source_file": "backend/src/services/chat/guardrails.ts", + "source_location": "L33", + "_origin": "ast", + "community": 30, + "norm_label": "validatechatinput()", + "id": "backend_src_services_chat_guardrails_validatechatinput", + "community_name": "Community 30" + }, + { + "label": "chat/index.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L1", + "_origin": "ast", + "community": 30, + "norm_label": "chat/index.ts", + "id": "backend_src_services_chat_index", + "community_name": "Community 30" + }, + { + "label": "ChatProject", + "file_type": "code", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L13", + "_origin": "ast", + "community": 30, + "norm_label": "chatproject", + "id": "backend_src_services_chat_index_chatproject", + "community_name": "Community 30" + }, + { + "label": "ChatEvent", + "file_type": "code", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L14", + "_origin": "ast", + "community": 30, + "norm_label": "chatevent", + "id": "backend_src_services_chat_index_chatevent", + "community_name": "Community 30" + }, + { + "label": "PROCESSING_MESSAGE", + "file_type": "code", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L19", + "_origin": "ast", + "community": 30, + "norm_label": "processing_message", + "id": "backend_src_services_chat_index_processing_message", + "community_name": "Community 30" + }, + { + "label": "streamChat()", + "file_type": "code", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L28", + "_origin": "ast", + "community": 30, + "norm_label": "streamchat()", + "id": "backend_src_services_chat_index_streamchat", + "community_name": "Community 30" + }, + { + "label": "setSseHeaders()", + "file_type": "code", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L157", + "_origin": "ast", + "community": 30, + "norm_label": "setsseheaders()", + "id": "backend_src_services_chat_index_setsseheaders", + "community_name": "Community 30" + }, + { + "label": "writeSse()", + "file_type": "code", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L167", + "_origin": "ast", + "community": 30, + "norm_label": "writesse()", + "id": "backend_src_services_chat_index_writesse", + "community_name": "Community 30" + }, + { + "label": "buildContents()", + "file_type": "code", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L171", + "_origin": "ast", + "community": 30, + "norm_label": "buildcontents()", + "id": "backend_src_services_chat_index_buildcontents", + "community_name": "Community 30" + }, + { + "label": "knowledge.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L1", + "_origin": "ast", + "community": 37, + "norm_label": "knowledge.ts", + "id": "backend_src_services_chat_knowledge", + "community_name": "Community 37" + }, + { + "label": "__dirname", + "file_type": "code", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L5", + "_origin": "ast", + "community": 37, + "norm_label": "__dirname", + "id": "backend_src_services_chat_knowledge_dirname", + "community_name": "Community 37" + }, + { + "label": "KNOWLEDGE_PATH", + "file_type": "code", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L10", + "_origin": "ast", + "community": 37, + "norm_label": "knowledge_path", + "id": "backend_src_services_chat_knowledge_knowledge_path", + "community_name": "Community 37" + }, + { + "label": "loadKnowledgeBible()", + "file_type": "code", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L18", + "_origin": "ast", + "community": 37, + "norm_label": "loadknowledgebible()", + "id": "backend_src_services_chat_knowledge_loadknowledgebible", + "community_name": "Community 37" + }, + { + "label": "renderKnowledgeForPrompt()", + "file_type": "code", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L32", + "_origin": "ast", + "community": 37, + "norm_label": "renderknowledgeforprompt()", + "id": "backend_src_services_chat_knowledge_renderknowledgeforprompt", + "community_name": "Community 37" + }, + { + "label": "parseSections()", + "file_type": "code", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L36", + "_origin": "ast", + "community": 37, + "norm_label": "parsesections()", + "id": "backend_src_services_chat_knowledge_parsesections", + "community_name": "Community 37" + }, + { + "label": "prompt.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L1", + "_origin": "ast", + "community": 37, + "norm_label": "prompt.ts", + "id": "backend_src_services_chat_prompt", + "community_name": "Community 37" + }, + { + "label": "ChatProject", + "file_type": "code", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L6", + "_origin": "ast", + "community": 37, + "norm_label": "chatproject", + "id": "backend_src_services_chat_prompt_chatproject", + "community_name": "Community 37" + }, + { + "label": "ChatPage", + "file_type": "code", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L7", + "_origin": "ast", + "community": 37, + "norm_label": "chatpage", + "id": "backend_src_services_chat_prompt_chatpage", + "community_name": "Community 37" + }, + { + "label": "ChatLanguage", + "file_type": "code", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L8", + "_origin": "ast", + "community": 37, + "norm_label": "chatlanguage", + "id": "backend_src_services_chat_prompt_chatlanguage", + "community_name": "Community 37" + }, + { + "label": "LANGUAGE_META", + "file_type": "code", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L10", + "_origin": "ast", + "community": 37, + "norm_label": "language_meta", + "id": "backend_src_services_chat_prompt_language_meta", + "community_name": "Community 37" + }, + { + "label": "buildSystemInstruction()", + "file_type": "code", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L59", + "_origin": "ast", + "community": 37, + "norm_label": "buildsysteminstruction()", + "id": "backend_src_services_chat_prompt_buildsysteminstruction", + "community_name": "Community 37" + }, + { + "label": "renderLanguageLayer()", + "file_type": "code", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L79", + "_origin": "ast", + "community": 37, + "norm_label": "renderlanguagelayer()", + "id": "backend_src_services_chat_prompt_renderlanguagelayer", + "community_name": "Community 37" + }, + { + "label": "renderPersonaLayer()", + "file_type": "code", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L91", + "_origin": "ast", + "community": 37, + "norm_label": "renderpersonalayer()", + "id": "backend_src_services_chat_prompt_renderpersonalayer", + "community_name": "Community 37" + }, + { + "label": "renderRulesLayer()", + "file_type": "code", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L98", + "_origin": "ast", + "community": 37, + "norm_label": "renderruleslayer()", + "id": "backend_src_services_chat_prompt_renderruleslayer", + "community_name": "Community 37" + }, + { + "label": "retry.ts", + "file_type": "code", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L1", + "_origin": "ast", + "community": 52, + "norm_label": "retry.ts", + "id": "backend_src_services_chat_retry", + "community_name": "Community 52" + }, + { + "label": "generateWithRetry()", + "file_type": "code", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L6", + "_origin": "ast", + "community": 52, + "norm_label": "generatewithretry()", + "id": "backend_src_services_chat_retry_generatewithretry", + "community_name": "Community 52" + }, + { + "label": "isRetryable()", + "file_type": "code", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L24", + "_origin": "ast", + "community": 52, + "norm_label": "isretryable()", + "id": "backend_src_services_chat_retry_isretryable", + "community_name": "Community 52" + }, + { + "label": "sleep()", + "file_type": "code", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L29", + "_origin": "ast", + "community": 52, + "norm_label": "sleep()", + "id": "backend_src_services_chat_retry_sleep", + "community_name": "Community 52" + }, + { + "label": "fluxRecomputeService.ts", + "file_type": "code", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L1", + "_origin": "ast", + "community": 2, + "norm_label": "fluxrecomputeservice.ts", + "id": "backend_src_services_fluxrecomputeservice", + "community_name": "Community 2" + }, + { + "label": "FluxLocationData", + "file_type": "code", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L20", + "_origin": "ast", + "community": 2, + "norm_label": "fluxlocationdata", + "id": "backend_src_services_fluxrecomputeservice_fluxlocationdata", + "community_name": "Community 2" + }, + { + "label": "ValidatedLocation", + "file_type": "code", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L26", + "_origin": "ast", + "community": 2, + "norm_label": "validatedlocation", + "id": "backend_src_services_fluxrecomputeservice_validatedlocation", + "community_name": "Community 2" + }, + { + "label": "validateFluxLocation()", + "file_type": "code", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L35", + "_origin": "ast", + "community": 2, + "norm_label": "validatefluxlocation()", + "id": "backend_src_services_fluxrecomputeservice_validatefluxlocation", + "community_name": "Community 2" + }, + { + "label": "loadFluxData()", + "file_type": "code", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L62", + "_origin": "ast", + "community": 2, + "norm_label": "loadfluxdata()", + "id": "backend_src_services_fluxrecomputeservice_loadfluxdata", + "community_name": "Community 2" + }, + { + "label": "recomputeSinglePanel()", + "file_type": "code", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L78", + "_origin": "ast", + "community": 2, + "norm_label": "recomputesinglepanel()", + "id": "backend_src_services_fluxrecomputeservice_recomputesinglepanel", + "community_name": "Community 2" + }, + { + "label": "recomputeBatchPanels()", + "file_type": "code", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L112", + "_origin": "ast", + "community": 2, + "norm_label": "recomputebatchpanels()", + "id": "backend_src_services_fluxrecomputeservice_recomputebatchpanels", + "community_name": "Community 2" + }, + { + "label": "geoTiffService.ts", + "file_type": "code", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L1", + "_origin": "ast", + "community": 40, + "norm_label": "geotiffservice.ts", + "id": "backend_src_services_geotiffservice", + "community_name": "Community 40" + }, + { + "label": "ImageGeoTransform", + "file_type": "code", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L15", + "_origin": "ast", + "community": 31, + "norm_label": "imagegeotransform", + "id": "backend_src_services_geotiffservice_imagegeotransform", + "community_name": "Community 31" + }, + { + "label": "RoofMaskResult", + "file_type": "code", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L29", + "_origin": "ast", + "community": 31, + "norm_label": "roofmaskresult", + "id": "backend_src_services_geotiffservice_roofmaskresult", + "community_name": "Community 31" + }, + { + "label": "loadGeoTIFFWithFallback()", + "file_type": "code", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L45", + "_origin": "ast", + "community": 40, + "norm_label": "loadgeotiffwithfallback()", + "id": "backend_src_services_geotiffservice_loadgeotiffwithfallback", + "community_name": "Community 40" + }, + { + "label": "uniquePaths()", + "file_type": "code", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L79", + "_origin": "ast", + "community": 40, + "norm_label": "uniquepaths()", + "id": "backend_src_services_geotiffservice_uniquepaths", + "community_name": "Community 40" + }, + { + "label": "loadReferenceGeoTransform()", + "file_type": "code", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L89", + "_origin": "ast", + "community": 40, + "norm_label": "loadreferencegeotransform()", + "id": "backend_src_services_geotiffservice_loadreferencegeotransform", + "community_name": "Community 40" + }, + { + "label": "loadRoofMask()", + "file_type": "code", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L111", + "_origin": "ast", + "community": 40, + "norm_label": "loadroofmask()", + "id": "backend_src_services_geotiffservice_loadroofmask", + "community_name": "Community 40" + }, + { + "label": "locationPipeline.ts", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L1", + "_origin": "ast", + "community": 6, + "norm_label": "locationpipeline.ts", + "id": "backend_src_services_locationpipeline", + "community_name": "Community 6" + }, + { + "label": "runLocationPipeline()", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L22", + "_origin": "ast", + "community": 6, + "norm_label": "runlocationpipeline()", + "id": "backend_src_services_locationpipeline_runlocationpipeline", + "community_name": "Community 6" + }, + { + "label": "convert.ts", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/convert.ts", + "source_location": "L1", + "_origin": "ast", + "community": 66, + "norm_label": "convert.ts", + "id": "backend_src_services_locationpipeline_convert", + "community_name": "Community 66" + }, + { + "label": "toArrayBuffer()", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/convert.ts", + "source_location": "L18", + "_origin": "ast", + "community": 66, + "norm_label": "toarraybuffer()", + "id": "backend_src_services_locationpipeline_convert_toarraybuffer", + "community_name": "Community 66" + }, + { + "label": "convertRgbTiffToPng()", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/convert.ts", + "source_location": "L30", + "_origin": "ast", + "community": 66, + "norm_label": "convertrgbtifftopng()", + "id": "backend_src_services_locationpipeline_convert_convertrgbtifftopng", + "community_name": "Community 66" + }, + { + "label": "fetch.ts", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L1", + "_origin": "ast", + "community": 6, + "norm_label": "fetch.ts", + "id": "backend_src_services_locationpipeline_fetch", + "community_name": "Community 6" + }, + { + "label": "LAYER_FILENAMES", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L27", + "_origin": "ast", + "community": 6, + "norm_label": "layer_filenames", + "id": "backend_src_services_locationpipeline_fetch_layer_filenames", + "community_name": "Community 6" + }, + { + "label": "SolarLayerKey", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L38", + "_origin": "ast", + "community": 6, + "norm_label": "solarlayerkey", + "id": "backend_src_services_locationpipeline_fetch_solarlayerkey", + "community_name": "Community 6" + }, + { + "label": "DownloadedLayer", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L43", + "_origin": "ast", + "community": 66, + "norm_label": "downloadedlayer", + "id": "backend_src_services_locationpipeline_fetch_downloadedlayer", + "community_name": "Community 66" + }, + { + "label": "PipelineFetchResult", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L52", + "_origin": "ast", + "community": 6, + "norm_label": "pipelinefetchresult", + "id": "backend_src_services_locationpipeline_fetch_pipelinefetchresult", + "community_name": "Community 6" + }, + { + "label": "downloadLayer()", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L65", + "_origin": "ast", + "community": 6, + "norm_label": "downloadlayer()", + "id": "backend_src_services_locationpipeline_fetch_downloadlayer", + "community_name": "Community 6" + }, + { + "label": "fetchLocationPipelineInputs()", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L90", + "_origin": "ast", + "community": 6, + "norm_label": "fetchlocationpipelineinputs()", + "id": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs", + "community_name": "Community 6" + }, + { + "label": "getLayerUrl()", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L129", + "_origin": "ast", + "community": 6, + "norm_label": "getlayerurl()", + "id": "backend_src_services_locationpipeline_fetch_getlayerurl", + "community_name": "Community 6" + }, + { + "label": "persist.ts", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L1", + "_origin": "ast", + "community": 6, + "norm_label": "persist.ts", + "id": "backend_src_services_locationpipeline_persist", + "community_name": "Community 6" + }, + { + "label": "serializeJsonValue()", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L12", + "_origin": "ast", + "community": 6, + "norm_label": "serializejsonvalue()", + "id": "backend_src_services_locationpipeline_persist_serializejsonvalue", + "community_name": "Community 6" + }, + { + "label": "persistLocationPipelineSuccess()", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L24", + "_origin": "ast", + "community": 6, + "norm_label": "persistlocationpipelinesuccess()", + "id": "backend_src_services_locationpipeline_persist_persistlocationpipelinesuccess", + "community_name": "Community 6" + }, + { + "label": "persistLocationPipelineFailure()", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L50", + "_origin": "ast", + "community": 6, + "norm_label": "persistlocationpipelinefailure()", + "id": "backend_src_services_locationpipeline_persist_persistlocationpipelinefailure", + "community_name": "Community 6" + }, + { + "label": "store.ts", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L1", + "_origin": "ast", + "community": 66, + "norm_label": "store.ts", + "id": "backend_src_services_locationpipeline_store", + "community_name": "Community 66" + }, + { + "label": "StoredLocationAssets", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L15", + "_origin": "ast", + "community": 66, + "norm_label": "storedlocationassets", + "id": "backend_src_services_locationpipeline_store_storedlocationassets", + "community_name": "Community 66" + }, + { + "label": "storeLocationPipelineAssets()", + "file_type": "code", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L30", + "_origin": "ast", + "community": 6, + "norm_label": "storelocationpipelineassets()", + "id": "backend_src_services_locationpipeline_store_storelocationpipelineassets", + "community_name": "Community 6" + }, + { + "label": "locationService.ts", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L1", + "_origin": "ast", + "community": 26, + "norm_label": "locationservice.ts", + "id": "backend_src_services_locationservice", + "community_name": "Community 26" + }, + { + "label": "ResolveLocationResult", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L35", + "_origin": "ast", + "community": 26, + "norm_label": "resolvelocationresult", + "id": "backend_src_services_locationservice_resolvelocationresult", + "community_name": "Community 26" + }, + { + "label": "linkOwnedProjectToLocation()", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L51", + "_origin": "ast", + "community": 26, + "norm_label": "linkownedprojecttolocation()", + "id": "backend_src_services_locationservice_linkownedprojecttolocation", + "community_name": "Community 26" + }, + { + "label": "resolveLocation()", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L70", + "_origin": "ast", + "community": 26, + "norm_label": "resolvelocation()", + "id": "backend_src_services_locationservice_resolvelocation", + "community_name": "Community 26" + }, + { + "label": "resolveLocationResponse()", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L144", + "_origin": "ast", + "community": 26, + "norm_label": "resolvelocationresponse()", + "id": "backend_src_services_locationservice_resolvelocationresponse", + "community_name": "Community 26" + }, + { + "label": "probeLocation()", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L163", + "_origin": "ast", + "community": 26, + "norm_label": "probelocation()", + "id": "backend_src_services_locationservice_probelocation", + "community_name": "Community 26" + }, + { + "label": "getLocationStatusForUser()", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L175", + "_origin": "ast", + "community": 26, + "norm_label": "getlocationstatusforuser()", + "id": "backend_src_services_locationservice_getlocationstatusforuser", + "community_name": "Community 26" + }, + { + "label": "getLocationStatusResponseForUser()", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L198", + "_origin": "ast", + "community": 26, + "norm_label": "getlocationstatusresponseforuser()", + "id": "backend_src_services_locationservice_getlocationstatusresponseforuser", + "community_name": "Community 26" + }, + { + "label": "getLocationDataForUser()", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L210", + "_origin": "ast", + "community": 26, + "norm_label": "getlocationdataforuser()", + "id": "backend_src_services_locationservice_getlocationdataforuser", + "community_name": "Community 26" + }, + { + "label": "getLocationDataResponseForUser()", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L223", + "_origin": "ast", + "community": 40, + "norm_label": "getlocationdataresponseforuser()", + "id": "backend_src_services_locationservice_getlocationdataresponseforuser", + "community_name": "Community 40" + }, + { + "label": "getOverlayResponseForUser()", + "file_type": "code", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L250", + "_origin": "ast", + "community": 26, + "norm_label": "getoverlayresponseforuser()", + "id": "backend_src_services_locationservice_getoverlayresponseforuser", + "community_name": "Community 26" + }, + { + "label": "overlayService.ts", + "file_type": "code", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L1", + "_origin": "ast", + "community": 58, + "norm_label": "overlayservice.ts", + "id": "backend_src_services_overlayservice", + "community_name": "Community 58" + }, + { + "label": "OverlayType", + "file_type": "code", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L31", + "_origin": "ast", + "community": 58, + "norm_label": "overlaytype", + "id": "backend_src_services_overlayservice_overlaytype", + "community_name": "Community 58" + }, + { + "label": "ColorStop", + "file_type": "code", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L34", + "_origin": "ast", + "community": 58, + "norm_label": "colorstop", + "id": "backend_src_services_overlayservice_colorstop", + "community_name": "Community 58" + }, + { + "label": "lerpColor()", + "file_type": "code", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L49", + "_origin": "ast", + "community": 58, + "norm_label": "lerpcolor()", + "id": "backend_src_services_overlayservice_lerpcolor", + "community_name": "Community 58" + }, + { + "label": "fluxStops", + "file_type": "code", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L71", + "_origin": "ast", + "community": 58, + "norm_label": "fluxstops", + "id": "backend_src_services_overlayservice_fluxstops", + "community_name": "Community 58" + }, + { + "label": "dsmStops", + "file_type": "code", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L85", + "_origin": "ast", + "community": 58, + "norm_label": "dsmstops", + "id": "backend_src_services_overlayservice_dsmstops", + "community_name": "Community 58" + }, + { + "label": "maskStops", + "file_type": "code", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L99", + "_origin": "ast", + "community": 58, + "norm_label": "maskstops", + "id": "backend_src_services_overlayservice_maskstops", + "community_name": "Community 58" + }, + { + "label": "getStopsForType()", + "file_type": "code", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L104", + "_origin": "ast", + "community": 58, + "norm_label": "getstopsfortype()", + "id": "backend_src_services_overlayservice_getstopsfortype", + "community_name": "Community 58" + }, + { + "label": "resolveTifPath()", + "file_type": "code", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L117", + "_origin": "ast", + "community": 26, + "norm_label": "resolvetifpath()", + "id": "backend_src_services_overlayservice_resolvetifpath", + "community_name": "Community 26" + }, + { + "label": "getOrGenerateOverlay()", + "file_type": "code", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L151", + "_origin": "ast", + "community": 58, + "norm_label": "getorgenerateoverlay()", + "id": "backend_src_services_overlayservice_getorgenerateoverlay", + "community_name": "Community 58" + }, + { + "label": "pdfTokenService.ts", + "file_type": "code", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L1", + "_origin": "ast", + "community": 47, + "norm_label": "pdftokenservice.ts", + "id": "backend_src_services_pdftokenservice", + "community_name": "Community 47" + }, + { + "label": "TOKEN_TYPE", + "file_type": "code", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L12", + "_origin": "ast", + "community": 47, + "norm_label": "token_type", + "id": "backend_src_services_pdftokenservice_token_type", + "community_name": "Community 47" + }, + { + "label": "PdfTokenPayload", + "file_type": "code", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L17", + "_origin": "ast", + "community": 47, + "norm_label": "pdftokenpayload", + "id": "backend_src_services_pdftokenservice_pdftokenpayload", + "community_name": "Community 47" + }, + { + "label": "SignedPdfToken", + "file_type": "code", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L26", + "_origin": "ast", + "community": 47, + "norm_label": "signedpdftoken", + "id": "backend_src_services_pdftokenservice_signedpdftoken", + "community_name": "Community 47" + }, + { + "label": "signPdfToken()", + "file_type": "code", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L38", + "_origin": "ast", + "community": 47, + "norm_label": "signpdftoken()", + "id": "backend_src_services_pdftokenservice_signpdftoken", + "community_name": "Community 47" + }, + { + "label": "InvalidPdfTokenError", + "file_type": "code", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L50", + "_origin": "ast", + "community": 47, + "norm_label": "invalidpdftokenerror", + "id": "backend_src_services_pdftokenservice_invalidpdftokenerror", + "community_name": "Community 47" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L51", + "_origin": "ast", + "community": 47, + "norm_label": ".constructor()", + "id": "backend_src_services_pdftokenservice_invalidpdftokenerror_constructor", + "community_name": "Community 47" + }, + { + "label": "verifyPdfToken()", + "file_type": "code", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L63", + "_origin": "ast", + "community": 47, + "norm_label": "verifypdftoken()", + "id": "backend_src_services_pdftokenservice_verifypdftoken", + "community_name": "Community 47" + }, + { + "label": "projectService.ts", + "file_type": "code", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L1", + "_origin": "ast", + "community": 9, + "norm_label": "projectservice.ts", + "id": "backend_src_services_projectservice", + "community_name": "Community 9" + }, + { + "label": "findOwnedProject()", + "file_type": "code", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L24", + "_origin": "ast", + "community": 9, + "norm_label": "findownedproject()", + "id": "backend_src_services_projectservice_findownedproject", + "community_name": "Community 9" + }, + { + "label": "createProject()", + "file_type": "code", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L39", + "_origin": "ast", + "community": 9, + "norm_label": "createproject()", + "id": "backend_src_services_projectservice_createproject", + "community_name": "Community 9" + }, + { + "label": "listProjects()", + "file_type": "code", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L58", + "_origin": "ast", + "community": 9, + "norm_label": "listprojects()", + "id": "backend_src_services_projectservice_listprojects", + "community_name": "Community 9" + }, + { + "label": "getProject()", + "file_type": "code", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L74", + "_origin": "ast", + "community": 9, + "norm_label": "getproject()", + "id": "backend_src_services_projectservice_getproject", + "community_name": "Community 9" + }, + { + "label": "saveLayout()", + "file_type": "code", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L88", + "_origin": "ast", + "community": 9, + "norm_label": "savelayout()", + "id": "backend_src_services_projectservice_savelayout", + "community_name": "Community 9" + }, + { + "label": "deleteProject()", + "file_type": "code", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L123", + "_origin": "ast", + "community": 9, + "norm_label": "deleteproject()", + "id": "backend_src_services_projectservice_deleteproject", + "community_name": "Community 9" + }, + { + "label": "updateLayoutPreferences()", + "file_type": "code", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L138", + "_origin": "ast", + "community": 9, + "norm_label": "updatelayoutpreferences()", + "id": "backend_src_services_projectservice_updatelayoutpreferences", + "community_name": "Community 9" + }, + { + "label": "saveAnalysis()", + "file_type": "code", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L159", + "_origin": "ast", + "community": 9, + "norm_label": "saveanalysis()", + "id": "backend_src_services_projectservice_saveanalysis", + "community_name": "Community 9" + }, + { + "label": "getPdfProjectData()", + "file_type": "code", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L187", + "_origin": "ast", + "community": 9, + "norm_label": "getpdfprojectdata()", + "id": "backend_src_services_projectservice_getpdfprojectdata", + "community_name": "Community 9" + }, + { + "label": "solarApiService.ts", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L1", + "_origin": "ast", + "community": 6, + "norm_label": "solarapiservice.ts", + "id": "backend_src_services_solarapiservice", + "community_name": "Community 6" + }, + { + "label": "fetchWithTimeout()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L32", + "_origin": "ast", + "community": 6, + "norm_label": "fetchwithtimeout()", + "id": "backend_src_services_solarapiservice_fetchwithtimeout", + "community_name": "Community 6" + }, + { + "label": "ImageryQuality", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L54", + "_origin": "ast", + "community": 6, + "norm_label": "imageryquality", + "id": "backend_src_services_solarapiservice_imageryquality", + "community_name": "Community 6" + }, + { + "label": "SolarApiOpts", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L59", + "_origin": "ast", + "community": 6, + "norm_label": "solarapiopts", + "id": "backend_src_services_solarapiservice_solarapiopts", + "community_name": "Community 6" + }, + { + "label": "SolarCoordinate", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L69", + "_origin": "ast", + "community": 6, + "norm_label": "solarcoordinate", + "id": "backend_src_services_solarapiservice_solarcoordinate", + "community_name": "Community 6" + }, + { + "label": "SolarBoundingBox", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L77", + "_origin": "ast", + "community": 6, + "norm_label": "solarboundingbox", + "id": "backend_src_services_solarapiservice_solarboundingbox", + "community_name": "Community 6" + }, + { + "label": "BuildingInsightsApiResponse", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L89", + "_origin": "ast", + "community": 6, + "norm_label": "buildinginsightsapiresponse", + "id": "backend_src_services_solarapiservice_buildinginsightsapiresponse", + "community_name": "Community 6" + }, + { + "label": "DataLayersApiResponse", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L102", + "_origin": "ast", + "community": 6, + "norm_label": "datalayersapiresponse", + "id": "backend_src_services_solarapiservice_datalayersapiresponse", + "community_name": "Community 6" + }, + { + "label": "isRecord()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L111", + "_origin": "ast", + "community": 6, + "norm_label": "isrecord()", + "id": "backend_src_services_solarapiservice_isrecord", + "community_name": "Community 6" + }, + { + "label": "buildSolarParams()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L119", + "_origin": "ast", + "community": 6, + "norm_label": "buildsolarparams()", + "id": "backend_src_services_solarapiservice_buildsolarparams", + "community_name": "Community 6" + }, + { + "label": "fetchBuildingInsights()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L140", + "_origin": "ast", + "community": 6, + "norm_label": "fetchbuildinginsights()", + "id": "backend_src_services_solarapiservice_fetchbuildinginsights", + "community_name": "Community 6" + }, + { + "label": "fetchDataLayers()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L171", + "_origin": "ast", + "community": 6, + "norm_label": "fetchdatalayers()", + "id": "backend_src_services_solarapiservice_fetchdatalayers", + "community_name": "Community 6" + }, + { + "label": "ProbeResult", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L211", + "_origin": "ast", + "community": 6, + "norm_label": "proberesult", + "id": "backend_src_services_solarapiservice_proberesult", + "community_name": "Community 6" + }, + { + "label": "findBestQualityForLocation()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L234", + "_origin": "ast", + "community": 6, + "norm_label": "findbestqualityforlocation()", + "id": "backend_src_services_solarapiservice_findbestqualityforlocation", + "community_name": "Community 6" + }, + { + "label": "probeFullChain()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L262", + "_origin": "ast", + "community": 6, + "norm_label": "probefullchain()", + "id": "backend_src_services_solarapiservice_probefullchain", + "community_name": "Community 6" + }, + { + "label": "probeEndpoint()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L271", + "_origin": "ast", + "community": 6, + "norm_label": "probeendpoint()", + "id": "backend_src_services_solarapiservice_probeendpoint", + "community_name": "Community 6" + }, + { + "label": "calculateRadius()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L299", + "_origin": "ast", + "community": 6, + "norm_label": "calculateradius()", + "id": "backend_src_services_solarapiservice_calculateradius", + "community_name": "Community 6" + }, + { + "label": "haversineDistance()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L313", + "_origin": "ast", + "community": 6, + "norm_label": "haversinedistance()", + "id": "backend_src_services_solarapiservice_haversinedistance", + "community_name": "Community 6" + }, + { + "label": "enrichBuildingInsights()", + "file_type": "code", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L334", + "_origin": "ast", + "community": 6, + "norm_label": "enrichbuildinginsights()", + "id": "backend_src_services_solarapiservice_enrichbuildinginsights", + "community_name": "Community 6" + }, + { + "label": "storageService.ts", + "file_type": "code", + "source_file": "backend/src/services/storageService.ts", + "source_location": "L1", + "_origin": "ast", + "community": 40, + "norm_label": "storageservice.ts", + "id": "backend_src_services_storageservice", + "community_name": "Community 40" + }, + { + "label": "uploadToStorage()", + "file_type": "code", + "source_file": "backend/src/services/storageService.ts", + "source_location": "L19", + "_origin": "ast", + "community": 58, + "norm_label": "uploadtostorage()", + "id": "backend_src_services_storageservice_uploadtostorage", + "community_name": "Community 58" + }, + { + "label": "downloadFromStorage()", + "file_type": "code", + "source_file": "backend/src/services/storageService.ts", + "source_location": "L30", + "_origin": "ast", + "community": 40, + "norm_label": "downloadfromstorage()", + "id": "backend_src_services_storageservice_downloadfromstorage", + "community_name": "Community 40" + }, + { + "label": "getSignedUrl()", + "file_type": "code", + "source_file": "backend/src/services/storageService.ts", + "source_location": "L43", + "_origin": "ast", + "community": 9, + "norm_label": "getsignedurl()", + "id": "backend_src_services_storageservice_getsignedurl", + "community_name": "Community 9" + }, + { + "label": "userService.ts", + "file_type": "code", + "source_file": "backend/src/services/userService.ts", + "source_location": "L1", + "_origin": "ast", + "community": 57, + "norm_label": "userservice.ts", + "id": "backend_src_services_userservice", + "community_name": "Community 57" + }, + { + "label": "startOfUtcDay()", + "file_type": "code", + "source_file": "backend/src/services/userService.ts", + "source_location": "L18", + "_origin": "ast", + "community": 57, + "norm_label": "startofutcday()", + "id": "backend_src_services_userservice_startofutcday", + "community_name": "Community 57" + }, + { + "label": "nextUtcMidnight()", + "file_type": "code", + "source_file": "backend/src/services/userService.ts", + "source_location": "L30", + "_origin": "ast", + "community": 57, + "norm_label": "nextutcmidnight()", + "id": "backend_src_services_userservice_nextutcmidnight", + "community_name": "Community 57" + }, + { + "label": "getUserTier()", + "file_type": "code", + "source_file": "backend/src/services/userService.ts", + "source_location": "L42", + "_origin": "ast", + "community": 57, + "norm_label": "getusertier()", + "id": "backend_src_services_userservice_getusertier", + "community_name": "Community 57" + }, + { + "label": "countProjectsSinceUtcMidnight()", + "file_type": "code", + "source_file": "backend/src/services/userService.ts", + "source_location": "L58", + "_origin": "ast", + "community": 57, + "norm_label": "countprojectssinceutcmidnight()", + "id": "backend_src_services_userservice_countprojectssinceutcmidnight", + "community_name": "Community 57" + }, + { + "label": "getQuotaSummary()", + "file_type": "code", + "source_file": "backend/src/services/userService.ts", + "source_location": "L74", + "_origin": "ast", + "community": 57, + "norm_label": "getquotasummary()", + "id": "backend_src_services_userservice_getquotasummary", + "community_name": "Community 57" + }, + { + "label": "locationResponse.ts", + "file_type": "code", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L1", + "_origin": "ast", + "community": 31, + "norm_label": "locationresponse.ts", + "id": "backend_src_services_viewmodels_locationresponse", + "community_name": "Community 31" + }, + { + "label": "LocationDataRouteResponse", + "file_type": "code", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L23", + "_origin": "ast", + "community": 31, + "norm_label": "locationdatarouteresponse", + "id": "backend_src_services_viewmodels_locationresponse_locationdatarouteresponse", + "community_name": "Community 31" + }, + { + "label": "buildResolveLocationResponse()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L35", + "_origin": "ast", + "community": 26, + "norm_label": "buildresolvelocationresponse()", + "id": "backend_src_services_viewmodels_locationresponse_buildresolvelocationresponse", + "community_name": "Community 26" + }, + { + "label": "buildLocationStatusResponse()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L45", + "_origin": "ast", + "community": 26, + "norm_label": "buildlocationstatusresponse()", + "id": "backend_src_services_viewmodels_locationresponse_buildlocationstatusresponse", + "community_name": "Community 26" + }, + { + "label": "buildProbeLocationResponse()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L55", + "_origin": "ast", + "community": 26, + "norm_label": "buildprobelocationresponse()", + "id": "backend_src_services_viewmodels_locationresponse_buildprobelocationresponse", + "community_name": "Community 26" + }, + { + "label": "buildLocationDataResponse()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L69", + "_origin": "ast", + "community": 31, + "norm_label": "buildlocationdataresponse()", + "id": "backend_src_services_viewmodels_locationresponse_buildlocationdataresponse", + "community_name": "Community 31" + }, + { + "label": "buildOverlayResponse()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L91", + "_origin": "ast", + "community": 26, + "norm_label": "buildoverlayresponse()", + "id": "backend_src_services_viewmodels_locationresponse_buildoverlayresponse", + "community_name": "Community 26" + }, + { + "label": "buildFluxRecomputeBatchResponse()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L101", + "_origin": "ast", + "community": 31, + "norm_label": "buildfluxrecomputebatchresponse()", + "id": "backend_src_services_viewmodels_locationresponse_buildfluxrecomputebatchresponse", + "community_name": "Community 31" + }, + { + "label": "projectResponse.ts", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L1", + "_origin": "ast", + "community": 9, + "norm_label": "projectresponse.ts", + "id": "backend_src_services_viewmodels_projectresponse", + "community_name": "Community 9" + }, + { + "label": "billBreakdownSchema", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L40", + "_origin": "ast", + "community": 9, + "norm_label": "billbreakdownschema", + "id": "backend_src_services_viewmodels_projectresponse_billbreakdownschema", + "community_name": "Community 9" + }, + { + "label": "monthlyBreakdownSchema", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L62", + "_origin": "ast", + "community": 9, + "norm_label": "monthlybreakdownschema", + "id": "backend_src_services_viewmodels_projectresponse_monthlybreakdownschema", + "community_name": "Community 9" + }, + { + "label": "analysisConfigSchema", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L80", + "_origin": "ast", + "community": 9, + "norm_label": "analysisconfigschema", + "id": "backend_src_services_viewmodels_projectresponse_analysisconfigschema", + "community_name": "Community 9" + }, + { + "label": "analysisResultsSchema", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L96", + "_origin": "ast", + "community": 9, + "norm_label": "analysisresultsschema", + "id": "backend_src_services_viewmodels_projectresponse_analysisresultsschema", + "community_name": "Community 9" + }, + { + "label": "layoutPreferencesSchema", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L122", + "_origin": "ast", + "community": 9, + "norm_label": "layoutpreferencesschema", + "id": "backend_src_services_viewmodels_projectresponse_layoutpreferencesschema", + "community_name": "Community 9" + }, + { + "label": "AnalysisConfigDto", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L132", + "_origin": "ast", + "community": 9, + "norm_label": "analysisconfigdto", + "id": "backend_src_services_viewmodels_projectresponse_analysisconfigdto", + "community_name": "Community 9" + }, + { + "label": "AnalysisResultsDto", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L134", + "_origin": "ast", + "community": 9, + "norm_label": "analysisresultsdto", + "id": "backend_src_services_viewmodels_projectresponse_analysisresultsdto", + "community_name": "Community 9" + }, + { + "label": "LayoutPreferencesDto", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L136", + "_origin": "ast", + "community": 9, + "norm_label": "layoutpreferencesdto", + "id": "backend_src_services_viewmodels_projectresponse_layoutpreferencesdto", + "community_name": "Community 9" + }, + { + "label": "JsonFieldsProject", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L142", + "_origin": "ast", + "community": 9, + "norm_label": "jsonfieldsproject", + "id": "backend_src_services_viewmodels_projectresponse_jsonfieldsproject", + "community_name": "Community 9" + }, + { + "label": "PdfProjectResponse", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L153", + "_origin": "ast", + "community": 9, + "norm_label": "pdfprojectresponse", + "id": "backend_src_services_viewmodels_projectresponse_pdfprojectresponse", + "community_name": "Community 9" + }, + { + "label": "isJsonObject()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L158", + "_origin": "ast", + "community": 9, + "norm_label": "isjsonobject()", + "id": "backend_src_services_viewmodels_projectresponse_isjsonobject", + "community_name": "Community 9" + }, + { + "label": "parseWithSchema()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L162", + "_origin": "ast", + "community": 9, + "norm_label": "parsewithschema()", + "id": "backend_src_services_viewmodels_projectresponse_parsewithschema", + "community_name": "Community 9" + }, + { + "label": "parseAnalysisConfig()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L171", + "_origin": "ast", + "community": 9, + "norm_label": "parseanalysisconfig()", + "id": "backend_src_services_viewmodels_projectresponse_parseanalysisconfig", + "community_name": "Community 9" + }, + { + "label": "parseAnalysisResults()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L179", + "_origin": "ast", + "community": 9, + "norm_label": "parseanalysisresults()", + "id": "backend_src_services_viewmodels_projectresponse_parseanalysisresults", + "community_name": "Community 9" + }, + { + "label": "parseLayoutPreferences()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L188", + "_origin": "ast", + "community": 9, + "norm_label": "parselayoutpreferences()", + "id": "backend_src_services_viewmodels_projectresponse_parselayoutpreferences", + "community_name": "Community 9" + }, + { + "label": "mergeAnalysisConfig()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L198", + "_origin": "ast", + "community": 9, + "norm_label": "mergeanalysisconfig()", + "id": "backend_src_services_viewmodels_projectresponse_mergeanalysisconfig", + "community_name": "Community 9" + }, + { + "label": "mergeLayoutPreferences()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L208", + "_origin": "ast", + "community": 9, + "norm_label": "mergelayoutpreferences()", + "id": "backend_src_services_viewmodels_projectresponse_mergelayoutpreferences", + "community_name": "Community 9" + }, + { + "label": "serializeJsonValue()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L217", + "_origin": "ast", + "community": 9, + "norm_label": "serializejsonvalue()", + "id": "backend_src_services_viewmodels_projectresponse_serializejsonvalue", + "community_name": "Community 9" + }, + { + "label": "normalizeProjectResponse()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L234", + "_origin": "ast", + "community": 9, + "norm_label": "normalizeprojectresponse()", + "id": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse", + "community_name": "Community 9" + }, + { + "label": "buildPdfProjectResponse()", + "file_type": "code", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L259", + "_origin": "ast", + "community": 9, + "norm_label": "buildpdfprojectresponse()", + "id": "backend_src_services_viewmodels_projectresponse_buildpdfprojectresponse", + "community_name": "Community 9" + }, + { + "label": "NOTE: currently a pass-through that shallow-copies the project \u2014 both", + "file_type": "rationale", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L224", + "_origin": "ast", + "community": 9, + "norm_label": "note: currently a pass-through that shallow-copies the project \u2014 both", + "id": "backend_src_services_viewmodels_projectresponse_rationale_224", + "community_name": "Community 9" + }, + { + "label": "validators/chat.ts", + "file_type": "code", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L1", + "_origin": "ast", + "community": 32, + "norm_label": "validators/chat.ts", + "id": "backend_src_validators_chat", + "community_name": "Community 32" + }, + { + "label": "liveStateSchema", + "file_type": "code", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L27", + "_origin": "ast", + "community": 32, + "norm_label": "livestateschema", + "id": "backend_src_validators_chat_livestateschema", + "community_name": "Community 32" + }, + { + "label": "chatRequestSchema", + "file_type": "code", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L42", + "_origin": "ast", + "community": 22, + "norm_label": "chatrequestschema", + "id": "backend_src_validators_chat_chatrequestschema", + "community_name": "Community 22" + }, + { + "label": "ChatRequest", + "file_type": "code", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L61", + "_origin": "ast", + "community": 32, + "norm_label": "chatrequest", + "id": "backend_src_validators_chat_chatrequest", + "community_name": "Community 32" + }, + { + "label": "ChatLiveState", + "file_type": "code", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L62", + "_origin": "ast", + "community": 37, + "norm_label": "chatlivestate", + "id": "backend_src_validators_chat_chatlivestate", + "community_name": "Community 37" + }, + { + "label": "validators/locations.ts", + "file_type": "code", + "source_file": "backend/src/validators/locations.ts", + "source_location": "L1", + "_origin": "ast", + "community": 22, + "norm_label": "validators/locations.ts", + "id": "backend_src_validators_locations", + "community_name": "Community 22" + }, + { + "label": "resolveLocationSchema", + "file_type": "code", + "source_file": "backend/src/validators/locations.ts", + "source_location": "L16", + "_origin": "ast", + "community": 22, + "norm_label": "resolvelocationschema", + "id": "backend_src_validators_locations_resolvelocationschema", + "community_name": "Community 22" + }, + { + "label": "probeLocationSchema", + "file_type": "code", + "source_file": "backend/src/validators/locations.ts", + "source_location": "L29", + "_origin": "ast", + "community": 22, + "norm_label": "probelocationschema", + "id": "backend_src_validators_locations_probelocationschema", + "community_name": "Community 22" + }, + { + "label": "fluxRecomputeSchema", + "file_type": "code", + "source_file": "backend/src/validators/locations.ts", + "source_location": "L40", + "_origin": "ast", + "community": 22, + "norm_label": "fluxrecomputeschema", + "id": "backend_src_validators_locations_fluxrecomputeschema", + "community_name": "Community 22" + }, + { + "label": "fluxRecomputeBatchSchema", + "file_type": "code", + "source_file": "backend/src/validators/locations.ts", + "source_location": "L58", + "_origin": "ast", + "community": 22, + "norm_label": "fluxrecomputebatchschema", + "id": "backend_src_validators_locations_fluxrecomputebatchschema", + "community_name": "Community 22" + }, + { + "label": "validators/projects.ts", + "file_type": "code", + "source_file": "backend/src/validators/projects.ts", + "source_location": "L1", + "_origin": "ast", + "community": 46, + "norm_label": "validators/projects.ts", + "id": "backend_src_validators_projects", + "community_name": "Community 46" + }, + { + "label": "backend/tsconfig.json", + "file_type": "code", + "source_file": "backend/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "community": 51, + "norm_label": "backend/tsconfig.json", + "id": "backend_tsconfig", + "community_name": "Community 51" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "backend/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "community": 51, + "norm_label": "extends", + "id": "backend_tsconfig_extends", + "community_name": "Community 51" + }, + { + "label": "../tsconfig.json", + "file_type": "concept", + "source_file": "backend/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "community": 51, + "norm_label": "../tsconfig.json", + "id": "backend_tsconfig_json_ref_tsconfig_json", + "community_name": "Community 51" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "backend/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "community": 51, + "norm_label": "compileroptions", + "id": "backend_tsconfig_compileroptions", + "community_name": "Community 51" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "backend/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "community": 51, + "norm_label": "outdir", + "id": "backend_tsconfig_compileroptions_outdir", + "community_name": "Community 51" + }, + { + "label": "rootDir", + "file_type": "code", + "source_file": "backend/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "community": 51, + "norm_label": "rootdir", + "id": "backend_tsconfig_compileroptions_rootdir", + "community_name": "Community 51" + }, + { + "label": "include", + "file_type": "code", + "source_file": "backend/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "community": 51, + "norm_label": "include", + "id": "backend_tsconfig_include", + "community_name": "Community 51" + }, + { + "label": "src/**/*.ts", + "file_type": "concept", + "source_file": "backend/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "community": 51, + "norm_label": "src/**/*.ts", + "id": "backend_tsconfig_json_ref_src_ts", + "community_name": "Community 51" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "backend/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "community": 51, + "norm_label": "exclude", + "id": "backend_tsconfig_exclude", + "community_name": "Community 51" + }, + { + "label": "src/**/*.test.ts", + "file_type": "concept", + "source_file": "backend/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "community": 51, + "norm_label": "src/**/*.test.ts", + "id": "backend_tsconfig_json_ref_src_test_ts", + "community_name": "Community 51" + }, + { + "label": "src/**/__tests__/**", + "file_type": "concept", + "source_file": "backend/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "community": 51, + "norm_label": "src/**/__tests__/**", + "id": "ref_src_tests", + "community_name": "Community 51" + }, + { + "label": "references", + "file_type": "code", + "source_file": "backend/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "community": 51, + "norm_label": "references", + "id": "backend_tsconfig_references", + "community_name": "Community 51" + }, + { + "label": "eslint.config.js", + "file_type": "code", + "source_file": "eslint.config.js", + "source_location": "L1", + "_origin": "ast", + "community": 68, + "norm_label": "eslint.config.js", + "id": "eslint_config", + "community_name": "Community 68" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "eslint.config.js", + "source_location": "L2", + "_origin": "ast", + "community": 68, + "norm_label": "prettier", + "id": "eslint_config_js_eslint_config_prettier", + "community_name": "Community 68" + }, + { + "label": "reactHooks", + "file_type": "code", + "source_file": "eslint.config.js", + "source_location": "L3", + "_origin": "ast", + "community": 68, + "norm_label": "reacthooks", + "id": "eslint_config_reacthooks", + "community_name": "Community 68" + }, + { + "label": "tseslint", + "file_type": "code", + "source_file": "eslint.config.js", + "source_location": "L4", + "_origin": "ast", + "community": 68, + "norm_label": "tseslint", + "id": "eslint_config_tseslint", + "community_name": "Community 68" + }, + { + "label": "globals", + "file_type": "code", + "source_file": "eslint.config.js", + "source_location": "L5", + "_origin": "ast", + "community": 68, + "norm_label": "globals", + "id": "eslint_config_globals", + "community_name": "Community 68" + }, + { + "label": "typescriptFiles", + "file_type": "code", + "source_file": "eslint.config.js", + "source_location": "L7", + "_origin": "ast", + "community": 68, + "norm_label": "typescriptfiles", + "id": "eslint_config_typescriptfiles", + "community_name": "Community 68" + }, + { + "label": "isOff()", + "file_type": "code", + "source_file": "eslint.config.js", + "source_location": "L14", + "_origin": "ast", + "community": 68, + "norm_label": "isoff()", + "id": "eslint_config_isoff", + "community_name": "Community 68" + }, + { + "label": "warnings()", + "file_type": "code", + "source_file": "eslint.config.js", + "source_location": "L16", + "_origin": "ast", + "community": 68, + "norm_label": "warnings()", + "id": "eslint_config_warnings", + "community_name": "Community 68" + }, + { + "label": "components.json", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L1", + "_origin": "ast", + "community": 33, + "norm_label": "components.json", + "id": "frontend_components", + "community_name": "Community 33" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L2", + "_origin": "ast", + "community": 33, + "norm_label": "$schema", + "id": "frontend_components_schema", + "community_name": "Community 33" + }, + { + "label": "style", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L3", + "_origin": "ast", + "community": 33, + "norm_label": "style", + "id": "frontend_components_style", + "community_name": "Community 33" + }, + { + "label": "rsc", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L4", + "_origin": "ast", + "community": 33, + "norm_label": "rsc", + "id": "frontend_components_rsc", + "community_name": "Community 33" + }, + { + "label": "tsx", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L5", + "_origin": "ast", + "community": 33, + "norm_label": "tsx", + "id": "frontend_components_tsx", + "community_name": "Community 33" + }, + { + "label": "tailwind", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L6", + "_origin": "ast", + "community": 33, + "norm_label": "tailwind", + "id": "frontend_components_tailwind", + "community_name": "Community 33" + }, + { + "label": "config", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L7", + "_origin": "ast", + "community": 33, + "norm_label": "config", + "id": "frontend_components_tailwind_config", + "community_name": "Community 33" + }, + { + "label": "css", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L8", + "_origin": "ast", + "community": 33, + "norm_label": "css", + "id": "frontend_components_tailwind_css", + "community_name": "Community 33" + }, + { + "label": "baseColor", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L9", + "_origin": "ast", + "community": 33, + "norm_label": "basecolor", + "id": "frontend_components_tailwind_basecolor", + "community_name": "Community 33" + }, + { + "label": "cssVariables", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L10", + "_origin": "ast", + "community": 33, + "norm_label": "cssvariables", + "id": "frontend_components_tailwind_cssvariables", + "community_name": "Community 33" + }, + { + "label": "prefix", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L11", + "_origin": "ast", + "community": 33, + "norm_label": "prefix", + "id": "frontend_components_tailwind_prefix", + "community_name": "Community 33" + }, + { + "label": "aliases", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L13", + "_origin": "ast", + "community": 33, + "norm_label": "aliases", + "id": "frontend_components_aliases", + "community_name": "Community 33" + }, + { + "label": "components", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L14", + "_origin": "ast", + "community": 33, + "norm_label": "components", + "id": "frontend_components_aliases_components", + "community_name": "Community 33" + }, + { + "label": "utils", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L15", + "_origin": "ast", + "community": 33, + "norm_label": "utils", + "id": "frontend_components_aliases_utils", + "community_name": "Community 33" + }, + { + "label": "ui", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L16", + "_origin": "ast", + "community": 33, + "norm_label": "ui", + "id": "frontend_components_aliases_ui", + "community_name": "Community 33" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L17", + "_origin": "ast", + "community": 33, + "norm_label": "lib", + "id": "frontend_components_aliases_lib", + "community_name": "Community 33" + }, + { + "label": "hooks", + "file_type": "code", + "source_file": "frontend/components.json", + "source_location": "L18", + "_origin": "ast", + "community": 33, + "norm_label": "hooks", + "id": "frontend_components_aliases_hooks", + "community_name": "Community 33" + }, + { + "label": "frontend/package.json", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L1", + "_origin": "ast", + "community": 5, + "norm_label": "frontend/package.json", + "id": "frontend_package", + "community_name": "Community 5" + }, + { + "label": "name", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L2", + "_origin": "ast", + "community": 5, + "norm_label": "name", + "id": "frontend_package_name", + "community_name": "Community 5" + }, + { + "label": "private", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L3", + "_origin": "ast", + "community": 5, + "norm_label": "private", + "id": "frontend_package_private", + "community_name": "Community 5" + }, + { + "label": "license", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L4", + "_origin": "ast", + "community": 5, + "norm_label": "license", + "id": "frontend_package_license", + "community_name": "Community 5" + }, + { + "label": "type", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L5", + "_origin": "ast", + "community": 5, + "norm_label": "type", + "id": "frontend_package_type", + "community_name": "Community 5" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L6", + "_origin": "ast", + "community": 5, + "norm_label": "scripts", + "id": "frontend_package_scripts", + "community_name": "Community 5" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L7", + "_origin": "ast", + "community": 5, + "norm_label": "dev", + "id": "frontend_package_scripts_dev", + "community_name": "Community 5" + }, + { + "label": "build", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L8", + "_origin": "ast", + "community": 5, + "norm_label": "build", + "id": "frontend_package_scripts_build", + "community_name": "Community 5" + }, + { + "label": "preview", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L9", + "_origin": "ast", + "community": 5, + "norm_label": "preview", + "id": "frontend_package_scripts_preview", + "community_name": "Community 5" + }, + { + "label": "test", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L10", + "_origin": "ast", + "community": 5, + "norm_label": "test", + "id": "frontend_package_scripts_test", + "community_name": "Community 5" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L12", + "_origin": "ast", + "community": 53, + "norm_label": "dependencies", + "id": "frontend_package_dependencies", + "community_name": "Community 53" + }, + { + "label": "@dnd-kit/core", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L13", + "_origin": "ast", + "community": 93, + "norm_label": "@dnd-kit/core", + "id": "frontend_package_dependencies_dnd_kit_core", + "community_name": "Community 93" + }, + { + "label": "@dnd-kit/core", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L13", + "_origin": "ast", + "community": 93, + "norm_label": "@dnd-kit/core", + "id": "dnd_kit_core", + "community_name": "Community 93" + }, + { + "label": "@dnd-kit/sortable", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L14", + "_origin": "ast", + "community": 94, + "norm_label": "@dnd-kit/sortable", + "id": "frontend_package_dependencies_dnd_kit_sortable", + "community_name": "Community 94" + }, + { + "label": "@dnd-kit/sortable", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L14", + "_origin": "ast", + "community": 94, + "norm_label": "@dnd-kit/sortable", + "id": "dnd_kit_sortable", + "community_name": "Community 94" + }, + { + "label": "@dnd-kit/utilities", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L15", + "_origin": "ast", + "community": 95, + "norm_label": "@dnd-kit/utilities", + "id": "frontend_package_dependencies_dnd_kit_utilities", + "community_name": "Community 95" + }, + { + "label": "@dnd-kit/utilities", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L15", + "_origin": "ast", + "community": 95, + "norm_label": "@dnd-kit/utilities", + "id": "dnd_kit_utilities", + "community_name": "Community 95" + }, + { + "label": "@googlemaps/js-api-loader", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L16", + "_origin": "ast", + "community": 53, + "norm_label": "@googlemaps/js-api-loader", + "id": "frontend_package_dependencies_googlemaps_js_api_loader", + "community_name": "Community 53" + }, + { + "label": "@googlemaps/js-api-loader", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L16", + "_origin": "ast", + "community": 53, + "norm_label": "@googlemaps/js-api-loader", + "id": "googlemaps_js_api_loader", + "community_name": "Community 53" + }, + { + "label": "@radix-ui/react-dialog", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L17", + "_origin": "ast", + "community": 102, + "norm_label": "@radix-ui/react-dialog", + "id": "frontend_package_dependencies_radix_ui_react_dialog", + "community_name": "Community 102" + }, + { + "label": "@radix-ui/react-dialog", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L17", + "_origin": "ast", + "community": 102, + "norm_label": "@radix-ui/react-dialog", + "id": "radix_ui_react_dialog", + "community_name": "Community 102" + }, + { + "label": "@radix-ui/react-dropdown-menu", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L18", + "_origin": "ast", + "community": 103, + "norm_label": "@radix-ui/react-dropdown-menu", + "id": "frontend_package_dependencies_radix_ui_react_dropdown_menu", + "community_name": "Community 103" + }, + { + "label": "@radix-ui/react-dropdown-menu", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L18", + "_origin": "ast", + "community": 103, + "norm_label": "@radix-ui/react-dropdown-menu", + "id": "radix_ui_react_dropdown_menu", + "community_name": "Community 103" + }, + { + "label": "@radix-ui/react-label", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L19", + "_origin": "ast", + "community": 104, + "norm_label": "@radix-ui/react-label", + "id": "frontend_package_dependencies_radix_ui_react_label", + "community_name": "Community 104" + }, + { + "label": "@radix-ui/react-label", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L19", + "_origin": "ast", + "community": 104, + "norm_label": "@radix-ui/react-label", + "id": "radix_ui_react_label", + "community_name": "Community 104" + }, + { + "label": "@radix-ui/react-separator", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L20", + "_origin": "ast", + "community": 105, + "norm_label": "@radix-ui/react-separator", + "id": "frontend_package_dependencies_radix_ui_react_separator", + "community_name": "Community 105" + }, + { + "label": "@radix-ui/react-separator", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L20", + "_origin": "ast", + "community": 105, + "norm_label": "@radix-ui/react-separator", + "id": "radix_ui_react_separator", + "community_name": "Community 105" + }, + { + "label": "@radix-ui/react-slider", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L21", + "_origin": "ast", + "community": 106, + "norm_label": "@radix-ui/react-slider", + "id": "frontend_package_dependencies_radix_ui_react_slider", + "community_name": "Community 106" + }, + { + "label": "@radix-ui/react-slider", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L21", + "_origin": "ast", + "community": 106, + "norm_label": "@radix-ui/react-slider", + "id": "radix_ui_react_slider", + "community_name": "Community 106" + }, + { + "label": "@radix-ui/react-slot", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L22", + "_origin": "ast", + "community": 107, + "norm_label": "@radix-ui/react-slot", + "id": "frontend_package_dependencies_radix_ui_react_slot", + "community_name": "Community 107" + }, + { + "label": "@radix-ui/react-slot", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L22", + "_origin": "ast", + "community": 107, + "norm_label": "@radix-ui/react-slot", + "id": "radix_ui_react_slot", + "community_name": "Community 107" + }, + { + "label": "@radix-ui/react-tooltip", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L23", + "_origin": "ast", + "community": 108, + "norm_label": "@radix-ui/react-tooltip", + "id": "frontend_package_dependencies_radix_ui_react_tooltip", + "community_name": "Community 108" + }, + { + "label": "@radix-ui/react-tooltip", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L23", + "_origin": "ast", + "community": 108, + "norm_label": "@radix-ui/react-tooltip", + "id": "radix_ui_react_tooltip", + "community_name": "Community 108" + }, + { + "label": "@react-three/drei", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L24", + "_origin": "ast", + "community": 115, + "norm_label": "@react-three/drei", + "id": "frontend_package_dependencies_react_three_drei", + "community_name": "Community 115" + }, + { + "label": "@react-three/drei", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L24", + "_origin": "ast", + "community": 115, + "norm_label": "@react-three/drei", + "id": "react_three_drei", + "community_name": "Community 115" + }, + { + "label": "@react-three/fiber", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L25", + "_origin": "ast", + "community": 116, + "norm_label": "@react-three/fiber", + "id": "frontend_package_dependencies_react_three_fiber", + "community_name": "Community 116" + }, + { + "label": "@react-three/fiber", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L25", + "_origin": "ast", + "community": 116, + "norm_label": "@react-three/fiber", + "id": "react_three_fiber", + "community_name": "Community 116" + }, + { + "label": "@shared/types", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L26", + "_origin": "ast", + "community": 118, + "norm_label": "@shared/types", + "id": "frontend_package_dependencies_shared_types", + "community_name": "Community 118" + }, + { + "label": "@shared/types", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L26", + "_origin": "ast", + "community": 118, + "norm_label": "@shared/types", + "id": "frontend_package_json_shared_types", + "community_name": "Community 118" + }, + { + "label": "@supabase/supabase-js", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L27", + "_origin": "ast", + "community": 119, + "norm_label": "@supabase/supabase-js", + "id": "frontend_package_dependencies_supabase_supabase_js", + "community_name": "Community 119" + }, + { + "label": "@supabase/supabase-js", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L27", + "_origin": "ast", + "community": 119, + "norm_label": "@supabase/supabase-js", + "id": "frontend_package_json_supabase_supabase_js", + "community_name": "Community 119" + }, + { + "label": "@tanstack/react-query", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L28", + "_origin": "ast", + "community": 53, + "norm_label": "@tanstack/react-query", + "id": "frontend_package_dependencies_tanstack_react_query", + "community_name": "Community 53" + }, + { + "label": "@tanstack/react-query", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L28", + "_origin": "ast", + "community": 53, + "norm_label": "@tanstack/react-query", + "id": "tanstack_react_query", + "community_name": "Community 53" + }, + { + "label": "class-variance-authority", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L29", + "_origin": "ast", + "community": 53, + "norm_label": "class-variance-authority", + "id": "frontend_package_dependencies_class_variance_authority", + "community_name": "Community 53" + }, + { + "label": "class-variance-authority", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L29", + "_origin": "ast", + "community": 53, + "norm_label": "class-variance-authority", + "id": "class_variance_authority", + "community_name": "Community 53" + }, + { + "label": "clsx", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L30", + "_origin": "ast", + "community": 92, + "norm_label": "clsx", + "id": "frontend_package_dependencies_clsx", + "community_name": "Community 92" + }, + { + "label": "clsx", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L30", + "_origin": "ast", + "community": 92, + "norm_label": "clsx", + "id": "clsx", + "community_name": "Community 92" + }, + { + "label": "framer-motion", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L31", + "_origin": "ast", + "community": 96, + "norm_label": "framer-motion", + "id": "frontend_package_dependencies_framer_motion", + "community_name": "Community 96" + }, + { + "label": "framer-motion", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L31", + "_origin": "ast", + "community": 96, + "norm_label": "framer-motion", + "id": "framer_motion", + "community_name": "Community 96" + }, + { + "label": "i18next", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L32", + "_origin": "ast", + "community": 97, + "norm_label": "i18next", + "id": "frontend_package_dependencies_i18next", + "community_name": "Community 97" + }, + { + "label": "i18next", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L32", + "_origin": "ast", + "community": 97, + "norm_label": "i18next", + "id": "i18next", + "community_name": "Community 97" + }, + { + "label": "i18next-browser-languagedetector", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L33", + "_origin": "ast", + "community": 53, + "norm_label": "i18next-browser-languagedetector", + "id": "frontend_package_dependencies_i18next_browser_languagedetector", + "community_name": "Community 53" + }, + { + "label": "i18next-browser-languagedetector", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L33", + "_origin": "ast", + "community": 53, + "norm_label": "i18next-browser-languagedetector", + "id": "i18next_browser_languagedetector", + "community_name": "Community 53" + }, + { + "label": "konva", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L34", + "_origin": "ast", + "community": 98, + "norm_label": "konva", + "id": "frontend_package_dependencies_konva", + "community_name": "Community 98" + }, + { + "label": "konva", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L34", + "_origin": "ast", + "community": 98, + "norm_label": "konva", + "id": "konva", + "community_name": "Community 98" + }, + { + "label": "lucide-react", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L35", + "_origin": "ast", + "community": 99, + "norm_label": "lucide-react", + "id": "frontend_package_dependencies_lucide_react", + "community_name": "Community 99" + }, + { + "label": "lucide-react", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L35", + "_origin": "ast", + "community": 99, + "norm_label": "lucide-react", + "id": "lucide_react", + "community_name": "Community 99" + }, + { + "label": "next-themes", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L36", + "_origin": "ast", + "community": 100, + "norm_label": "next-themes", + "id": "frontend_package_dependencies_next_themes", + "community_name": "Community 100" + }, + { + "label": "next-themes", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L36", + "_origin": "ast", + "community": 100, + "norm_label": "next-themes", + "id": "next_themes", + "community_name": "Community 100" + }, + { + "label": "proj4", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L37", + "_origin": "ast", + "community": 101, + "norm_label": "proj4", + "id": "frontend_package_dependencies_proj4", + "community_name": "Community 101" + }, + { + "label": "proj4", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L37", + "_origin": "ast", + "community": 101, + "norm_label": "proj4", + "id": "frontend_package_json_proj4", + "community_name": "Community 101" + }, + { + "label": "react", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L38", + "_origin": "ast", + "community": 109, + "norm_label": "react", + "id": "frontend_package_dependencies_react", + "community_name": "Community 109" + }, + { + "label": "react", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L38", + "_origin": "ast", + "community": 109, + "norm_label": "react", + "id": "react", + "community_name": "Community 109" + }, + { + "label": "react-dom", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L39", + "_origin": "ast", + "community": 110, + "norm_label": "react-dom", + "id": "frontend_package_dependencies_react_dom", + "community_name": "Community 110" + }, + { + "label": "react-dom", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L39", + "_origin": "ast", + "community": 110, + "norm_label": "react-dom", + "id": "react_dom", + "community_name": "Community 110" + }, + { + "label": "react-hot-toast", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L40", + "_origin": "ast", + "community": 111, + "norm_label": "react-hot-toast", + "id": "frontend_package_dependencies_react_hot_toast", + "community_name": "Community 111" + }, + { + "label": "react-hot-toast", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L40", + "_origin": "ast", + "community": 111, + "norm_label": "react-hot-toast", + "id": "react_hot_toast", + "community_name": "Community 111" + }, + { + "label": "react-i18next", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L41", + "_origin": "ast", + "community": 112, + "norm_label": "react-i18next", + "id": "frontend_package_dependencies_react_i18next", + "community_name": "Community 112" + }, + { + "label": "react-i18next", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L41", + "_origin": "ast", + "community": 112, + "norm_label": "react-i18next", + "id": "react_i18next", + "community_name": "Community 112" + }, + { + "label": "react-konva", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L42", + "_origin": "ast", + "community": 113, + "norm_label": "react-konva", + "id": "frontend_package_dependencies_react_konva", + "community_name": "Community 113" + }, + { + "label": "react-konva", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L42", + "_origin": "ast", + "community": 113, + "norm_label": "react-konva", + "id": "react_konva", + "community_name": "Community 113" + }, + { + "label": "react-markdown", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L43", + "_origin": "ast", + "community": 53, + "norm_label": "react-markdown", + "id": "frontend_package_dependencies_react_markdown", + "community_name": "Community 53" + }, + { + "label": "react-markdown", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L43", + "_origin": "ast", + "community": 53, + "norm_label": "react-markdown", + "id": "react_markdown", + "community_name": "Community 53" + }, + { + "label": "react-router-dom", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L44", + "_origin": "ast", + "community": 114, + "norm_label": "react-router-dom", + "id": "frontend_package_dependencies_react_router_dom", + "community_name": "Community 114" + }, + { + "label": "react-router-dom", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L44", + "_origin": "ast", + "community": 114, + "norm_label": "react-router-dom", + "id": "react_router_dom", + "community_name": "Community 114" + }, + { + "label": "recharts", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L45", + "_origin": "ast", + "community": 117, + "norm_label": "recharts", + "id": "frontend_package_dependencies_recharts", + "community_name": "Community 117" + }, + { + "label": "recharts", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L45", + "_origin": "ast", + "community": 117, + "norm_label": "recharts", + "id": "recharts", + "community_name": "Community 117" + }, + { + "label": "tailwind-merge", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L46", + "_origin": "ast", + "community": 120, + "norm_label": "tailwind-merge", + "id": "frontend_package_dependencies_tailwind_merge", + "community_name": "Community 120" + }, + { + "label": "tailwind-merge", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L46", + "_origin": "ast", + "community": 120, + "norm_label": "tailwind-merge", + "id": "tailwind_merge", + "community_name": "Community 120" + }, + { + "label": "tailwindcss-animate", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L47", + "_origin": "ast", + "community": 121, + "norm_label": "tailwindcss-animate", + "id": "frontend_package_dependencies_tailwindcss_animate", + "community_name": "Community 121" + }, + { + "label": "tailwindcss-animate", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L47", + "_origin": "ast", + "community": 121, + "norm_label": "tailwindcss-animate", + "id": "tailwindcss_animate", + "community_name": "Community 121" + }, + { + "label": "three", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L48", + "_origin": "ast", + "community": 122, + "norm_label": "three", + "id": "frontend_package_dependencies_three", + "community_name": "Community 122" + }, + { + "label": "three", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L48", + "_origin": "ast", + "community": 122, + "norm_label": "three", + "id": "three", + "community_name": "Community 122" + }, + { + "label": "vaul", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L49", + "_origin": "ast", + "community": 123, + "norm_label": "vaul", + "id": "frontend_package_dependencies_vaul", + "community_name": "Community 123" + }, + { + "label": "vaul", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L49", + "_origin": "ast", + "community": 123, + "norm_label": "vaul", + "id": "vaul", + "community_name": "Community 123" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L51", + "_origin": "ast", + "community": 5, + "norm_label": "devdependencies", + "id": "frontend_package_devdependencies", + "community_name": "Community 5" + }, + { + "label": "@tailwindcss/vite", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L52", + "_origin": "ast", + "community": 5, + "norm_label": "@tailwindcss/vite", + "id": "frontend_package_devdependencies_tailwindcss_vite", + "community_name": "Community 5" + }, + { + "label": "@tailwindcss/vite", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L52", + "_origin": "ast", + "community": 5, + "norm_label": "@tailwindcss/vite", + "id": "tailwindcss_vite", + "community_name": "Community 5" + }, + { + "label": "@testing-library/react", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L53", + "_origin": "ast", + "community": 5, + "norm_label": "@testing-library/react", + "id": "frontend_package_devdependencies_testing_library_react", + "community_name": "Community 5" + }, + { + "label": "@testing-library/react", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L53", + "_origin": "ast", + "community": 5, + "norm_label": "@testing-library/react", + "id": "testing_library_react", + "community_name": "Community 5" + }, + { + "label": "@types/google.maps", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L54", + "_origin": "ast", + "community": 5, + "norm_label": "@types/google.maps", + "id": "frontend_package_devdependencies_types_google_maps", + "community_name": "Community 5" + }, + { + "label": "@types/google.maps", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L54", + "_origin": "ast", + "community": 5, + "norm_label": "@types/google.maps", + "id": "types_google_maps", + "community_name": "Community 5" + }, + { + "label": "@types/react", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L55", + "_origin": "ast", + "community": 5, + "norm_label": "@types/react", + "id": "frontend_package_devdependencies_types_react", + "community_name": "Community 5" + }, + { + "label": "@types/react", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L55", + "_origin": "ast", + "community": 5, + "norm_label": "@types/react", + "id": "types_react", + "community_name": "Community 5" + }, + { + "label": "@types/react-dom", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L56", + "_origin": "ast", + "community": 5, + "norm_label": "@types/react-dom", + "id": "frontend_package_devdependencies_types_react_dom", + "community_name": "Community 5" + }, + { + "label": "@types/react-dom", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L56", + "_origin": "ast", + "community": 5, + "norm_label": "@types/react-dom", + "id": "types_react_dom", + "community_name": "Community 5" + }, + { + "label": "@types/three", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L57", + "_origin": "ast", + "community": 5, + "norm_label": "@types/three", + "id": "frontend_package_devdependencies_types_three", + "community_name": "Community 5" + }, + { + "label": "@types/three", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L57", + "_origin": "ast", + "community": 5, + "norm_label": "@types/three", + "id": "types_three", + "community_name": "Community 5" + }, + { + "label": "@vitejs/plugin-react", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L58", + "_origin": "ast", + "community": 5, + "norm_label": "@vitejs/plugin-react", + "id": "frontend_package_devdependencies_vitejs_plugin_react", + "community_name": "Community 5" + }, + { + "label": "@vitejs/plugin-react", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L58", + "_origin": "ast", + "community": 5, + "norm_label": "@vitejs/plugin-react", + "id": "vitejs_plugin_react", + "community_name": "Community 5" + }, + { + "label": "autoprefixer", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L59", + "_origin": "ast", + "community": 5, + "norm_label": "autoprefixer", + "id": "frontend_package_devdependencies_autoprefixer", + "community_name": "Community 5" + }, + { + "label": "autoprefixer", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L59", + "_origin": "ast", + "community": 5, + "norm_label": "autoprefixer", + "id": "autoprefixer", + "community_name": "Community 5" + }, + { + "label": "jsdom", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L60", + "_origin": "ast", + "community": 5, + "norm_label": "jsdom", + "id": "frontend_package_devdependencies_jsdom", + "community_name": "Community 5" + }, + { + "label": "jsdom", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L60", + "_origin": "ast", + "community": 5, + "norm_label": "jsdom", + "id": "jsdom", + "community_name": "Community 5" + }, + { + "label": "tailwindcss", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L61", + "_origin": "ast", + "community": 5, + "norm_label": "tailwindcss", + "id": "frontend_package_devdependencies_tailwindcss", + "community_name": "Community 5" + }, + { + "label": "tailwindcss", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L61", + "_origin": "ast", + "community": 5, + "norm_label": "tailwindcss", + "id": "tailwindcss", + "community_name": "Community 5" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L62", + "_origin": "ast", + "community": 5, + "norm_label": "typescript", + "id": "frontend_package_devdependencies_typescript", + "community_name": "Community 5" + }, + { + "label": "typescript", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L62", + "_origin": "ast", + "community": 5, + "norm_label": "typescript", + "id": "frontend_package_json_typescript", + "community_name": "Community 5" + }, + { + "label": "vite", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L63", + "_origin": "ast", + "community": 5, + "norm_label": "vite", + "id": "frontend_package_devdependencies_vite", + "community_name": "Community 5" + }, + { + "label": "vite", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L63", + "_origin": "ast", + "community": 5, + "norm_label": "vite", + "id": "vite", + "community_name": "Community 5" + }, + { + "label": "vitest", + "file_type": "code", + "source_file": "frontend/package.json", + "source_location": "L64", + "_origin": "ast", + "community": 5, + "norm_label": "vitest", + "id": "frontend_package_devdependencies_vitest", + "community_name": "Community 5" + }, + { + "label": "vitest", + "file_type": "concept", + "source_file": "frontend/package.json", + "source_location": "L64", + "_origin": "ast", + "community": 5, + "norm_label": "vitest", + "id": "frontend_package_json_vitest", + "community_name": "Community 5" + }, + { + "label": "postcss.config.js", + "file_type": "code", + "source_file": "frontend/postcss.config.js", + "source_location": "L1", + "_origin": "ast", + "community": 125, + "norm_label": "postcss.config.js", + "id": "frontend_postcss_config", + "community_name": "Community 125" + }, + { + "label": "App.tsx", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 19, + "norm_label": "app.tsx", + "id": "frontend_src_app", + "community_name": "Community 19" + }, + { + "label": "DashboardPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 19, + "norm_label": "dashboardpage", + "id": "frontend_src_app_dashboardpage", + "community_name": "Community 19" + }, + { + "label": "ProjectsPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L17", + "_origin": "ast", + "community": 19, + "norm_label": "projectspage", + "id": "frontend_src_app_projectspage", + "community_name": "Community 19" + }, + { + "label": "FAQPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L18", + "_origin": "ast", + "community": 19, + "norm_label": "faqpage", + "id": "frontend_src_app_faqpage", + "community_name": "Community 19" + }, + { + "label": "SettingsPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L19", + "_origin": "ast", + "community": 19, + "norm_label": "settingspage", + "id": "frontend_src_app_settingspage", + "community_name": "Community 19" + }, + { + "label": "MapPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L20", + "_origin": "ast", + "community": 19, + "norm_label": "mappage", + "id": "frontend_src_app_mappage", + "community_name": "Community 19" + }, + { + "label": "NotFoundPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L21", + "_origin": "ast", + "community": 19, + "norm_label": "notfoundpage", + "id": "frontend_src_app_notfoundpage", + "community_name": "Community 19" + }, + { + "label": "WorkbenchPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 19, + "norm_label": "workbenchpage", + "id": "frontend_src_app_workbenchpage", + "community_name": "Community 19" + }, + { + "label": "AnalysisPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L23", + "_origin": "ast", + "community": 19, + "norm_label": "analysispage", + "id": "frontend_src_app_analysispage", + "community_name": "Community 19" + }, + { + "label": "AnalyticsPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 19, + "norm_label": "analyticspage", + "id": "frontend_src_app_analyticspage", + "community_name": "Community 19" + }, + { + "label": "PdfPreviewPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L25", + "_origin": "ast", + "community": 19, + "norm_label": "pdfpreviewpage", + "id": "frontend_src_app_pdfpreviewpage", + "community_name": "Community 19" + }, + { + "label": "PrivacyPage", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L26", + "_origin": "ast", + "community": 19, + "norm_label": "privacypage", + "id": "frontend_src_app_privacypage", + "community_name": "Community 19" + }, + { + "label": "PAGE_LOADING_HINTS", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L29", + "_origin": "ast", + "community": 19, + "norm_label": "page_loading_hints", + "id": "frontend_src_app_page_loading_hints", + "community_name": "Community 19" + }, + { + "label": "App()", + "file_type": "code", + "source_file": "frontend/src/App.tsx", + "source_location": "L35", + "_origin": "ast", + "community": 38, + "norm_label": "app()", + "id": "frontend_src_app_app", + "community_name": "Community 38" + }, + { + "label": "api/client.ts", + "file_type": "code", + "source_file": "frontend/src/api/client.ts", + "source_location": "L1", + "_origin": "ast", + "community": 38, + "norm_label": "api/client.ts", + "id": "frontend_src_api_client", + "community_name": "Community 38" + }, + { + "label": "ApiError", + "file_type": "code", + "source_file": "frontend/src/api/client.ts", + "source_location": "L21", + "_origin": "ast", + "community": 18, + "norm_label": "apierror", + "id": "frontend_src_api_client_apierror", + "community_name": "Community 18" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "frontend/src/api/client.ts", + "source_location": "L22", + "_origin": "ast", + "community": 18, + "norm_label": ".constructor()", + "id": "frontend_src_api_client_apierror_constructor", + "community_name": "Community 18" + }, + { + "label": "apiFetch()", + "file_type": "code", + "source_file": "frontend/src/api/client.ts", + "source_location": "L39", + "_origin": "ast", + "community": 27, + "norm_label": "apifetch()", + "id": "frontend_src_api_client_apifetch", + "community_name": "Community 27" + }, + { + "label": "api/locations.ts", + "file_type": "code", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L1", + "_origin": "ast", + "community": 31, + "norm_label": "api/locations.ts", + "id": "frontend_src_api_locations", + "community_name": "Community 31" + }, + { + "label": "LocationImageGeoTransform", + "file_type": "code", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L37", + "_origin": "ast", + "community": 1, + "norm_label": "locationimagegeotransform", + "id": "frontend_src_api_locations_locationimagegeotransform", + "community_name": "Community 1" + }, + { + "label": "LocationDataWithGeoTransform", + "file_type": "code", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L54", + "_origin": "ast", + "community": 31, + "norm_label": "locationdatawithgeotransform", + "id": "frontend_src_api_locations_locationdatawithgeotransform", + "community_name": "Community 31" + }, + { + "label": "resolveLocation()", + "file_type": "code", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L66", + "_origin": "ast", + "community": 27, + "norm_label": "resolvelocation()", + "id": "frontend_src_api_locations_resolvelocation", + "community_name": "Community 27" + }, + { + "label": "probeLocation()", + "file_type": "code", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L77", + "_origin": "ast", + "community": 27, + "norm_label": "probelocation()", + "id": "frontend_src_api_locations_probelocation", + "community_name": "Community 27" + }, + { + "label": "getLocationStatus()", + "file_type": "code", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L86", + "_origin": "ast", + "community": 18, + "norm_label": "getlocationstatus()", + "id": "frontend_src_api_locations_getlocationstatus", + "community_name": "Community 18" + }, + { + "label": "getLocationData()", + "file_type": "code", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L95", + "_origin": "ast", + "community": 75, + "norm_label": "getlocationdata()", + "id": "frontend_src_api_locations_getlocationdata", + "community_name": "Community 75" + }, + { + "label": "recomputeFlux()", + "file_type": "code", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L103", + "_origin": "ast", + "community": 27, + "norm_label": "recomputeflux()", + "id": "frontend_src_api_locations_recomputeflux", + "community_name": "Community 27" + }, + { + "label": "recomputeFluxBatch()", + "file_type": "code", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L115", + "_origin": "ast", + "community": 27, + "norm_label": "recomputefluxbatch()", + "id": "frontend_src_api_locations_recomputefluxbatch", + "community_name": "Community 27" + }, + { + "label": "getOverlayUrl()", + "file_type": "code", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L127", + "_origin": "ast", + "community": 60, + "norm_label": "getoverlayurl()", + "id": "frontend_src_api_locations_getoverlayurl", + "community_name": "Community 60" + }, + { + "label": "api/projects.ts", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L1", + "_origin": "ast", + "community": 27, + "norm_label": "api/projects.ts", + "id": "frontend_src_api_projects", + "community_name": "Community 27" + }, + { + "label": "ProjectAnalysisConfig", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L34", + "_origin": "ast", + "community": 27, + "norm_label": "projectanalysisconfig", + "id": "frontend_src_api_projects_projectanalysisconfig", + "community_name": "Community 27" + }, + { + "label": "ProjectResponse", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L47", + "_origin": "ast", + "community": 41, + "norm_label": "projectresponse", + "id": "frontend_src_api_projects_projectresponse", + "community_name": "Community 41" + }, + { + "label": "createProject()", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L75", + "_origin": "ast", + "community": 18, + "norm_label": "createproject()", + "id": "frontend_src_api_projects_createproject", + "community_name": "Community 18" + }, + { + "label": "listProjects()", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L83", + "_origin": "ast", + "community": 23, + "norm_label": "listprojects()", + "id": "frontend_src_api_projects_listprojects", + "community_name": "Community 23" + }, + { + "label": "getProject()", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L88", + "_origin": "ast", + "community": 75, + "norm_label": "getproject()", + "id": "frontend_src_api_projects_getproject", + "community_name": "Community 75" + }, + { + "label": "deleteProject()", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L93", + "_origin": "ast", + "community": 27, + "norm_label": "deleteproject()", + "id": "frontend_src_api_projects_deleteproject", + "community_name": "Community 27" + }, + { + "label": "saveLayout()", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L103", + "_origin": "ast", + "community": 27, + "norm_label": "savelayout()", + "id": "frontend_src_api_projects_savelayout", + "community_name": "Community 27" + }, + { + "label": "saveAnalysis()", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L115", + "_origin": "ast", + "community": 0, + "norm_label": "saveanalysis()", + "id": "frontend_src_api_projects_saveanalysis", + "community_name": "Community 0" + }, + { + "label": "saveLayoutPreferences()", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L126", + "_origin": "ast", + "community": 27, + "norm_label": "savelayoutpreferences()", + "id": "frontend_src_api_projects_savelayoutpreferences", + "community_name": "Community 27" + }, + { + "label": "PdfExportToken", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L134", + "_origin": "ast", + "community": 27, + "norm_label": "pdfexporttoken", + "id": "frontend_src_api_projects_pdfexporttoken", + "community_name": "Community 27" + }, + { + "label": "requestPdfExportToken()", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L140", + "_origin": "ast", + "community": 59, + "norm_label": "requestpdfexporttoken()", + "id": "frontend_src_api_projects_requestpdfexporttoken", + "community_name": "Community 59" + }, + { + "label": "getProjectForPdf()", + "file_type": "code", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L145", + "_origin": "ast", + "community": 41, + "norm_label": "getprojectforpdf()", + "id": "frontend_src_api_projects_getprojectforpdf", + "community_name": "Community 41" + }, + { + "label": "api/quota.ts", + "file_type": "code", + "source_file": "frontend/src/api/quota.ts", + "source_location": "L1", + "_origin": "ast", + "community": 28, + "norm_label": "api/quota.ts", + "id": "frontend_src_api_quota", + "community_name": "Community 28" + }, + { + "label": "getQuota()", + "file_type": "code", + "source_file": "frontend/src/api/quota.ts", + "source_location": "L13", + "_origin": "ast", + "community": 28, + "norm_label": "getquota()", + "id": "frontend_src_api_quota_getquota", + "community_name": "Community 28" + }, + { + "label": "api/tariff.ts", + "file_type": "code", + "source_file": "frontend/src/api/tariff.ts", + "source_location": "L1", + "_origin": "ast", + "community": 29, + "norm_label": "api/tariff.ts", + "id": "frontend_src_api_tariff", + "community_name": "Community 29" + }, + { + "label": "getTariffConfig()", + "file_type": "code", + "source_file": "frontend/src/api/tariff.ts", + "source_location": "L13", + "_origin": "ast", + "community": 29, + "norm_label": "gettariffconfig()", + "id": "frontend_src_api_tariff_gettariffconfig", + "community_name": "Community 29" + }, + { + "label": "AnalysisSidebar.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "analysissidebar.tsx", + "id": "frontend_src_components_analysis_analysissidebar", + "community_name": "Community 0" + }, + { + "label": "AnalysisSidebarProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L18", + "_origin": "ast", + "community": 0, + "norm_label": "analysissidebarprops", + "id": "frontend_src_components_analysis_analysissidebar_analysissidebarprops", + "community_name": "Community 0" + }, + { + "label": "AnalysisSidebar()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L44", + "_origin": "ast", + "community": 0, + "norm_label": "analysissidebar()", + "id": "frontend_src_components_analysis_analysissidebar_analysissidebar", + "community_name": "Community 0" + }, + { + "label": "BillBreakdown.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "billbreakdown.tsx", + "id": "frontend_src_components_analysis_billbreakdown", + "community_name": "Community 0" + }, + { + "label": "SimulationMonth", + "file_type": "code", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 0, + "norm_label": "simulationmonth", + "id": "frontend_src_components_analysis_billbreakdown_simulationmonth", + "community_name": "Community 0" + }, + { + "label": "BillBreakdownProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 0, + "norm_label": "billbreakdownprops", + "id": "frontend_src_components_analysis_billbreakdown_billbreakdownprops", + "community_name": "Community 0" + }, + { + "label": "BillBreakdown()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L27", + "_origin": "ast", + "community": 0, + "norm_label": "billbreakdown()", + "id": "frontend_src_components_analysis_billbreakdown_billbreakdown", + "community_name": "Community 0" + }, + { + "label": "BillComparisonChart.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "billcomparisonchart.tsx", + "id": "frontend_src_components_analysis_billcomparisonchart", + "community_name": "Community 0" + }, + { + "label": "BillComparisonChartProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 0, + "norm_label": "billcomparisonchartprops", + "id": "frontend_src_components_analysis_billcomparisonchart_billcomparisonchartprops", + "community_name": "Community 0" + }, + { + "label": "BillComparisonChart()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 0, + "norm_label": "billcomparisonchart()", + "id": "frontend_src_components_analysis_billcomparisonchart_billcomparisonchart", + "community_name": "Community 0" + }, + { + "label": "ChartTooltipContent.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/ChartTooltipContent.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "charttooltipcontent.tsx", + "id": "frontend_src_components_analysis_charttooltipcontent", + "community_name": "Community 0" + }, + { + "label": "TooltipEntry", + "file_type": "code", + "source_file": "frontend/src/components/analysis/ChartTooltipContent.tsx", + "source_location": "L9", + "_origin": "ast", + "community": 0, + "norm_label": "tooltipentry", + "id": "frontend_src_components_analysis_charttooltipcontent_tooltipentry", + "community_name": "Community 0" + }, + { + "label": "ChartTooltipContentProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/ChartTooltipContent.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 0, + "norm_label": "charttooltipcontentprops", + "id": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontentprops", + "community_name": "Community 0" + }, + { + "label": "ChartTooltipContent()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/ChartTooltipContent.tsx", + "source_location": "L28", + "_origin": "ast", + "community": 0, + "norm_label": "charttooltipcontent()", + "id": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontent", + "community_name": "Community 0" + }, + { + "label": "FinancialRoadmap.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "financialroadmap.tsx", + "id": "frontend_src_components_analysis_financialroadmap", + "community_name": "Community 0" + }, + { + "label": "FinancialRoadmapProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L12", + "_origin": "ast", + "community": 0, + "norm_label": "financialroadmapprops", + "id": "frontend_src_components_analysis_financialroadmap_financialroadmapprops", + "community_name": "Community 0" + }, + { + "label": "Milestone", + "file_type": "code", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L31", + "_origin": "ast", + "community": 0, + "norm_label": "milestone", + "id": "frontend_src_components_analysis_financialroadmap_milestone", + "community_name": "Community 0" + }, + { + "label": "FinancialRoadmap()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L41", + "_origin": "ast", + "community": 0, + "norm_label": "financialroadmap()", + "id": "frontend_src_components_analysis_financialroadmap_financialroadmap", + "community_name": "Community 0" + }, + { + "label": "MonthTable.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "monthtable.tsx", + "id": "frontend_src_components_analysis_monthtable", + "community_name": "Community 0" + }, + { + "label": "MonthTableProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 0, + "norm_label": "monthtableprops", + "id": "frontend_src_components_analysis_monthtable_monthtableprops", + "community_name": "Community 0" + }, + { + "label": "MonthTable()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 0, + "norm_label": "monthtable()", + "id": "frontend_src_components_analysis_monthtable_monthtable", + "community_name": "Community 0" + }, + { + "label": "NetBenefitChart.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "netbenefitchart.tsx", + "id": "frontend_src_components_analysis_netbenefitchart", + "community_name": "Community 0" + }, + { + "label": "NetBenefitChartProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L26", + "_origin": "ast", + "community": 0, + "norm_label": "netbenefitchartprops", + "id": "frontend_src_components_analysis_netbenefitchart_netbenefitchartprops", + "community_name": "Community 0" + }, + { + "label": "YEAR_RANGES", + "file_type": "code", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L45", + "_origin": "ast", + "community": 0, + "norm_label": "year_ranges", + "id": "frontend_src_components_analysis_netbenefitchart_year_ranges", + "community_name": "Community 0" + }, + { + "label": "YearRange", + "file_type": "code", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L46", + "_origin": "ast", + "community": 0, + "norm_label": "yearrange", + "id": "frontend_src_components_analysis_netbenefitchart_yearrange", + "community_name": "Community 0" + }, + { + "label": "NetBenefitChart()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L52", + "_origin": "ast", + "community": 0, + "norm_label": "netbenefitchart()", + "id": "frontend_src_components_analysis_netbenefitchart_netbenefitchart", + "community_name": "Community 0" + }, + { + "label": "SolarVerdict.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "solarverdict.tsx", + "id": "frontend_src_components_analysis_solarverdict", + "community_name": "Community 0" + }, + { + "label": "SolarVerdictProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L15", + "_origin": "ast", + "community": 0, + "norm_label": "solarverdictprops", + "id": "frontend_src_components_analysis_solarverdict_solarverdictprops", + "community_name": "Community 0" + }, + { + "label": "StarRating()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L20", + "_origin": "ast", + "community": 0, + "norm_label": "starrating()", + "id": "frontend_src_components_analysis_solarverdict_starrating", + "community_name": "Community 0" + }, + { + "label": "SolarVerdict()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L44", + "_origin": "ast", + "community": 0, + "norm_label": "solarverdict()", + "id": "frontend_src_components_analysis_solarverdict_solarverdict", + "community_name": "Community 0" + }, + { + "label": "SortableCardContainer.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 72, + "norm_label": "sortablecardcontainer.tsx", + "id": "frontend_src_components_analysis_sortablecardcontainer", + "community_name": "Community 72" + }, + { + "label": "CardItem", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 72, + "norm_label": "carditem", + "id": "frontend_src_components_analysis_sortablecardcontainer_carditem", + "community_name": "Community 72" + }, + { + "label": "loadOrder()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L27", + "_origin": "ast", + "community": 72, + "norm_label": "loadorder()", + "id": "frontend_src_components_analysis_sortablecardcontainer_loadorder", + "community_name": "Community 72" + }, + { + "label": "saveOrder()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L36", + "_origin": "ast", + "community": 72, + "norm_label": "saveorder()", + "id": "frontend_src_components_analysis_sortablecardcontainer_saveorder", + "community_name": "Community 72" + }, + { + "label": "reconcile()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L41", + "_origin": "ast", + "community": 72, + "norm_label": "reconcile()", + "id": "frontend_src_components_analysis_sortablecardcontainer_reconcile", + "community_name": "Community 72" + }, + { + "label": "SortableCard()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L54", + "_origin": "ast", + "community": 72, + "norm_label": "sortablecard()", + "id": "frontend_src_components_analysis_sortablecardcontainer_sortablecard", + "community_name": "Community 72" + }, + { + "label": "SortableCardContainer()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L83", + "_origin": "ast", + "community": 72, + "norm_label": "sortablecardcontainer()", + "id": "frontend_src_components_analysis_sortablecardcontainer_sortablecardcontainer", + "community_name": "Community 72" + }, + { + "label": "SystemAssumptions.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "systemassumptions.tsx", + "id": "frontend_src_components_analysis_systemassumptions", + "community_name": "Community 0" + }, + { + "label": "SystemAssumptionsProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 0, + "norm_label": "systemassumptionsprops", + "id": "frontend_src_components_analysis_systemassumptions_systemassumptionsprops", + "community_name": "Community 0" + }, + { + "label": "SystemAssumptions()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 0, + "norm_label": "systemassumptions()", + "id": "frontend_src_components_analysis_systemassumptions_systemassumptions", + "community_name": "Community 0" + }, + { + "label": "SystemCostCard.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "systemcostcard.tsx", + "id": "frontend_src_components_analysis_systemcostcard", + "community_name": "Community 0" + }, + { + "label": "SystemCostCardProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L17", + "_origin": "ast", + "community": 0, + "norm_label": "systemcostcardprops", + "id": "frontend_src_components_analysis_systemcostcard_systemcostcardprops", + "community_name": "Community 0" + }, + { + "label": "SEGMENT_COLORS", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L25", + "_origin": "ast", + "community": 0, + "norm_label": "segment_colors", + "id": "frontend_src_components_analysis_systemcostcard_segment_colors", + "community_name": "Community 0" + }, + { + "label": "Segment", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L36", + "_origin": "ast", + "community": 0, + "norm_label": "segment", + "id": "frontend_src_components_analysis_systemcostcard_segment", + "community_name": "Community 0" + }, + { + "label": "SystemCostCard()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L42", + "_origin": "ast", + "community": 0, + "norm_label": "systemcostcard()", + "id": "frontend_src_components_analysis_systemcostcard_systemcostcard", + "community_name": "Community 0" + }, + { + "label": "TariffParameterModal.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 10, + "norm_label": "tariffparametermodal.tsx", + "id": "frontend_src_components_analysis_tariffparametermodal", + "community_name": "Community 10" + }, + { + "label": "TariffField", + "file_type": "code", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L21", + "_origin": "ast", + "community": 10, + "norm_label": "tarifffield", + "id": "frontend_src_components_analysis_tariffparametermodal_tarifffield", + "community_name": "Community 10" + }, + { + "label": "TARIFF_FIELDS", + "file_type": "code", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L28", + "_origin": "ast", + "community": 10, + "norm_label": "tariff_fields", + "id": "frontend_src_components_analysis_tariffparametermodal_tariff_fields", + "community_name": "Community 10" + }, + { + "label": "TariffParameterModalProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L49", + "_origin": "ast", + "community": 10, + "norm_label": "tariffparametermodalprops", + "id": "frontend_src_components_analysis_tariffparametermodal_tariffparametermodalprops", + "community_name": "Community 10" + }, + { + "label": "formatDisplay()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L60", + "_origin": "ast", + "community": 10, + "norm_label": "formatdisplay()", + "id": "frontend_src_components_analysis_tariffparametermodal_formatdisplay", + "community_name": "Community 10" + }, + { + "label": "parseInputToRate()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L65", + "_origin": "ast", + "community": 10, + "norm_label": "parseinputtorate()", + "id": "frontend_src_components_analysis_tariffparametermodal_parseinputtorate", + "community_name": "Community 10" + }, + { + "label": "TariffParameterModal()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L77", + "_origin": "ast", + "community": 10, + "norm_label": "tariffparametermodal()", + "id": "frontend_src_components_analysis_tariffparametermodal_tariffparametermodal", + "community_name": "Community 10" + }, + { + "label": "analysis/formatters.ts", + "file_type": "code", + "source_file": "frontend/src/components/analysis/formatters.ts", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "analysis/formatters.ts", + "id": "frontend_src_components_analysis_formatters", + "community_name": "Community 0" + }, + { + "label": "roiVerdict.ts", + "file_type": "code", + "source_file": "frontend/src/components/analysis/roiVerdict.ts", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "roiverdict.ts", + "id": "frontend_src_components_analysis_roiverdict", + "community_name": "Community 0" + }, + { + "label": "RoiCondition", + "file_type": "code", + "source_file": "frontend/src/components/analysis/roiVerdict.ts", + "source_location": "L2", + "_origin": "ast", + "community": 0, + "norm_label": "roicondition", + "id": "frontend_src_components_analysis_roiverdict_roicondition", + "community_name": "Community 0" + }, + { + "label": "getRoiCondition()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/roiVerdict.ts", + "source_location": "L19", + "_origin": "ast", + "community": 0, + "norm_label": "getroicondition()", + "id": "frontend_src_components_analysis_roiverdict_getroicondition", + "community_name": "Community 0" + }, + { + "label": "ConsumptionControls.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 29, + "norm_label": "consumptioncontrols.tsx", + "id": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "community_name": "Community 29" + }, + { + "label": "ConsumptionControlsProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 29, + "norm_label": "consumptioncontrolsprops", + "id": "frontend_src_components_analysis_sidebar_consumptioncontrols_consumptioncontrolsprops", + "community_name": "Community 29" + }, + { + "label": "ConsumptionControls()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L25", + "_origin": "ast", + "community": 0, + "norm_label": "consumptioncontrols()", + "id": "frontend_src_components_analysis_sidebar_consumptioncontrols_consumptioncontrols", + "community_name": "Community 0" + }, + { + "label": "LifecycleControls.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 12, + "norm_label": "lifecyclecontrols.tsx", + "id": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "community_name": "Community 12" + }, + { + "label": "LifecycleControlsProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L27", + "_origin": "ast", + "community": 12, + "norm_label": "lifecyclecontrolsprops", + "id": "frontend_src_components_analysis_sidebar_lifecyclecontrols_lifecyclecontrolsprops", + "community_name": "Community 12" + }, + { + "label": "LifecycleControls()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L36", + "_origin": "ast", + "community": 0, + "norm_label": "lifecyclecontrols()", + "id": "frontend_src_components_analysis_sidebar_lifecyclecontrols_lifecyclecontrols", + "community_name": "Community 0" + }, + { + "label": "SystemMetaCard.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "systemmetacard.tsx", + "id": "frontend_src_components_analysis_sidebar_systemmetacard", + "community_name": "Community 0" + }, + { + "label": "SystemMetaCardProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L13", + "_origin": "ast", + "community": 0, + "norm_label": "systemmetacardprops", + "id": "frontend_src_components_analysis_sidebar_systemmetacard_systemmetacardprops", + "community_name": "Community 0" + }, + { + "label": "SystemMetaCard()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L25", + "_origin": "ast", + "community": 0, + "norm_label": "systemmetacard()", + "id": "frontend_src_components_analysis_sidebar_systemmetacard_systemmetacard", + "community_name": "Community 0" + }, + { + "label": "TariffControls.tsx", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 12, + "norm_label": "tariffcontrols.tsx", + "id": "frontend_src_components_analysis_sidebar_tariffcontrols", + "community_name": "Community 12" + }, + { + "label": "PercentageInput()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L25", + "_origin": "ast", + "community": 12, + "norm_label": "percentageinput()", + "id": "frontend_src_components_analysis_sidebar_tariffcontrols_percentageinput", + "community_name": "Community 12" + }, + { + "label": "TariffControlsProps", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L67", + "_origin": "ast", + "community": 12, + "norm_label": "tariffcontrolsprops", + "id": "frontend_src_components_analysis_sidebar_tariffcontrols_tariffcontrolsprops", + "community_name": "Community 12" + }, + { + "label": "TariffControls()", + "file_type": "code", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L81", + "_origin": "ast", + "community": 0, + "norm_label": "tariffcontrols()", + "id": "frontend_src_components_analysis_sidebar_tariffcontrols_tariffcontrols", + "community_name": "Community 0" + }, + { + "label": "GoogleSignInButton.tsx", + "file_type": "code", + "source_file": "frontend/src/components/auth/GoogleSignInButton.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 44, + "norm_label": "googlesigninbutton.tsx", + "id": "frontend_src_components_auth_googlesigninbutton", + "community_name": "Community 44" + }, + { + "label": "GoogleSignInButtonProps", + "file_type": "code", + "source_file": "frontend/src/components/auth/GoogleSignInButton.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 44, + "norm_label": "googlesigninbuttonprops", + "id": "frontend_src_components_auth_googlesigninbutton_googlesigninbuttonprops", + "community_name": "Community 44" + }, + { + "label": "GoogleSignInButton()", + "file_type": "code", + "source_file": "frontend/src/components/auth/GoogleSignInButton.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 44, + "norm_label": "googlesigninbutton()", + "id": "frontend_src_components_auth_googlesigninbutton_googlesigninbutton", + "community_name": "Community 44" + }, + { + "label": "ChatLauncher.tsx", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 4, + "norm_label": "chatlauncher.tsx", + "id": "frontend_src_components_chat_chatlauncher", + "community_name": "Community 4" + }, + { + "label": "ChatLauncherProps", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L12", + "_origin": "ast", + "community": 4, + "norm_label": "chatlauncherprops", + "id": "frontend_src_components_chat_chatlauncher_chatlauncherprops", + "community_name": "Community 4" + }, + { + "label": "ChatLauncher()", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L23", + "_origin": "ast", + "community": 4, + "norm_label": "chatlauncher()", + "id": "frontend_src_components_chat_chatlauncher_chatlauncher", + "community_name": "Community 4" + }, + { + "label": "ChatPanel.tsx", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 4, + "norm_label": "chatpanel.tsx", + "id": "frontend_src_components_chat_chatpanel", + "community_name": "Community 4" + }, + { + "label": "ChatPanelProps", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L17", + "_origin": "ast", + "community": 4, + "norm_label": "chatpanelprops", + "id": "frontend_src_components_chat_chatpanel_chatpanelprops", + "community_name": "Community 4" + }, + { + "label": "getPaybackYears()", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 4, + "norm_label": "getpaybackyears()", + "id": "frontend_src_components_chat_chatpanel_getpaybackyears", + "community_name": "Community 4" + }, + { + "label": "ChatPanel()", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L32", + "_origin": "ast", + "community": 4, + "norm_label": "chatpanel()", + "id": "frontend_src_components_chat_chatpanel_chatpanel", + "community_name": "Community 4" + }, + { + "label": "ChatProvider.tsx", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 4, + "norm_label": "chatprovider.tsx", + "id": "frontend_src_components_chat_chatprovider", + "community_name": "Community 4" + }, + { + "label": "ChatMessage", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L9", + "_origin": "ast", + "community": 4, + "norm_label": "chatmessage", + "id": "frontend_src_components_chat_chatprovider_chatmessage", + "community_name": "Community 4" + }, + { + "label": "ProjectChatState", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L18", + "_origin": "ast", + "community": 4, + "norm_label": "projectchatstate", + "id": "frontend_src_components_chat_chatprovider_projectchatstate", + "community_name": "Community 4" + }, + { + "label": "ChatContextValue", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L27", + "_origin": "ast", + "community": 4, + "norm_label": "chatcontextvalue", + "id": "frontend_src_components_chat_chatprovider_chatcontextvalue", + "community_name": "Community 4" + }, + { + "label": "EMPTY_CHAT_STATE", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L34", + "_origin": "ast", + "community": 4, + "norm_label": "empty_chat_state", + "id": "frontend_src_components_chat_chatprovider_empty_chat_state", + "community_name": "Community 4" + }, + { + "label": "ChatContext", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L46", + "_origin": "ast", + "community": 4, + "norm_label": "chatcontext", + "id": "frontend_src_components_chat_chatprovider_chatcontext", + "community_name": "Community 4" + }, + { + "label": "ChatProvider()", + "file_type": "code", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L57", + "_origin": "ast", + "community": 4, + "norm_label": "chatprovider()", + "id": "frontend_src_components_chat_chatprovider_chatprovider", + "community_name": "Community 4" + }, + { + "label": "MessageBubble.tsx", + "file_type": "code", + "source_file": "frontend/src/components/chat/MessageBubble.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 4, + "norm_label": "messagebubble.tsx", + "id": "frontend_src_components_chat_messagebubble", + "community_name": "Community 4" + }, + { + "label": "MessageBubbleProps", + "file_type": "code", + "source_file": "frontend/src/components/chat/MessageBubble.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 4, + "norm_label": "messagebubbleprops", + "id": "frontend_src_components_chat_messagebubble_messagebubbleprops", + "community_name": "Community 4" + }, + { + "label": "MessageBubble()", + "file_type": "code", + "source_file": "frontend/src/components/chat/MessageBubble.tsx", + "source_location": "L20", + "_origin": "ast", + "community": 4, + "norm_label": "messagebubble()", + "id": "frontend_src_components_chat_messagebubble_messagebubble", + "community_name": "Community 4" + }, + { + "label": "SuggestedQuestions.tsx", + "file_type": "code", + "source_file": "frontend/src/components/chat/SuggestedQuestions.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 4, + "norm_label": "suggestedquestions.tsx", + "id": "frontend_src_components_chat_suggestedquestions", + "community_name": "Community 4" + }, + { + "label": "SuggestedQuestionsProps", + "file_type": "code", + "source_file": "frontend/src/components/chat/SuggestedQuestions.tsx", + "source_location": "L9", + "_origin": "ast", + "community": 4, + "norm_label": "suggestedquestionsprops", + "id": "frontend_src_components_chat_suggestedquestions_suggestedquestionsprops", + "community_name": "Community 4" + }, + { + "label": "samplePool()", + "file_type": "code", + "source_file": "frontend/src/components/chat/SuggestedQuestions.tsx", + "source_location": "L17", + "_origin": "ast", + "community": 4, + "norm_label": "samplepool()", + "id": "frontend_src_components_chat_suggestedquestions_samplepool", + "community_name": "Community 4" + }, + { + "label": "SuggestedQuestions()", + "file_type": "code", + "source_file": "frontend/src/components/chat/SuggestedQuestions.tsx", + "source_location": "L33", + "_origin": "ast", + "community": 4, + "norm_label": "suggestedquestions()", + "id": "frontend_src_components_chat_suggestedquestions_suggestedquestions", + "community_name": "Community 4" + }, + { + "label": "ChatLauncher.test.tsx", + "file_type": "code", + "source_file": "frontend/src/components/chat/__tests__/ChatLauncher.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 4, + "norm_label": "chatlauncher.test.tsx", + "id": "frontend_src_components_chat_tests_chatlauncher_test", + "community_name": "Community 4" + }, + { + "label": "renderLauncher()", + "file_type": "code", + "source_file": "frontend/src/components/chat/__tests__/ChatLauncher.test.tsx", + "source_location": "L40", + "_origin": "ast", + "community": 4, + "norm_label": "renderlauncher()", + "id": "frontend_src_components_chat_tests_chatlauncher_test_renderlauncher", + "community_name": "Community 4" + }, + { + "label": "ChatProvider.test.tsx", + "file_type": "code", + "source_file": "frontend/src/components/chat/__tests__/ChatProvider.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 4, + "norm_label": "chatprovider.test.tsx", + "id": "frontend_src_components_chat_tests_chatprovider_test", + "community_name": "Community 4" + }, + { + "label": "wrapper()", + "file_type": "code", + "source_file": "frontend/src/components/chat/__tests__/ChatProvider.test.tsx", + "source_location": "L12", + "_origin": "ast", + "community": 4, + "norm_label": "wrapper()", + "id": "frontend_src_components_chat_tests_chatprovider_test_wrapper", + "community_name": "Community 4" + }, + { + "label": "ProjectCard.tsx", + "file_type": "code", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 23, + "norm_label": "projectcard.tsx", + "id": "frontend_src_components_dashboard_projectcard", + "community_name": "Community 23" + }, + { + "label": "ProjectCard()", + "file_type": "code", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L17", + "_origin": "ast", + "community": 23, + "norm_label": "projectcard()", + "id": "frontend_src_components_dashboard_projectcard_projectcard", + "community_name": "Community 23" + }, + { + "label": "StatCard.tsx", + "file_type": "code", + "source_file": "frontend/src/components/dashboard/StatCard.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "statcard.tsx", + "id": "frontend_src_components_dashboard_statcard", + "community_name": "Community 0" + }, + { + "label": "StatCard()", + "file_type": "code", + "source_file": "frontend/src/components/dashboard/StatCard.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 0, + "norm_label": "statcard()", + "id": "frontend_src_components_dashboard_statcard_statcard", + "community_name": "Community 0" + }, + { + "label": "helpers.ts", + "file_type": "code", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L1", + "_origin": "ast", + "community": 23, + "norm_label": "helpers.ts", + "id": "frontend_src_components_dashboard_helpers", + "community_name": "Community 23" + }, + { + "label": "PortfolioStats", + "file_type": "code", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L9", + "_origin": "ast", + "community": 23, + "norm_label": "portfoliostats", + "id": "frontend_src_components_dashboard_helpers_portfoliostats", + "community_name": "Community 23" + }, + { + "label": "aggregatePortfolio()", + "file_type": "code", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L37", + "_origin": "ast", + "community": 0, + "norm_label": "aggregateportfolio()", + "id": "frontend_src_components_dashboard_helpers_aggregateportfolio", + "community_name": "Community 0" + }, + { + "label": "projectRoute()", + "file_type": "code", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L101", + "_origin": "ast", + "community": 23, + "norm_label": "projectroute()", + "id": "frontend_src_components_dashboard_helpers_projectroute", + "community_name": "Community 23" + }, + { + "label": "formatRelativeDate()", + "file_type": "code", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L117", + "_origin": "ast", + "community": 23, + "norm_label": "formatrelativedate()", + "id": "frontend_src_components_dashboard_helpers_formatrelativedate", + "community_name": "Community 23" + }, + { + "label": "AppErrorBoundary.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "apperrorboundary.tsx", + "id": "frontend_src_components_layout_apperrorboundary", + "community_name": "Community 0" + }, + { + "label": "AppErrorBoundaryProps", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L5", + "_origin": "ast", + "community": 0, + "norm_label": "apperrorboundaryprops", + "id": "frontend_src_components_layout_apperrorboundary_apperrorboundaryprops", + "community_name": "Community 0" + }, + { + "label": "AppErrorBoundaryState", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L9", + "_origin": "ast", + "community": 0, + "norm_label": "apperrorboundarystate", + "id": "frontend_src_components_layout_apperrorboundary_apperrorboundarystate", + "community_name": "Community 0" + }, + { + "label": "isChunkLoadError()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 73, + "norm_label": "ischunkloaderror()", + "id": "frontend_src_components_layout_apperrorboundary_ischunkloaderror", + "community_name": "Community 73" + }, + { + "label": "AppErrorBoundary", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L32", + "_origin": "ast", + "community": 73, + "norm_label": "apperrorboundary", + "id": "frontend_src_components_layout_apperrorboundary_apperrorboundary", + "community_name": "Community 73" + }, + { + "label": ".getDerivedStateFromError()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L37", + "_origin": "ast", + "community": 73, + "norm_label": ".getderivedstatefromerror()", + "id": "frontend_src_components_layout_apperrorboundary_apperrorboundary_getderivedstatefromerror", + "community_name": "Community 73" + }, + { + "label": ".componentDidCatch()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L41", + "_origin": "ast", + "community": 73, + "norm_label": ".componentdidcatch()", + "id": "frontend_src_components_layout_apperrorboundary_apperrorboundary_componentdidcatch", + "community_name": "Community 73" + }, + { + "label": ".handleReload()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L61", + "_origin": "ast", + "community": 73, + "norm_label": ".handlereload()", + "id": "frontend_src_components_layout_apperrorboundary_apperrorboundary_handlereload", + "community_name": "Community 73" + }, + { + "label": ".handleDashboardRedirect()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L65", + "_origin": "ast", + "community": 73, + "norm_label": ".handledashboardredirect()", + "id": "frontend_src_components_layout_apperrorboundary_apperrorboundary_handledashboardredirect", + "community_name": "Community 73" + }, + { + "label": ".render()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L69", + "_origin": "ast", + "community": 73, + "norm_label": ".render()", + "id": "frontend_src_components_layout_apperrorboundary_apperrorboundary_render", + "community_name": "Community 73" + }, + { + "label": "AppFooter.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppFooter.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 34, + "norm_label": "appfooter.tsx", + "id": "frontend_src_components_layout_appfooter", + "community_name": "Community 34" + }, + { + "label": "AppFooter()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppFooter.tsx", + "source_location": "L15", + "_origin": "ast", + "community": 34, + "norm_label": "appfooter()", + "id": "frontend_src_components_layout_appfooter_appfooter", + "community_name": "Community 34" + }, + { + "label": "AppLayout.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 34, + "norm_label": "applayout.tsx", + "id": "frontend_src_components_layout_applayout", + "community_name": "Community 34" + }, + { + "label": "AppLayoutProps", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 34, + "norm_label": "applayoutprops", + "id": "frontend_src_components_layout_applayout_applayoutprops", + "community_name": "Community 34" + }, + { + "label": "AppLayout()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L21", + "_origin": "ast", + "community": 19, + "norm_label": "applayout()", + "id": "frontend_src_components_layout_applayout_applayout", + "community_name": "Community 19" + }, + { + "label": "AppNav.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 39, + "norm_label": "appnav.tsx", + "id": "frontend_src_components_layout_appnav", + "community_name": "Community 39" + }, + { + "label": "Crumb", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L18", + "_origin": "ast", + "community": 39, + "norm_label": "crumb", + "id": "frontend_src_components_layout_appnav_crumb", + "community_name": "Community 39" + }, + { + "label": "useBreadcrumbs()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L20", + "_origin": "ast", + "community": 39, + "norm_label": "usebreadcrumbs()", + "id": "frontend_src_components_layout_appnav_usebreadcrumbs", + "community_name": "Community 39" + }, + { + "label": "AppNav()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L79", + "_origin": "ast", + "community": 39, + "norm_label": "appnav()", + "id": "frontend_src_components_layout_appnav_appnav", + "community_name": "Community 39" + }, + { + "label": "AppSidebar.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 34, + "norm_label": "appsidebar.tsx", + "id": "frontend_src_components_layout_appsidebar", + "community_name": "Community 34" + }, + { + "label": "NavItem", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L13", + "_origin": "ast", + "community": 34, + "norm_label": "navitem", + "id": "frontend_src_components_layout_appsidebar_navitem", + "community_name": "Community 34" + }, + { + "label": "SectionHeading()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 34, + "norm_label": "sectionheading()", + "id": "frontend_src_components_layout_appsidebar_sectionheading", + "community_name": "Community 34" + }, + { + "label": "NavLink()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L52", + "_origin": "ast", + "community": 34, + "norm_label": "navlink()", + "id": "frontend_src_components_layout_appsidebar_navlink", + "community_name": "Community 34" + }, + { + "label": "NavSectionDef", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L97", + "_origin": "ast", + "community": 34, + "norm_label": "navsectiondef", + "id": "frontend_src_components_layout_appsidebar_navsectiondef", + "community_name": "Community 34" + }, + { + "label": "NAV_SECTIONS", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L102", + "_origin": "ast", + "community": 34, + "norm_label": "nav_sections", + "id": "frontend_src_components_layout_appsidebar_nav_sections", + "community_name": "Community 34" + }, + { + "label": "AppSidebarProps", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L120", + "_origin": "ast", + "community": 34, + "norm_label": "appsidebarprops", + "id": "frontend_src_components_layout_appsidebar_appsidebarprops", + "community_name": "Community 34" + }, + { + "label": "AppSidebar()", + "file_type": "code", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L131", + "_origin": "ast", + "community": 34, + "norm_label": "appsidebar()", + "id": "frontend_src_components_layout_appsidebar_appsidebar", + "community_name": "Community 34" + }, + { + "label": "DashboardLayout.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/DashboardLayout.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 19, + "norm_label": "dashboardlayout.tsx", + "id": "frontend_src_components_layout_dashboardlayout", + "community_name": "Community 19" + }, + { + "label": "DashboardLayout()", + "file_type": "code", + "source_file": "frontend/src/components/layout/DashboardLayout.tsx", + "source_location": "L13", + "_origin": "ast", + "community": 19, + "norm_label": "dashboardlayout()", + "id": "frontend_src_components_layout_dashboardlayout_dashboardlayout", + "community_name": "Community 19" + }, + { + "label": "LanguageToggle.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 61, + "norm_label": "languagetoggle.tsx", + "id": "frontend_src_components_layout_languagetoggle", + "community_name": "Community 61" + }, + { + "label": "LanguageToggle()", + "file_type": "code", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L17", + "_origin": "ast", + "community": 61, + "norm_label": "languagetoggle()", + "id": "frontend_src_components_layout_languagetoggle_languagetoggle", + "community_name": "Community 61" + }, + { + "label": "PageContainer.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/PageContainer.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 23, + "norm_label": "pagecontainer.tsx", + "id": "frontend_src_components_layout_pagecontainer", + "community_name": "Community 23" + }, + { + "label": "PageContainerProps", + "file_type": "code", + "source_file": "frontend/src/components/layout/PageContainer.tsx", + "source_location": "L9", + "_origin": "ast", + "community": 23, + "norm_label": "pagecontainerprops", + "id": "frontend_src_components_layout_pagecontainer_pagecontainerprops", + "community_name": "Community 23" + }, + { + "label": "VARIANTS", + "file_type": "code", + "source_file": "frontend/src/components/layout/PageContainer.tsx", + "source_location": "L20", + "_origin": "ast", + "community": 23, + "norm_label": "variants", + "id": "frontend_src_components_layout_pagecontainer_variants", + "community_name": "Community 23" + }, + { + "label": "PageContainer()", + "file_type": "code", + "source_file": "frontend/src/components/layout/PageContainer.tsx", + "source_location": "L30", + "_origin": "ast", + "community": 23, + "norm_label": "pagecontainer()", + "id": "frontend_src_components_layout_pagecontainer_pagecontainer", + "community_name": "Community 23" + }, + { + "label": "PageHeaderCard.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/PageHeaderCard.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 23, + "norm_label": "pageheadercard.tsx", + "id": "frontend_src_components_layout_pageheadercard", + "community_name": "Community 23" + }, + { + "label": "PageHeaderCardProps", + "file_type": "code", + "source_file": "frontend/src/components/layout/PageHeaderCard.tsx", + "source_location": "L9", + "_origin": "ast", + "community": 23, + "norm_label": "pageheadercardprops", + "id": "frontend_src_components_layout_pageheadercard_pageheadercardprops", + "community_name": "Community 23" + }, + { + "label": "PageHeaderCard()", + "file_type": "code", + "source_file": "frontend/src/components/layout/PageHeaderCard.tsx", + "source_location": "L20", + "_origin": "ast", + "community": 23, + "norm_label": "pageheadercard()", + "id": "frontend_src_components_layout_pageheadercard_pageheadercard", + "community_name": "Community 23" + }, + { + "label": "ProtectedRoute.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/ProtectedRoute.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 44, + "norm_label": "protectedroute.tsx", + "id": "frontend_src_components_layout_protectedroute", + "community_name": "Community 44" + }, + { + "label": "ProtectedRoute()", + "file_type": "code", + "source_file": "frontend/src/components/layout/ProtectedRoute.tsx", + "source_location": "L13", + "_origin": "ast", + "community": 44, + "norm_label": "protectedroute()", + "id": "frontend_src_components_layout_protectedroute_protectedroute", + "community_name": "Community 44" + }, + { + "label": "ThemeToggle.tsx", + "file_type": "code", + "source_file": "frontend/src/components/layout/ThemeToggle.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 39, + "norm_label": "themetoggle.tsx", + "id": "frontend_src_components_layout_themetoggle", + "community_name": "Community 39" + }, + { + "label": "ThemeToggle()", + "file_type": "code", + "source_file": "frontend/src/components/layout/ThemeToggle.tsx", + "source_location": "L15", + "_origin": "ast", + "community": 39, + "norm_label": "themetoggle()", + "id": "frontend_src_components_layout_themetoggle_themetoggle", + "community_name": "Community 39" + }, + { + "label": "CoverageNoticeModal.tsx", + "file_type": "code", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 10, + "norm_label": "coveragenoticemodal.tsx", + "id": "frontend_src_components_map_coveragenoticemodal", + "community_name": "Community 10" + }, + { + "label": "readCoverageNoticeDismissed()", + "file_type": "code", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L21", + "_origin": "ast", + "community": 18, + "norm_label": "readcoveragenoticedismissed()", + "id": "frontend_src_components_map_coveragenoticemodal_readcoveragenoticedismissed", + "community_name": "Community 18" + }, + { + "label": "writeCoverageNoticeDismissed()", + "file_type": "code", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L30", + "_origin": "ast", + "community": 10, + "norm_label": "writecoveragenoticedismissed()", + "id": "frontend_src_components_map_coveragenoticemodal_writecoveragenoticedismissed", + "community_name": "Community 10" + }, + { + "label": "Props", + "file_type": "code", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L43", + "_origin": "ast", + "community": 10, + "norm_label": "props", + "id": "frontend_src_components_map_coveragenoticemodal_props", + "community_name": "Community 10" + }, + { + "label": "CoverageNoticeModal()", + "file_type": "code", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L52", + "_origin": "ast", + "community": 10, + "norm_label": "coveragenoticemodal()", + "id": "frontend_src_components_map_coveragenoticemodal_coveragenoticemodal", + "community_name": "Community 10" + }, + { + "label": "LowerResolutionConsentModal.tsx", + "file_type": "code", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 10, + "norm_label": "lowerresolutionconsentmodal.tsx", + "id": "frontend_src_components_map_lowerresolutionconsentmodal", + "community_name": "Community 10" + }, + { + "label": "Props", + "file_type": "code", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L18", + "_origin": "ast", + "community": 10, + "norm_label": "props", + "id": "frontend_src_components_map_lowerresolutionconsentmodal_props", + "community_name": "Community 10" + }, + { + "label": "LowerResolutionConsentModal()", + "file_type": "code", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L30", + "_origin": "ast", + "community": 18, + "norm_label": "lowerresolutionconsentmodal()", + "id": "frontend_src_components_map_lowerresolutionconsentmodal_lowerresolutionconsentmodal", + "community_name": "Community 18" + }, + { + "label": "ManualCoordinateModal.tsx", + "file_type": "code", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 10, + "norm_label": "manualcoordinatemodal.tsx", + "id": "frontend_src_components_map_manualcoordinatemodal", + "community_name": "Community 10" + }, + { + "label": "Bounds", + "file_type": "code", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L12", + "_origin": "ast", + "community": 10, + "norm_label": "bounds", + "id": "frontend_src_components_map_manualcoordinatemodal_bounds", + "community_name": "Community 10" + }, + { + "label": "Props", + "file_type": "code", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 10, + "norm_label": "props", + "id": "frontend_src_components_map_manualcoordinatemodal_props", + "community_name": "Community 10" + }, + { + "label": "ManualCoordinateModal()", + "file_type": "code", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L28", + "_origin": "ast", + "community": 18, + "norm_label": "manualcoordinatemodal()", + "id": "frontend_src_components_map_manualcoordinatemodal_manualcoordinatemodal", + "community_name": "Community 18" + }, + { + "label": "PdfFixedChrome.tsx", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 41, + "norm_label": "pdffixedchrome.tsx", + "id": "frontend_src_components_pdf_pdffixedchrome", + "community_name": "Community 41" + }, + { + "label": "HeaderProps", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 41, + "norm_label": "headerprops", + "id": "frontend_src_components_pdf_pdffixedchrome_headerprops", + "community_name": "Community 41" + }, + { + "label": "PdfFixedHeader()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L21", + "_origin": "ast", + "community": 41, + "norm_label": "pdffixedheader()", + "id": "frontend_src_components_pdf_pdffixedchrome_pdffixedheader", + "community_name": "Community 41" + }, + { + "label": "FooterProps", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L39", + "_origin": "ast", + "community": 41, + "norm_label": "footerprops", + "id": "frontend_src_components_pdf_pdffixedchrome_footerprops", + "community_name": "Community 41" + }, + { + "label": "PdfFixedFooter()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L47", + "_origin": "ast", + "community": 41, + "norm_label": "pdffixedfooter()", + "id": "frontend_src_components_pdf_pdffixedchrome_pdffixedfooter", + "community_name": "Community 41" + }, + { + "label": "PdfPageShell.tsx", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PdfPageShell.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 1, + "norm_label": "pdfpageshell.tsx", + "id": "frontend_src_components_pdf_pdfpageshell", + "community_name": "Community 1" + }, + { + "label": "Props", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PdfPageShell.tsx", + "source_location": "L8", + "_origin": "ast", + "community": 1, + "norm_label": "props", + "id": "frontend_src_components_pdf_pdfpageshell_props", + "community_name": "Community 1" + }, + { + "label": "PdfPageShell()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PdfPageShell.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 1, + "norm_label": "pdfpageshell()", + "id": "frontend_src_components_pdf_pdfpageshell_pdfpageshell", + "community_name": "Community 1" + }, + { + "label": "PrintPage1Workbench.tsx", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 1, + "norm_label": "printpage1workbench.tsx", + "id": "frontend_src_components_pdf_printpage1workbench", + "community_name": "Community 1" + }, + { + "label": "Props", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 1, + "norm_label": "props", + "id": "frontend_src_components_pdf_printpage1workbench_props", + "community_name": "Community 1" + }, + { + "label": "PrintPage1Workbench()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 1, + "norm_label": "printpage1workbench()", + "id": "frontend_src_components_pdf_printpage1workbench_printpage1workbench", + "community_name": "Community 1" + }, + { + "label": "StatTile()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L116", + "_origin": "ast", + "community": 1, + "norm_label": "stattile()", + "id": "frontend_src_components_pdf_printpage1workbench_stattile", + "community_name": "Community 1" + }, + { + "label": "PrintPage2Analysis.tsx", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "printpage2analysis.tsx", + "id": "frontend_src_components_pdf_printpage2analysis", + "community_name": "Community 0" + }, + { + "label": "Props", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 0, + "norm_label": "props", + "id": "frontend_src_components_pdf_printpage2analysis_props", + "community_name": "Community 0" + }, + { + "label": "PrintPage2Analysis()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L33", + "_origin": "ast", + "community": 0, + "norm_label": "printpage2analysis()", + "id": "frontend_src_components_pdf_printpage2analysis_printpage2analysis", + "community_name": "Community 0" + }, + { + "label": "PrintReport.tsx", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 41, + "norm_label": "printreport.tsx", + "id": "frontend_src_components_pdf_printreport", + "community_name": "Community 41" + }, + { + "label": "PrintReportProps", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 41, + "norm_label": "printreportprops", + "id": "frontend_src_components_pdf_printreport_printreportprops", + "community_name": "Community 41" + }, + { + "label": "PrintReport()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L21", + "_origin": "ast", + "community": 41, + "norm_label": "printreport()", + "id": "frontend_src_components_pdf_printreport_printreport", + "community_name": "Community 41" + }, + { + "label": "PrintPage1Workbench.test.tsx", + "file_type": "code", + "source_file": "frontend/src/components/pdf/__tests__/PrintPage1Workbench.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 1, + "norm_label": "printpage1workbench.test.tsx", + "id": "frontend_src_components_pdf_tests_printpage1workbench_test", + "community_name": "Community 1" + }, + { + "label": "PdfAnalysisCharts.tsx", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "pdfanalysischarts.tsx", + "id": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "community_name": "Community 0" + }, + { + "label": "TooltipStyle", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 0, + "norm_label": "tooltipstyle", + "id": "frontend_src_components_pdf_analysis_pdfanalysischarts_tooltipstyle", + "community_name": "Community 0" + }, + { + "label": "PdfBillComparisonChart()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L30", + "_origin": "ast", + "community": 0, + "norm_label": "pdfbillcomparisonchart()", + "id": "frontend_src_components_pdf_analysis_pdfanalysischarts_pdfbillcomparisonchart", + "community_name": "Community 0" + }, + { + "label": "PdfCumulativeSavingsChart()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L111", + "_origin": "ast", + "community": 0, + "norm_label": "pdfcumulativesavingschart()", + "id": "frontend_src_components_pdf_analysis_pdfanalysischarts_pdfcumulativesavingschart", + "community_name": "Community 0" + }, + { + "label": "PdfSummaryCards.tsx", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfSummaryCards.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "pdfsummarycards.tsx", + "id": "frontend_src_components_pdf_analysis_pdfsummarycards", + "community_name": "Community 0" + }, + { + "label": "SummaryTile()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfSummaryCards.tsx", + "source_location": "L12", + "_origin": "ast", + "community": 0, + "norm_label": "summarytile()", + "id": "frontend_src_components_pdf_analysis_pdfsummarycards_summarytile", + "community_name": "Community 0" + }, + { + "label": "SummaryCard()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfSummaryCards.tsx", + "source_location": "L26", + "_origin": "ast", + "community": 0, + "norm_label": "summarycard()", + "id": "frontend_src_components_pdf_analysis_pdfsummarycards_summarycard", + "community_name": "Community 0" + }, + { + "label": "PdfSystemCost.tsx", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "pdfsystemcost.tsx", + "id": "frontend_src_components_pdf_analysis_pdfsystemcost", + "community_name": "Community 0" + }, + { + "label": "Segment", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 0, + "norm_label": "segment", + "id": "frontend_src_components_pdf_analysis_pdfsystemcost_segment", + "community_name": "Community 0" + }, + { + "label": "SEGMENT_COLORS", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L18", + "_origin": "ast", + "community": 0, + "norm_label": "segment_colors", + "id": "frontend_src_components_pdf_analysis_pdfsystemcost_segment_colors", + "community_name": "Community 0" + }, + { + "label": "PdfSystemCost()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L33", + "_origin": "ast", + "community": 0, + "norm_label": "pdfsystemcost()", + "id": "frontend_src_components_pdf_analysis_pdfsystemcost_pdfsystemcost", + "community_name": "Community 0" + }, + { + "label": "pdfAnalysisViewModel.ts", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L1", + "_origin": "ast", + "community": 11, + "norm_label": "pdfanalysisviewmodel.ts", + "id": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "community_name": "Community 11" + }, + { + "label": "PdfAnalysisViewModel", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L18", + "_origin": "ast", + "community": 11, + "norm_label": "pdfanalysisviewmodel", + "id": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_pdfanalysisviewmodel", + "community_name": "Community 11" + }, + { + "label": "buildPdfAnalysisViewModel()", + "file_type": "code", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L56", + "_origin": "ast", + "community": 11, + "norm_label": "buildpdfanalysisviewmodel()", + "id": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel", + "community_name": "Community 11" + }, + { + "label": "DropdownMenu.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenu.tsx", + "id": "frontend_src_components_ui_dropdownmenu", + "community_name": "Community 12" + }, + { + "label": "DropdownMenu()", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L7", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenu()", + "id": "frontend_src_components_ui_dropdownmenu_dropdownmenu", + "community_name": "Community 12" + }, + { + "label": "DropdownMenuSubTrigger", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenusubtrigger", + "id": "frontend_src_components_ui_dropdownmenu_dropdownmenusubtrigger", + "community_name": "Community 12" + }, + { + "label": "DropdownMenuSubContent", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L45", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenusubcontent", + "id": "frontend_src_components_ui_dropdownmenu_dropdownmenusubcontent", + "community_name": "Community 12" + }, + { + "label": "DropdownMenuContent", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L60", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenucontent", + "id": "frontend_src_components_ui_dropdownmenu_dropdownmenucontent", + "community_name": "Community 12" + }, + { + "label": "DropdownMenuItem", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L82", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenuitem", + "id": "frontend_src_components_ui_dropdownmenu_dropdownmenuitem", + "community_name": "Community 12" + }, + { + "label": "DropdownMenuCheckboxItem", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L100", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenucheckboxitem", + "id": "frontend_src_components_ui_dropdownmenu_dropdownmenucheckboxitem", + "community_name": "Community 12" + }, + { + "label": "DropdownMenuRadioItem", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L123", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenuradioitem", + "id": "frontend_src_components_ui_dropdownmenu_dropdownmenuradioitem", + "community_name": "Community 12" + }, + { + "label": "DropdownMenuLabel", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L145", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenulabel", + "id": "frontend_src_components_ui_dropdownmenu_dropdownmenulabel", + "community_name": "Community 12" + }, + { + "label": "DropdownMenuSeparator", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L159", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenuseparator", + "id": "frontend_src_components_ui_dropdownmenu_dropdownmenuseparator", + "community_name": "Community 12" + }, + { + "label": "DropdownMenuShortcut()", + "file_type": "code", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L167", + "_origin": "ast", + "community": 12, + "norm_label": "dropdownmenushortcut()", + "id": "frontend_src_components_ui_dropdownmenu_dropdownmenushortcut", + "community_name": "Community 12" + }, + { + "label": "GuidedTour.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 74, + "norm_label": "guidedtour.tsx", + "id": "frontend_src_components_ui_guidedtour", + "community_name": "Community 74" + }, + { + "label": "TourStep", + "file_type": "code", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L27", + "_origin": "ast", + "community": 74, + "norm_label": "tourstep", + "id": "frontend_src_components_ui_guidedtour_tourstep", + "community_name": "Community 74" + }, + { + "label": "getModalPosition()", + "file_type": "code", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L34", + "_origin": "ast", + "community": 74, + "norm_label": "getmodalposition()", + "id": "frontend_src_components_ui_guidedtour_getmodalposition", + "community_name": "Community 74" + }, + { + "label": "GuidedTourModal()", + "file_type": "code", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L84", + "_origin": "ast", + "community": 74, + "norm_label": "guidedtourmodal()", + "id": "frontend_src_components_ui_guidedtour_guidedtourmodal", + "community_name": "Community 74" + }, + { + "label": "GuidedTour()", + "file_type": "code", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L175", + "_origin": "ast", + "community": 74, + "norm_label": "guidedtour()", + "id": "frontend_src_components_ui_guidedtour_guidedtour", + "community_name": "Community 74" + }, + { + "label": "ImagePopup.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/ImagePopup.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 10, + "norm_label": "imagepopup.tsx", + "id": "frontend_src_components_ui_imagepopup", + "community_name": "Community 10" + }, + { + "label": "ImagePopupProps", + "file_type": "code", + "source_file": "frontend/src/components/ui/ImagePopup.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 10, + "norm_label": "imagepopupprops", + "id": "frontend_src_components_ui_imagepopup_imagepopupprops", + "community_name": "Community 10" + }, + { + "label": "ImagePopup()", + "file_type": "code", + "source_file": "frontend/src/components/ui/ImagePopup.tsx", + "source_location": "L25", + "_origin": "ast", + "community": 10, + "norm_label": "imagepopup()", + "id": "frontend_src_components_ui_imagepopup_imagepopup", + "community_name": "Community 10" + }, + { + "label": "InfoTooltip.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/InfoTooltip.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "infotooltip.tsx", + "id": "frontend_src_components_ui_infotooltip", + "community_name": "Community 0" + }, + { + "label": "InfoTooltip()", + "file_type": "code", + "source_file": "frontend/src/components/ui/InfoTooltip.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 0, + "norm_label": "infotooltip()", + "id": "frontend_src_components_ui_infotooltip_infotooltip", + "community_name": "Community 0" + }, + { + "label": "LoadingOverlay.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/LoadingOverlay.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 25, + "norm_label": "loadingoverlay.tsx", + "id": "frontend_src_components_ui_loadingoverlay", + "community_name": "Community 25" + }, + { + "label": "DEFAULT_HINTS", + "file_type": "code", + "source_file": "frontend/src/components/ui/LoadingOverlay.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 25, + "norm_label": "default_hints", + "id": "frontend_src_components_ui_loadingoverlay_default_hints", + "community_name": "Community 25" + }, + { + "label": "LoadingOverlay()", + "file_type": "code", + "source_file": "frontend/src/components/ui/LoadingOverlay.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 25, + "norm_label": "loadingoverlay()", + "id": "frontend_src_components_ui_loadingoverlay_loadingoverlay", + "community_name": "Community 25" + }, + { + "label": "Logo.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/Logo.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 7, + "norm_label": "logo.tsx", + "id": "frontend_src_components_ui_logo", + "community_name": "Community 7" + }, + { + "label": "LogoProps", + "file_type": "code", + "source_file": "frontend/src/components/ui/Logo.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 7, + "norm_label": "logoprops", + "id": "frontend_src_components_ui_logo_logoprops", + "community_name": "Community 7" + }, + { + "label": "Logo()", + "file_type": "code", + "source_file": "frontend/src/components/ui/Logo.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 7, + "norm_label": "logo()", + "id": "frontend_src_components_ui_logo_logo", + "community_name": "Community 7" + }, + { + "label": "NotificationPopover.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 39, + "norm_label": "notificationpopover.tsx", + "id": "frontend_src_components_ui_notificationpopover", + "community_name": "Community 39" + }, + { + "label": "Notification", + "file_type": "code", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L21", + "_origin": "ast", + "community": 28, + "norm_label": "notification", + "id": "frontend_src_components_ui_notificationpopover_notification", + "community_name": "Community 28" + }, + { + "label": "useNotifications()", + "file_type": "code", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L31", + "_origin": "ast", + "community": 39, + "norm_label": "usenotifications()", + "id": "frontend_src_components_ui_notificationpopover_usenotifications", + "community_name": "Community 39" + }, + { + "label": "NotificationPopover()", + "file_type": "code", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L49", + "_origin": "ast", + "community": 39, + "norm_label": "notificationpopover()", + "id": "frontend_src_components_ui_notificationpopover_notificationpopover", + "community_name": "Community 39" + }, + { + "label": "badge.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 7, + "norm_label": "badge.tsx", + "id": "frontend_src_components_ui_badge", + "community_name": "Community 7" + }, + { + "label": "badgeVariants", + "file_type": "code", + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L6", + "_origin": "ast", + "community": 7, + "norm_label": "badgevariants", + "id": "frontend_src_components_ui_badge_badgevariants", + "community_name": "Community 7" + }, + { + "label": "BadgeProps", + "file_type": "code", + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L23", + "_origin": "ast", + "community": 7, + "norm_label": "badgeprops", + "id": "frontend_src_components_ui_badge_badgeprops", + "community_name": "Community 7" + }, + { + "label": "Badge()", + "file_type": "code", + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L25", + "_origin": "ast", + "community": 7, + "norm_label": "badge()", + "id": "frontend_src_components_ui_badge_badge", + "community_name": "Community 7" + }, + { + "label": "button.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/button.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 39, + "norm_label": "button.tsx", + "id": "frontend_src_components_ui_button", + "community_name": "Community 39" + }, + { + "label": "buttonVariants", + "file_type": "code", + "source_file": "frontend/src/components/ui/button.tsx", + "source_location": "L7", + "_origin": "ast", + "community": 39, + "norm_label": "buttonvariants", + "id": "frontend_src_components_ui_button_buttonvariants", + "community_name": "Community 39" + }, + { + "label": "ButtonProps", + "file_type": "code", + "source_file": "frontend/src/components/ui/button.tsx", + "source_location": "L34", + "_origin": "ast", + "community": 39, + "norm_label": "buttonprops", + "id": "frontend_src_components_ui_button_buttonprops", + "community_name": "Community 39" + }, + { + "label": "Button", + "file_type": "code", + "source_file": "frontend/src/components/ui/button.tsx", + "source_location": "L39", + "_origin": "ast", + "community": 39, + "norm_label": "button", + "id": "frontend_src_components_ui_button_button", + "community_name": "Community 39" + }, + { + "label": "card.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "card.tsx", + "id": "frontend_src_components_ui_card", + "community_name": "Community 0" + }, + { + "label": "Card", + "file_type": "code", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L5", + "_origin": "ast", + "community": 0, + "norm_label": "card", + "id": "frontend_src_components_ui_card_card", + "community_name": "Community 0" + }, + { + "label": "CardHeader", + "file_type": "code", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 0, + "norm_label": "cardheader", + "id": "frontend_src_components_ui_card_cardheader", + "community_name": "Community 0" + }, + { + "label": "CardTitle", + "file_type": "code", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L17", + "_origin": "ast", + "community": 0, + "norm_label": "cardtitle", + "id": "frontend_src_components_ui_card_cardtitle", + "community_name": "Community 0" + }, + { + "label": "CardDescription", + "file_type": "code", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 0, + "norm_label": "carddescription", + "id": "frontend_src_components_ui_card_carddescription", + "community_name": "Community 0" + }, + { + "label": "CardContent", + "file_type": "code", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L31", + "_origin": "ast", + "community": 0, + "norm_label": "cardcontent", + "id": "frontend_src_components_ui_card_cardcontent", + "community_name": "Community 0" + }, + { + "label": "CardFooter", + "file_type": "code", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L36", + "_origin": "ast", + "community": 0, + "norm_label": "cardfooter", + "id": "frontend_src_components_ui_card_cardfooter", + "community_name": "Community 0" + }, + { + "label": "dialog.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 10, + "norm_label": "dialog.tsx", + "id": "frontend_src_components_ui_dialog", + "community_name": "Community 10" + }, + { + "label": "DialogOverlay", + "file_type": "code", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L15", + "_origin": "ast", + "community": 10, + "norm_label": "dialogoverlay", + "id": "frontend_src_components_ui_dialog_dialogoverlay", + "community_name": "Community 10" + }, + { + "label": "DialogContent", + "file_type": "code", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L34", + "_origin": "ast", + "community": 10, + "norm_label": "dialogcontent", + "id": "frontend_src_components_ui_dialog_dialogcontent", + "community_name": "Community 10" + }, + { + "label": "DialogHeader()", + "file_type": "code", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L61", + "_origin": "ast", + "community": 10, + "norm_label": "dialogheader()", + "id": "frontend_src_components_ui_dialog_dialogheader", + "community_name": "Community 10" + }, + { + "label": "DialogFooter()", + "file_type": "code", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L66", + "_origin": "ast", + "community": 10, + "norm_label": "dialogfooter()", + "id": "frontend_src_components_ui_dialog_dialogfooter", + "community_name": "Community 10" + }, + { + "label": "DialogTitle", + "file_type": "code", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L71", + "_origin": "ast", + "community": 10, + "norm_label": "dialogtitle", + "id": "frontend_src_components_ui_dialog_dialogtitle", + "community_name": "Community 10" + }, + { + "label": "DialogDescription", + "file_type": "code", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L83", + "_origin": "ast", + "community": 10, + "norm_label": "dialogdescription", + "id": "frontend_src_components_ui_dialog_dialogdescription", + "community_name": "Community 10" + }, + { + "label": "input.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/input.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 12, + "norm_label": "input.tsx", + "id": "frontend_src_components_ui_input", + "community_name": "Community 12" + }, + { + "label": "Input", + "file_type": "code", + "source_file": "frontend/src/components/ui/input.tsx", + "source_location": "L5", + "_origin": "ast", + "community": 12, + "norm_label": "input", + "id": "frontend_src_components_ui_input_input", + "community_name": "Community 12" + }, + { + "label": "label.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/label.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 12, + "norm_label": "label.tsx", + "id": "frontend_src_components_ui_label", + "community_name": "Community 12" + }, + { + "label": "labelVariants", + "file_type": "code", + "source_file": "frontend/src/components/ui/label.tsx", + "source_location": "L7", + "_origin": "ast", + "community": 12, + "norm_label": "labelvariants", + "id": "frontend_src_components_ui_label_labelvariants", + "community_name": "Community 12" + }, + { + "label": "Label", + "file_type": "code", + "source_file": "frontend/src/components/ui/label.tsx", + "source_location": "L9", + "_origin": "ast", + "community": 12, + "norm_label": "label", + "id": "frontend_src_components_ui_label_label", + "community_name": "Community 12" + }, + { + "label": "separator.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/separator.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 7, + "norm_label": "separator.tsx", + "id": "frontend_src_components_ui_separator", + "community_name": "Community 7" + }, + { + "label": "Separator", + "file_type": "code", + "source_file": "frontend/src/components/ui/separator.tsx", + "source_location": "L8", + "_origin": "ast", + "community": 7, + "norm_label": "separator", + "id": "frontend_src_components_ui_separator_separator", + "community_name": "Community 7" + }, + { + "label": "skeleton.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/skeleton.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 7, + "norm_label": "skeleton.tsx", + "id": "frontend_src_components_ui_skeleton", + "community_name": "Community 7" + }, + { + "label": "Skeleton()", + "file_type": "code", + "source_file": "frontend/src/components/ui/skeleton.tsx", + "source_location": "L3", + "_origin": "ast", + "community": 7, + "norm_label": "skeleton()", + "id": "frontend_src_components_ui_skeleton_skeleton", + "community_name": "Community 7" + }, + { + "label": "slider.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/slider.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 25, + "norm_label": "slider.tsx", + "id": "frontend_src_components_ui_slider", + "community_name": "Community 25" + }, + { + "label": "Slider", + "file_type": "code", + "source_file": "frontend/src/components/ui/slider.tsx", + "source_location": "L6", + "_origin": "ast", + "community": 25, + "norm_label": "slider", + "id": "frontend_src_components_ui_slider_slider", + "community_name": "Community 25" + }, + { + "label": "toastConfig.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/toastConfig.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 59, + "norm_label": "toastconfig.tsx", + "id": "frontend_src_components_ui_toastconfig", + "community_name": "Community 59" + }, + { + "label": "BASE_STYLE", + "file_type": "code", + "source_file": "frontend/src/components/ui/toastConfig.tsx", + "source_location": "L19", + "_origin": "ast", + "community": 59, + "norm_label": "base_style", + "id": "frontend_src_components_ui_toastconfig_base_style", + "community_name": "Community 59" + }, + { + "label": "baseOptions", + "file_type": "code", + "source_file": "frontend/src/components/ui/toastConfig.tsx", + "source_location": "L31", + "_origin": "ast", + "community": 59, + "norm_label": "baseoptions", + "id": "frontend_src_components_ui_toastconfig_baseoptions", + "community_name": "Community 59" + }, + { + "label": "notify", + "file_type": "code", + "source_file": "frontend/src/components/ui/toastConfig.tsx", + "source_location": "L42", + "_origin": "ast", + "community": 59, + "norm_label": "notify", + "id": "frontend_src_components_ui_toastconfig_notify", + "community_name": "Community 59" + }, + { + "label": "tooltip.tsx", + "file_type": "code", + "source_file": "frontend/src/components/ui/tooltip.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 7, + "norm_label": "tooltip.tsx", + "id": "frontend_src_components_ui_tooltip", + "community_name": "Community 7" + }, + { + "label": "TooltipContent", + "file_type": "code", + "source_file": "frontend/src/components/ui/tooltip.tsx", + "source_location": "L12", + "_origin": "ast", + "community": 7, + "norm_label": "tooltipcontent", + "id": "frontend_src_components_ui_tooltip_tooltipcontent", + "community_name": "Community 7" + }, + { + "label": "CanvasControls.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 7, + "norm_label": "canvascontrols.tsx", + "id": "frontend_src_components_workbench_canvascontrols", + "community_name": "Community 7" + }, + { + "label": "CanvasControlsProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 7, + "norm_label": "canvascontrolsprops", + "id": "frontend_src_components_workbench_canvascontrols_canvascontrolsprops", + "community_name": "Community 7" + }, + { + "label": "CanvasControls()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L55", + "_origin": "ast", + "community": 7, + "norm_label": "canvascontrols()", + "id": "frontend_src_components_workbench_canvascontrols_canvascontrols", + "community_name": "Community 7" + }, + { + "label": "CanvasLegends.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 60, + "norm_label": "canvaslegends.tsx", + "id": "frontend_src_components_workbench_canvaslegends", + "community_name": "Community 60" + }, + { + "label": "SegmentHull", + "file_type": "code", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 60, + "norm_label": "segmenthull", + "id": "frontend_src_components_workbench_canvaslegends_segmenthull", + "community_name": "Community 60" + }, + { + "label": "CanvasLegendsProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L18", + "_origin": "ast", + "community": 60, + "norm_label": "canvaslegendsprops", + "id": "frontend_src_components_workbench_canvaslegends_canvaslegendsprops", + "community_name": "Community 60" + }, + { + "label": "CanvasLegends()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L29", + "_origin": "ast", + "community": 60, + "norm_label": "canvaslegends()", + "id": "frontend_src_components_workbench_canvaslegends_canvaslegends", + "community_name": "Community 60" + }, + { + "label": "GroupRotationHandle.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/GroupRotationHandle.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 20, + "norm_label": "grouprotationhandle.tsx", + "id": "frontend_src_components_workbench_grouprotationhandle", + "community_name": "Community 20" + }, + { + "label": "GroupPanel", + "file_type": "code", + "source_file": "frontend/src/components/workbench/GroupRotationHandle.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 20, + "norm_label": "grouppanel", + "id": "frontend_src_components_workbench_grouprotationhandle_grouppanel", + "community_name": "Community 20" + }, + { + "label": "GroupRotationHandleProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/GroupRotationHandle.tsx", + "source_location": "L18", + "_origin": "ast", + "community": 20, + "norm_label": "grouprotationhandleprops", + "id": "frontend_src_components_workbench_grouprotationhandle_grouprotationhandleprops", + "community_name": "Community 20" + }, + { + "label": "GroupRotationHandle()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/GroupRotationHandle.tsx", + "source_location": "L32", + "_origin": "ast", + "community": 20, + "norm_label": "grouprotationhandle()", + "id": "frontend_src_components_workbench_grouprotationhandle_grouprotationhandle", + "community_name": "Community 20" + }, + { + "label": "IrradianceGlow.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 25, + "norm_label": "irradianceglow.tsx", + "id": "frontend_src_components_workbench_irradianceglow", + "community_name": "Community 25" + }, + { + "label": "MONTH_LABELS", + "file_type": "code", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L8", + "_origin": "ast", + "community": 25, + "norm_label": "month_labels", + "id": "frontend_src_components_workbench_irradianceglow_month_labels", + "community_name": "Community 25" + }, + { + "label": "MONTHLY_IRRADIANCE", + "file_type": "code", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 25, + "norm_label": "monthly_irradiance", + "id": "frontend_src_components_workbench_irradianceglow_monthly_irradiance", + "community_name": "Community 25" + }, + { + "label": "MONTHLY_AZIMUTH", + "file_type": "code", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L30", + "_origin": "ast", + "community": 25, + "norm_label": "monthly_azimuth", + "id": "frontend_src_components_workbench_irradianceglow_monthly_azimuth", + "community_name": "Community 25" + }, + { + "label": "IrradianceGlowProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L47", + "_origin": "ast", + "community": 25, + "norm_label": "irradianceglowprops", + "id": "frontend_src_components_workbench_irradianceglow_irradianceglowprops", + "community_name": "Community 25" + }, + { + "label": "IrradianceGlow()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L55", + "_origin": "ast", + "community": 25, + "norm_label": "irradianceglow()", + "id": "frontend_src_components_workbench_irradianceglow_irradianceglow", + "community_name": "Community 25" + }, + { + "label": "LayoutPresetModal.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 10, + "norm_label": "layoutpresetmodal.tsx", + "id": "frontend_src_components_workbench_layoutpresetmodal", + "community_name": "Community 10" + }, + { + "label": "billLabel()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L38", + "_origin": "ast", + "community": 10, + "norm_label": "billlabel()", + "id": "frontend_src_components_workbench_layoutpresetmodal_billlabel", + "community_name": "Community 10" + }, + { + "label": "Goal", + "file_type": "code", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L43", + "_origin": "ast", + "community": 10, + "norm_label": "goal", + "id": "frontend_src_components_workbench_layoutpresetmodal_goal", + "community_name": "Community 10" + }, + { + "label": "LayoutPresetModalProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L45", + "_origin": "ast", + "community": 10, + "norm_label": "layoutpresetmodalprops", + "id": "frontend_src_components_workbench_layoutpresetmodal_layoutpresetmodalprops", + "community_name": "Community 10" + }, + { + "label": "LayoutPresetModal()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L57", + "_origin": "ast", + "community": 10, + "norm_label": "layoutpresetmodal()", + "id": "frontend_src_components_workbench_layoutpresetmodal_layoutpresetmodal", + "community_name": "Community 10" + }, + { + "label": "PanelLayer.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 20, + "norm_label": "panellayer.tsx", + "id": "frontend_src_components_workbench_panellayer", + "community_name": "Community 20" + }, + { + "label": "RenderPanel", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 20, + "norm_label": "renderpanel", + "id": "frontend_src_components_workbench_panellayer_renderpanel", + "community_name": "Community 20" + }, + { + "label": "PanelLayerProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L20", + "_origin": "ast", + "community": 20, + "norm_label": "panellayerprops", + "id": "frontend_src_components_workbench_panellayer_panellayerprops", + "community_name": "Community 20" + }, + { + "label": "panelAnnualEnergy()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L41", + "_origin": "ast", + "community": 20, + "norm_label": "panelannualenergy()", + "id": "frontend_src_components_workbench_panellayer_panelannualenergy", + "community_name": "Community 20" + }, + { + "label": "getPanelColorByRatio()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L49", + "_origin": "ast", + "community": 20, + "norm_label": "getpanelcolorbyratio()", + "id": "frontend_src_components_workbench_panellayer_getpanelcolorbyratio", + "community_name": "Community 20" + }, + { + "label": "PanelLayer()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L61", + "_origin": "ast", + "community": 20, + "norm_label": "panellayer()", + "id": "frontend_src_components_workbench_panellayer_panellayer", + "community_name": "Community 20" + }, + { + "label": "PanelModelDrawer.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 54, + "norm_label": "panelmodeldrawer.tsx", + "id": "frontend_src_components_workbench_panelmodeldrawer", + "community_name": "Community 54" + }, + { + "label": "PanelPreview3D", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 54, + "norm_label": "panelpreview3d", + "id": "frontend_src_components_workbench_panelmodeldrawer_panelpreview3d", + "community_name": "Community 54" + }, + { + "label": "MODEL_CELL_COLORS", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 54, + "norm_label": "model_cell_colors", + "id": "frontend_src_components_workbench_panelmodeldrawer_model_cell_colors", + "community_name": "Community 54" + }, + { + "label": "PanelModelDrawerProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L25", + "_origin": "ast", + "community": 54, + "norm_label": "panelmodeldrawerprops", + "id": "frontend_src_components_workbench_panelmodeldrawer_panelmodeldrawerprops", + "community_name": "Community 54" + }, + { + "label": "PanelModelDrawer()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L35", + "_origin": "ast", + "community": 54, + "norm_label": "panelmodeldrawer()", + "id": "frontend_src_components_workbench_panelmodeldrawer_panelmodeldrawer", + "community_name": "Community 54" + }, + { + "label": "ModelCard()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L107", + "_origin": "ast", + "community": 54, + "norm_label": "modelcard()", + "id": "frontend_src_components_workbench_panelmodeldrawer_modelcard", + "community_name": "Community 54" + }, + { + "label": "PanelPreview3D.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelPreview3D.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 84, + "norm_label": "panelpreview3d.tsx", + "id": "frontend_src_components_workbench_panelpreview3d", + "community_name": "Community 84" + }, + { + "label": "PanelPreview3DProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelPreview3D.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 84, + "norm_label": "panelpreview3dprops", + "id": "frontend_src_components_workbench_panelpreview3d_panelpreview3dprops", + "community_name": "Community 84" + }, + { + "label": "PanelMesh()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelPreview3D.tsx", + "source_location": "L17", + "_origin": "ast", + "community": 84, + "norm_label": "panelmesh()", + "id": "frontend_src_components_workbench_panelpreview3d_panelmesh", + "community_name": "Community 84" + }, + { + "label": "PanelPreview3D()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelPreview3D.tsx", + "source_location": "L108", + "_origin": "ast", + "community": 84, + "norm_label": "panelpreview3d()", + "id": "frontend_src_components_workbench_panelpreview3d_panelpreview3d", + "community_name": "Community 84" + }, + { + "label": "PanelRect.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelRect.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 20, + "norm_label": "panelrect.tsx", + "id": "frontend_src_components_workbench_panelrect", + "community_name": "Community 20" + }, + { + "label": "PanelRectProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelRect.tsx", + "source_location": "L9", + "_origin": "ast", + "community": 20, + "norm_label": "panelrectprops", + "id": "frontend_src_components_workbench_panelrect_panelrectprops", + "community_name": "Community 20" + }, + { + "label": "getCursor()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelRect.tsx", + "source_location": "L30", + "_origin": "ast", + "community": 20, + "norm_label": "getcursor()", + "id": "frontend_src_components_workbench_panelrect_getcursor", + "community_name": "Community 20" + }, + { + "label": "PanelRectInternal()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelRect.tsx", + "source_location": "L40", + "_origin": "ast", + "community": 20, + "norm_label": "panelrectinternal()", + "id": "frontend_src_components_workbench_panelrect_panelrectinternal", + "community_name": "Community 20" + }, + { + "label": "PanelRect", + "file_type": "code", + "source_file": "frontend/src/components/workbench/PanelRect.tsx", + "source_location": "L128", + "_origin": "ast", + "community": 20, + "norm_label": "panelrect", + "id": "frontend_src_components_workbench_panelrect_panelrect", + "community_name": "Community 20" + }, + { + "label": "RotationHandle.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/RotationHandle.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 20, + "norm_label": "rotationhandle.tsx", + "id": "frontend_src_components_workbench_rotationhandle", + "community_name": "Community 20" + }, + { + "label": "RotationHandleProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/RotationHandle.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 20, + "norm_label": "rotationhandleprops", + "id": "frontend_src_components_workbench_rotationhandle_rotationhandleprops", + "community_name": "Community 20" + }, + { + "label": "RotationHandle()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/RotationHandle.tsx", + "source_location": "L26", + "_origin": "ast", + "community": 20, + "norm_label": "rotationhandle()", + "id": "frontend_src_components_workbench_rotationhandle_rotationhandle", + "community_name": "Community 20" + }, + { + "label": "ToolButton.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 7, + "norm_label": "toolbutton.tsx", + "id": "frontend_src_components_workbench_toolbutton", + "community_name": "Community 7" + }, + { + "label": "TooltipState", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 7, + "norm_label": "tooltipstate", + "id": "frontend_src_components_workbench_toolbutton_tooltipstate", + "community_name": "Community 7" + }, + { + "label": "ToolButtonProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L13", + "_origin": "ast", + "community": 7, + "norm_label": "toolbuttonprops", + "id": "frontend_src_components_workbench_toolbutton_toolbuttonprops", + "community_name": "Community 7" + }, + { + "label": "ToolButton()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L28", + "_origin": "ast", + "community": 7, + "norm_label": "toolbutton()", + "id": "frontend_src_components_workbench_toolbutton_toolbutton", + "community_name": "Community 7" + }, + { + "label": "SwatchButtonProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L81", + "_origin": "ast", + "community": 7, + "norm_label": "swatchbuttonprops", + "id": "frontend_src_components_workbench_toolbutton_swatchbuttonprops", + "community_name": "Community 7" + }, + { + "label": "SwatchButton()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L94", + "_origin": "ast", + "community": 7, + "norm_label": "swatchbutton()", + "id": "frontend_src_components_workbench_toolbutton_swatchbutton", + "community_name": "Community 7" + }, + { + "label": "ToolbarIcons.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 7, + "norm_label": "toolbaricons.tsx", + "id": "frontend_src_components_workbench_toolbaricons", + "community_name": "Community 7" + }, + { + "label": "svgProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L6", + "_origin": "ast", + "community": 7, + "norm_label": "svgprops", + "id": "frontend_src_components_workbench_toolbaricons_svgprops", + "community_name": "Community 7" + }, + { + "label": "CollapseIcon()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L18", + "_origin": "ast", + "community": 7, + "norm_label": "collapseicon()", + "id": "frontend_src_components_workbench_toolbaricons_collapseicon", + "community_name": "Community 7" + }, + { + "label": "ExpandIcon()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L30", + "_origin": "ast", + "community": 7, + "norm_label": "expandicon()", + "id": "frontend_src_components_workbench_toolbaricons_expandicon", + "community_name": "Community 7" + }, + { + "label": "UndoIcon()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L42", + "_origin": "ast", + "community": 7, + "norm_label": "undoicon()", + "id": "frontend_src_components_workbench_toolbaricons_undoicon", + "community_name": "Community 7" + }, + { + "label": "RedoIcon()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L52", + "_origin": "ast", + "community": 7, + "norm_label": "redoicon()", + "id": "frontend_src_components_workbench_toolbaricons_redoicon", + "community_name": "Community 7" + }, + { + "label": "MarqueeIcon()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L62", + "_origin": "ast", + "community": 7, + "norm_label": "marqueeicon()", + "id": "frontend_src_components_workbench_toolbaricons_marqueeicon", + "community_name": "Community 7" + }, + { + "label": "SnapIcon()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L86", + "_origin": "ast", + "community": 7, + "norm_label": "snapicon()", + "id": "frontend_src_components_workbench_toolbaricons_snapicon", + "community_name": "Community 7" + }, + { + "label": "DeleteIcon()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L99", + "_origin": "ast", + "community": 7, + "norm_label": "deleteicon()", + "id": "frontend_src_components_workbench_toolbaricons_deleteicon", + "community_name": "Community 7" + }, + { + "label": "RotateIcon()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L110", + "_origin": "ast", + "community": 7, + "norm_label": "rotateicon()", + "id": "frontend_src_components_workbench_toolbaricons_rotateicon", + "community_name": "Community 7" + }, + { + "label": "LayersIcon()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L120", + "_origin": "ast", + "community": 7, + "norm_label": "layersicon()", + "id": "frontend_src_components_workbench_toolbaricons_layersicon", + "community_name": "Community 7" + }, + { + "label": "WorkbenchHintOverlay.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 80, + "norm_label": "workbenchhintoverlay.tsx", + "id": "frontend_src_components_workbench_workbenchhintoverlay", + "community_name": "Community 80" + }, + { + "label": "readPermanentDismiss()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L13", + "_origin": "ast", + "community": 80, + "norm_label": "readpermanentdismiss()", + "id": "frontend_src_components_workbench_workbenchhintoverlay_readpermanentdismiss", + "community_name": "Community 80" + }, + { + "label": "writePermanentDismiss()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 80, + "norm_label": "writepermanentdismiss()", + "id": "frontend_src_components_workbench_workbenchhintoverlay_writepermanentdismiss", + "community_name": "Community 80" + }, + { + "label": "Props", + "file_type": "code", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L35", + "_origin": "ast", + "community": 80, + "norm_label": "props", + "id": "frontend_src_components_workbench_workbenchhintoverlay_props", + "community_name": "Community 80" + }, + { + "label": "WorkbenchHintOverlay()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L48", + "_origin": "ast", + "community": 80, + "norm_label": "workbenchhintoverlay()", + "id": "frontend_src_components_workbench_workbenchhintoverlay_workbenchhintoverlay", + "community_name": "Community 80" + }, + { + "label": "WorkbenchSidebar.tsx", + "file_type": "code", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "workbenchsidebar.tsx", + "id": "frontend_src_components_workbench_workbenchsidebar", + "community_name": "Community 0" + }, + { + "label": "UiMessage", + "file_type": "code", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L20", + "_origin": "ast", + "community": 0, + "norm_label": "uimessage", + "id": "frontend_src_components_workbench_workbenchsidebar_uimessage", + "community_name": "Community 0" + }, + { + "label": "SelectedPanelData", + "file_type": "code", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L25", + "_origin": "ast", + "community": 0, + "norm_label": "selectedpaneldata", + "id": "frontend_src_components_workbench_workbenchsidebar_selectedpaneldata", + "community_name": "Community 0" + }, + { + "label": "WorkbenchSidebarProps", + "file_type": "code", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L31", + "_origin": "ast", + "community": 0, + "norm_label": "workbenchsidebarprops", + "id": "frontend_src_components_workbench_workbenchsidebar_workbenchsidebarprops", + "community_name": "Community 0" + }, + { + "label": "WorkbenchSidebar()", + "file_type": "code", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L65", + "_origin": "ast", + "community": 0, + "norm_label": "workbenchsidebar()", + "id": "frontend_src_components_workbench_workbenchsidebar_workbenchsidebar", + "community_name": "Community 0" + }, + { + "label": "useChat.test.tsx", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 4, + "norm_label": "usechat.test.tsx", + "id": "frontend_src_hooks_tests_usechat_test", + "community_name": "Community 4" + }, + { + "label": "getSessionMock", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L7", + "_origin": "ast", + "community": 4, + "norm_label": "getsessionmock", + "id": "frontend_src_hooks_tests_usechat_test_getsessionmock", + "community_name": "Community 4" + }, + { + "label": "installFetchMock()", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 4, + "norm_label": "installfetchmock()", + "id": "frontend_src_hooks_tests_usechat_test_installfetchmock", + "community_name": "Community 4" + }, + { + "label": "buildSseResponse()", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L47", + "_origin": "ast", + "community": 4, + "norm_label": "buildsseresponse()", + "id": "frontend_src_hooks_tests_usechat_test_buildsseresponse", + "community_name": "Community 4" + }, + { + "label": "wrapper()", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L68", + "_origin": "ast", + "community": 4, + "norm_label": "wrapper()", + "id": "frontend_src_hooks_tests_usechat_test_wrapper", + "community_name": "Community 4" + }, + { + "label": "usePanelState.test.tsx", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/usePanelState.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 8, + "norm_label": "usepanelstate.test.tsx", + "id": "frontend_src_hooks_tests_usepanelstate_test", + "community_name": "Community 8" + }, + { + "label": "solarPanels", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/usePanelState.test.tsx", + "source_location": "L5", + "_origin": "ast", + "community": 8, + "norm_label": "solarpanels", + "id": "frontend_src_hooks_tests_usepanelstate_test_solarpanels", + "community_name": "Community 8" + }, + { + "label": "roofSegments", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/usePanelState.test.tsx", + "source_location": "L50", + "_origin": "ast", + "community": 8, + "norm_label": "roofsegments", + "id": "frontend_src_hooks_tests_usepanelstate_test_roofsegments", + "community_name": "Community 8" + }, + { + "label": "usePanelStateUndoRedo.test.tsx", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/usePanelStateUndoRedo.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 8, + "norm_label": "usepanelstateundoredo.test.tsx", + "id": "frontend_src_hooks_tests_usepanelstateundoredo_test", + "community_name": "Community 8" + }, + { + "label": "solarPanels", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/usePanelStateUndoRedo.test.tsx", + "source_location": "L5", + "_origin": "ast", + "community": 8, + "norm_label": "solarpanels", + "id": "frontend_src_hooks_tests_usepanelstateundoredo_test_solarpanels", + "community_name": "Community 8" + }, + { + "label": "roofSegments", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/usePanelStateUndoRedo.test.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 8, + "norm_label": "roofsegments", + "id": "frontend_src_hooks_tests_usepanelstateundoredo_test_roofsegments", + "community_name": "Community 8" + }, + { + "label": "setup()", + "file_type": "code", + "source_file": "frontend/src/hooks/__tests__/usePanelStateUndoRedo.test.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 8, + "norm_label": "setup()", + "id": "frontend_src_hooks_tests_usepanelstateundoredo_test_setup", + "community_name": "Community 8" + }, + { + "label": "useAnalysisForm.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L1", + "_origin": "ast", + "community": 29, + "norm_label": "useanalysisform.ts", + "id": "frontend_src_hooks_useanalysisform", + "community_name": "Community 29" + }, + { + "label": "AnalysisFormState", + "file_type": "code", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L40", + "_origin": "ast", + "community": 29, + "norm_label": "analysisformstate", + "id": "frontend_src_hooks_useanalysisform_analysisformstate", + "community_name": "Community 29" + }, + { + "label": "ChartDataPoint", + "file_type": "code", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L43", + "_origin": "ast", + "community": 29, + "norm_label": "chartdatapoint", + "id": "frontend_src_hooks_useanalysisform_chartdatapoint", + "community_name": "Community 29" + }, + { + "label": "useAnalysisForm()", + "file_type": "code", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L58", + "_origin": "ast", + "community": 29, + "norm_label": "useanalysisform()", + "id": "frontend_src_hooks_useanalysisform_useanalysisform", + "community_name": "Community 29" + }, + { + "label": "useAnalysisPdf.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L1", + "_origin": "ast", + "community": 59, + "norm_label": "useanalysispdf.ts", + "id": "frontend_src_hooks_useanalysispdf", + "community_name": "Community 59" + }, + { + "label": "sanitizeFileName()", + "file_type": "code", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L24", + "_origin": "ast", + "community": 59, + "norm_label": "sanitizefilename()", + "id": "frontend_src_hooks_useanalysispdf_sanitizefilename", + "community_name": "Community 59" + }, + { + "label": "buildPdfFileName()", + "file_type": "code", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L32", + "_origin": "ast", + "community": 59, + "norm_label": "buildpdffilename()", + "id": "frontend_src_hooks_useanalysispdf_buildpdffilename", + "community_name": "Community 59" + }, + { + "label": "triggerDownload()", + "file_type": "code", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L38", + "_origin": "ast", + "community": 59, + "norm_label": "triggerdownload()", + "id": "frontend_src_hooks_useanalysispdf_triggerdownload", + "community_name": "Community 59" + }, + { + "label": "useAnalysisPdf()", + "file_type": "code", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L54", + "_origin": "ast", + "community": 0, + "norm_label": "useanalysispdf()", + "id": "frontend_src_hooks_useanalysispdf_useanalysispdf", + "community_name": "Community 0" + }, + { + "label": "useAuth.tsx", + "file_type": "code", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 38, + "norm_label": "useauth.tsx", + "id": "frontend_src_hooks_useauth", + "community_name": "Community 38" + }, + { + "label": "AuthContextValue", + "file_type": "code", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L31", + "_origin": "ast", + "community": 38, + "norm_label": "authcontextvalue", + "id": "frontend_src_hooks_useauth_authcontextvalue", + "community_name": "Community 38" + }, + { + "label": "AuthContext", + "file_type": "code", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L41", + "_origin": "ast", + "community": 38, + "norm_label": "authcontext", + "id": "frontend_src_hooks_useauth_authcontext", + "community_name": "Community 38" + }, + { + "label": "AuthProvider()", + "file_type": "code", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L47", + "_origin": "ast", + "community": 38, + "norm_label": "authprovider()", + "id": "frontend_src_hooks_useauth_authprovider", + "community_name": "Community 38" + }, + { + "label": "useAuth()", + "file_type": "code", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L135", + "_origin": "ast", + "community": 44, + "norm_label": "useauth()", + "id": "frontend_src_hooks_useauth_useauth", + "community_name": "Community 44" + }, + { + "label": "useCanvasInteractions.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L1", + "_origin": "ast", + "community": 1, + "norm_label": "usecanvasinteractions.ts", + "id": "frontend_src_hooks_usecanvasinteractions", + "community_name": "Community 1" + }, + { + "label": "getPlacementErrorMessage()", + "file_type": "code", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L58", + "_origin": "ast", + "community": 1, + "norm_label": "getplacementerrormessage()", + "id": "frontend_src_hooks_usecanvasinteractions_getplacementerrormessage", + "community_name": "Community 1" + }, + { + "label": "UseCanvasInteractionsOptions", + "file_type": "code", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L69", + "_origin": "ast", + "community": 1, + "norm_label": "usecanvasinteractionsoptions", + "id": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractionsoptions", + "community_name": "Community 1" + }, + { + "label": "useCanvasInteractions()", + "file_type": "code", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L104", + "_origin": "ast", + "community": 1, + "norm_label": "usecanvasinteractions()", + "id": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractions", + "community_name": "Community 1" + }, + { + "label": "useCanvasZoom.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useCanvasZoom.ts", + "source_location": "L1", + "_origin": "ast", + "community": 25, + "norm_label": "usecanvaszoom.ts", + "id": "frontend_src_hooks_usecanvaszoom", + "community_name": "Community 25" + }, + { + "label": "useCanvasZoom()", + "file_type": "code", + "source_file": "frontend/src/hooks/useCanvasZoom.ts", + "source_location": "L27", + "_origin": "ast", + "community": 25, + "norm_label": "usecanvaszoom()", + "id": "frontend_src_hooks_usecanvaszoom_usecanvaszoom", + "community_name": "Community 25" + }, + { + "label": "useChat.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L1", + "_origin": "ast", + "community": 4, + "norm_label": "usechat.ts", + "id": "frontend_src_hooks_usechat", + "community_name": "Community 4" + }, + { + "label": "ChatPage", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L10", + "_origin": "ast", + "community": 4, + "norm_label": "chatpage", + "id": "frontend_src_hooks_usechat_chatpage", + "community_name": "Community 4" + }, + { + "label": "ChatEvent", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L11", + "_origin": "ast", + "community": 4, + "norm_label": "chatevent", + "id": "frontend_src_hooks_usechat_chatevent", + "community_name": "Community 4" + }, + { + "label": "ChatLiveState", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L20", + "_origin": "ast", + "community": 4, + "norm_label": "chatlivestate", + "id": "frontend_src_hooks_usechat_chatlivestate", + "community_name": "Community 4" + }, + { + "label": "hasLiveState()", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L28", + "_origin": "ast", + "community": 4, + "norm_label": "haslivestate()", + "id": "frontend_src_hooks_usechat_haslivestate", + "community_name": "Community 4" + }, + { + "label": "samplePool()", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L39", + "_origin": "ast", + "community": 4, + "norm_label": "samplepool()", + "id": "frontend_src_hooks_usechat_samplepool", + "community_name": "Community 4" + }, + { + "label": "parseSseEventBlock()", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L52", + "_origin": "ast", + "community": 4, + "norm_label": "parsesseeventblock()", + "id": "frontend_src_hooks_usechat_parsesseeventblock", + "community_name": "Community 4" + }, + { + "label": "drainSseBuffer()", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L64", + "_origin": "ast", + "community": 4, + "norm_label": "drainssebuffer()", + "id": "frontend_src_hooks_usechat_drainssebuffer", + "community_name": "Community 4" + }, + { + "label": "buildAuthHeaders()", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L77", + "_origin": "ast", + "community": 4, + "norm_label": "buildauthheaders()", + "id": "frontend_src_hooks_usechat_buildauthheaders", + "community_name": "Community 4" + }, + { + "label": "UseChatReturn", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L90", + "_origin": "ast", + "community": 4, + "norm_label": "usechatreturn", + "id": "frontend_src_hooks_usechat_usechatreturn", + "community_name": "Community 4" + }, + { + "label": "normaliseLanguage()", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L101", + "_origin": "ast", + "community": 4, + "norm_label": "normaliselanguage()", + "id": "frontend_src_hooks_usechat_normaliselanguage", + "community_name": "Community 4" + }, + { + "label": "buildHistory()", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L108", + "_origin": "ast", + "community": 4, + "norm_label": "buildhistory()", + "id": "frontend_src_hooks_usechat_buildhistory", + "community_name": "Community 4" + }, + { + "label": "readErrorMessage()", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L119", + "_origin": "ast", + "community": 4, + "norm_label": "readerrormessage()", + "id": "frontend_src_hooks_usechat_readerrormessage", + "community_name": "Community 4" + }, + { + "label": "useChat()", + "file_type": "code", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L133", + "_origin": "ast", + "community": 4, + "norm_label": "usechat()", + "id": "frontend_src_hooks_usechat_usechat", + "community_name": "Community 4" + }, + { + "label": "useGoogleMaps.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useGoogleMaps.ts", + "source_location": "L1", + "_origin": "ast", + "community": 18, + "norm_label": "usegooglemaps.ts", + "id": "frontend_src_hooks_usegooglemaps", + "community_name": "Community 18" + }, + { + "label": "loader", + "file_type": "code", + "source_file": "frontend/src/hooks/useGoogleMaps.ts", + "source_location": "L21", + "_origin": "ast", + "community": 18, + "norm_label": "loader", + "id": "frontend_src_hooks_usegooglemaps_loader", + "community_name": "Community 18" + }, + { + "label": "ensureLoaded()", + "file_type": "code", + "source_file": "frontend/src/hooks/useGoogleMaps.ts", + "source_location": "L30", + "_origin": "ast", + "community": 18, + "norm_label": "ensureloaded()", + "id": "frontend_src_hooks_usegooglemaps_ensureloaded", + "community_name": "Community 18" + }, + { + "label": "useGoogleMaps()", + "file_type": "code", + "source_file": "frontend/src/hooks/useGoogleMaps.ts", + "source_location": "L51", + "_origin": "ast", + "community": 18, + "norm_label": "usegooglemaps()", + "id": "frontend_src_hooks_usegooglemaps_usegooglemaps", + "community_name": "Community 18" + }, + { + "label": "useIrradiance.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useIrradiance.ts", + "source_location": "L1", + "_origin": "ast", + "community": 25, + "norm_label": "useirradiance.ts", + "id": "frontend_src_hooks_useirradiance", + "community_name": "Community 25" + }, + { + "label": "useIrradiance()", + "file_type": "code", + "source_file": "frontend/src/hooks/useIrradiance.ts", + "source_location": "L22", + "_origin": "ast", + "community": 25, + "norm_label": "useirradiance()", + "id": "frontend_src_hooks_useirradiance_useirradiance", + "community_name": "Community 25" + }, + { + "label": "useLocale.tsx", + "file_type": "code", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 38, + "norm_label": "uselocale.tsx", + "id": "frontend_src_hooks_uselocale", + "community_name": "Community 38" + }, + { + "label": "LocaleContextValue", + "file_type": "code", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L19", + "_origin": "ast", + "community": 38, + "norm_label": "localecontextvalue", + "id": "frontend_src_hooks_uselocale_localecontextvalue", + "community_name": "Community 38" + }, + { + "label": "LocaleContext", + "file_type": "code", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L24", + "_origin": "ast", + "community": 38, + "norm_label": "localecontext", + "id": "frontend_src_hooks_uselocale_localecontext", + "community_name": "Community 38" + }, + { + "label": "readInitialLocale()", + "file_type": "code", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L32", + "_origin": "ast", + "community": 38, + "norm_label": "readinitiallocale()", + "id": "frontend_src_hooks_uselocale_readinitiallocale", + "community_name": "Community 38" + }, + { + "label": "LocaleProvider()", + "file_type": "code", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L46", + "_origin": "ast", + "community": 38, + "norm_label": "localeprovider()", + "id": "frontend_src_hooks_uselocale_localeprovider", + "community_name": "Community 38" + }, + { + "label": "useLocale()", + "file_type": "code", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L101", + "_origin": "ast", + "community": 61, + "norm_label": "uselocale()", + "id": "frontend_src_hooks_uselocale_uselocale", + "community_name": "Community 61" + }, + { + "label": "useOverlayImages.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L1", + "_origin": "ast", + "community": 60, + "norm_label": "useoverlayimages.ts", + "id": "frontend_src_hooks_useoverlayimages", + "community_name": "Community 60" + }, + { + "label": "useLoadedImage()", + "file_type": "code", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L5", + "_origin": "ast", + "community": 60, + "norm_label": "useloadedimage()", + "id": "frontend_src_hooks_useoverlayimages_useloadedimage", + "community_name": "Community 60" + }, + { + "label": "OverlayMode", + "file_type": "code", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L61", + "_origin": "ast", + "community": 60, + "norm_label": "overlaymode", + "id": "frontend_src_hooks_useoverlayimages_overlaymode", + "community_name": "Community 60" + }, + { + "label": "useOverlayImages()", + "file_type": "code", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L71", + "_origin": "ast", + "community": 60, + "norm_label": "useoverlayimages()", + "id": "frontend_src_hooks_useoverlayimages_useoverlayimages", + "community_name": "Community 60" + }, + { + "label": "usePanelState.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L1", + "_origin": "ast", + "community": 8, + "norm_label": "usepanelstate.ts", + "id": "frontend_src_hooks_usepanelstate", + "community_name": "Community 8" + }, + { + "label": "UndoRedoSnapshot", + "file_type": "code", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L35", + "_origin": "ast", + "community": 8, + "norm_label": "undoredosnapshot", + "id": "frontend_src_hooks_usepanelstate_undoredosnapshot", + "community_name": "Community 8" + }, + { + "label": "WorkbenchPanelState", + "file_type": "code", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L41", + "_origin": "ast", + "community": 20, + "norm_label": "workbenchpanelstate", + "id": "frontend_src_hooks_usepanelstate_workbenchpanelstate", + "community_name": "Community 20" + }, + { + "label": "BatchRecomputeStatus", + "file_type": "code", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L53", + "_origin": "ast", + "community": 25, + "norm_label": "batchrecomputestatus", + "id": "frontend_src_hooks_usepanelstate_batchrecomputestatus", + "community_name": "Community 25" + }, + { + "label": "UsePanelStateArgs", + "file_type": "code", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L55", + "_origin": "ast", + "community": 8, + "norm_label": "usepanelstateargs", + "id": "frontend_src_hooks_usepanelstate_usepanelstateargs", + "community_name": "Community 8" + }, + { + "label": "WORKBENCH_CONFIG", + "file_type": "code", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L81", + "_origin": "ast", + "community": 8, + "norm_label": "workbench_config", + "id": "frontend_src_hooks_usepanelstate_workbench_config", + "community_name": "Community 8" + }, + { + "label": "getPanelAnnualEnergy()", + "file_type": "code", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L89", + "_origin": "ast", + "community": 8, + "norm_label": "getpanelannualenergy()", + "id": "frontend_src_hooks_usepanelstate_getpanelannualenergy", + "community_name": "Community 8" + }, + { + "label": "getSortedPanelIds()", + "file_type": "code", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L95", + "_origin": "ast", + "community": 8, + "norm_label": "getsortedpanelids()", + "id": "frontend_src_hooks_usepanelstate_getsortedpanelids", + "community_name": "Community 8" + }, + { + "label": "usePanelState()", + "file_type": "code", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L118", + "_origin": "ast", + "community": 8, + "norm_label": "usepanelstate()", + "id": "frontend_src_hooks_usepanelstate_usepanelstate", + "community_name": "Community 8" + }, + { + "label": "useQuota.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L1", + "_origin": "ast", + "community": 28, + "norm_label": "usequota.ts", + "id": "frontend_src_hooks_usequota", + "community_name": "Community 28" + }, + { + "label": "formatReset()", + "file_type": "code", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L21", + "_origin": "ast", + "community": 28, + "norm_label": "formatreset()", + "id": "frontend_src_hooks_usequota_formatreset", + "community_name": "Community 28" + }, + { + "label": "useQuota()", + "file_type": "code", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L31", + "_origin": "ast", + "community": 28, + "norm_label": "usequota()", + "id": "frontend_src_hooks_usequota_usequota", + "community_name": "Community 28" + }, + { + "label": "useStageSize.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useStageSize.ts", + "source_location": "L1", + "_origin": "ast", + "community": 25, + "norm_label": "usestagesize.ts", + "id": "frontend_src_hooks_usestagesize", + "community_name": "Community 25" + }, + { + "label": "useStageSize()", + "file_type": "code", + "source_file": "frontend/src/hooks/useStageSize.ts", + "source_location": "L22", + "_origin": "ast", + "community": 25, + "norm_label": "usestagesize()", + "id": "frontend_src_hooks_usestagesize_usestagesize", + "community_name": "Community 25" + }, + { + "label": "useTheme.tsx", + "file_type": "code", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "usetheme.tsx", + "id": "frontend_src_hooks_usetheme", + "community_name": "Community 0" + }, + { + "label": "Theme", + "file_type": "code", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 0, + "norm_label": "theme", + "id": "frontend_src_hooks_usetheme_theme", + "community_name": "Community 0" + }, + { + "label": "ThemeContextValue", + "file_type": "code", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 0, + "norm_label": "themecontextvalue", + "id": "frontend_src_hooks_usetheme_themecontextvalue", + "community_name": "Community 0" + }, + { + "label": "ThemeContext", + "file_type": "code", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L29", + "_origin": "ast", + "community": 0, + "norm_label": "themecontext", + "id": "frontend_src_hooks_usetheme_themecontext", + "community_name": "Community 0" + }, + { + "label": "getSystemTheme()", + "file_type": "code", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L32", + "_origin": "ast", + "community": 0, + "norm_label": "getsystemtheme()", + "id": "frontend_src_hooks_usetheme_getsystemtheme", + "community_name": "Community 0" + }, + { + "label": "resolveTheme()", + "file_type": "code", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L37", + "_origin": "ast", + "community": 0, + "norm_label": "resolvetheme()", + "id": "frontend_src_hooks_usetheme_resolvetheme", + "community_name": "Community 0" + }, + { + "label": "ThemeProvider()", + "file_type": "code", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L44", + "_origin": "ast", + "community": 0, + "norm_label": "themeprovider()", + "id": "frontend_src_hooks_usetheme_themeprovider", + "community_name": "Community 0" + }, + { + "label": "useTheme()", + "file_type": "code", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L99", + "_origin": "ast", + "community": 0, + "norm_label": "usetheme()", + "id": "frontend_src_hooks_usetheme_usetheme", + "community_name": "Community 0" + }, + { + "label": "useUndoRedo.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useUndoRedo.ts", + "source_location": "L1", + "_origin": "ast", + "community": 8, + "norm_label": "useundoredo.ts", + "id": "frontend_src_hooks_useundoredo", + "community_name": "Community 8" + }, + { + "label": "UndoRedoOptions", + "file_type": "code", + "source_file": "frontend/src/hooks/useUndoRedo.ts", + "source_location": "L3", + "_origin": "ast", + "community": 8, + "norm_label": "undoredooptions", + "id": "frontend_src_hooks_useundoredo_undoredooptions", + "community_name": "Community 8" + }, + { + "label": "UndoRedoControls", + "file_type": "code", + "source_file": "frontend/src/hooks/useUndoRedo.ts", + "source_location": "L8", + "_origin": "ast", + "community": 8, + "norm_label": "undoredocontrols", + "id": "frontend_src_hooks_useundoredo_undoredocontrols", + "community_name": "Community 8" + }, + { + "label": "useUndoRedo()", + "file_type": "code", + "source_file": "frontend/src/hooks/useUndoRedo.ts", + "source_location": "L29", + "_origin": "ast", + "community": 8, + "norm_label": "useundoredo()", + "id": "frontend_src_hooks_useundoredo_useundoredo", + "community_name": "Community 8" + }, + { + "label": "useWorkbenchData.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L1", + "_origin": "ast", + "community": 75, + "norm_label": "useworkbenchdata.ts", + "id": "frontend_src_hooks_useworkbenchdata", + "community_name": "Community 75" + }, + { + "label": "DecodedRoofMask", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L8", + "_origin": "ast", + "community": 75, + "norm_label": "decodedroofmask", + "id": "frontend_src_hooks_useworkbenchdata_decodedroofmask", + "community_name": "Community 75" + }, + { + "label": "decodeBase64()", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L15", + "_origin": "ast", + "community": 75, + "norm_label": "decodebase64()", + "id": "frontend_src_hooks_useworkbenchdata_decodebase64", + "community_name": "Community 75" + }, + { + "label": "useWorkbenchData()", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L35", + "_origin": "ast", + "community": 75, + "norm_label": "useworkbenchdata()", + "id": "frontend_src_hooks_useworkbenchdata_useworkbenchdata", + "community_name": "Community 75" + }, + { + "label": "useWorkbenchKeyboard.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchKeyboard.ts", + "source_location": "L1", + "_origin": "ast", + "community": 48, + "norm_label": "useworkbenchkeyboard.ts", + "id": "frontend_src_hooks_useworkbenchkeyboard", + "community_name": "Community 48" + }, + { + "label": "UseWorkbenchKeyboardOptions", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchKeyboard.ts", + "source_location": "L3", + "_origin": "ast", + "community": 48, + "norm_label": "useworkbenchkeyboardoptions", + "id": "frontend_src_hooks_useworkbenchkeyboard_useworkbenchkeyboardoptions", + "community_name": "Community 48" + }, + { + "label": "isTypingInElement()", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchKeyboard.ts", + "source_location": "L15", + "_origin": "ast", + "community": 48, + "norm_label": "istypinginelement()", + "id": "frontend_src_hooks_useworkbenchkeyboard_istypinginelement", + "community_name": "Community 48" + }, + { + "label": "useWorkbenchKeyboard()", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchKeyboard.ts", + "source_location": "L25", + "_origin": "ast", + "community": 48, + "norm_label": "useworkbenchkeyboard()", + "id": "frontend_src_hooks_useworkbenchkeyboard_useworkbenchkeyboard", + "community_name": "Community 48" + }, + { + "label": "useWorkbenchSave.ts", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L1", + "_origin": "ast", + "community": 27, + "norm_label": "useworkbenchsave.ts", + "id": "frontend_src_hooks_useworkbenchsave", + "community_name": "Community 27" + }, + { + "label": "UseWorkbenchSaveOptions", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L33", + "_origin": "ast", + "community": 27, + "norm_label": "useworkbenchsaveoptions", + "id": "frontend_src_hooks_useworkbenchsave_useworkbenchsaveoptions", + "community_name": "Community 27" + }, + { + "label": "useWorkbenchSave()", + "file_type": "code", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L48", + "_origin": "ast", + "community": 27, + "norm_label": "useworkbenchsave()", + "id": "frontend_src_hooks_useworkbenchsave_useworkbenchsave", + "community_name": "Community 27" + }, + { + "label": "analysis.test.ts", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 11, + "norm_label": "analysis.test.ts", + "id": "frontend_src_lib_tests_analysis_test", + "community_name": "Community 11" + }, + { + "label": "monthResult", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L17", + "_origin": "ast", + "community": 11, + "norm_label": "monthresult", + "id": "frontend_src_lib_tests_analysis_test_monthresult", + "community_name": "Community 11" + }, + { + "label": "baselineSimulation", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L349", + "_origin": "ast", + "community": 11, + "norm_label": "baselinesimulation", + "id": "frontend_src_lib_tests_analysis_test_baselinesimulation", + "community_name": "Community 11" + }, + { + "label": "billingEngine.test.ts", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/billingEngine.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 50, + "norm_label": "billingengine.test.ts", + "id": "frontend_src_lib_tests_billingengine_test", + "community_name": "Community 50" + }, + { + "label": "config", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/billingEngine.test.ts", + "source_location": "L12", + "_origin": "ast", + "community": 50, + "norm_label": "config", + "id": "frontend_src_lib_tests_billingengine_test_config", + "community_name": "Community 50" + }, + { + "label": "buildingInsights.test.ts", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/buildingInsights.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 8, + "norm_label": "buildinginsights.test.ts", + "id": "frontend_src_lib_tests_buildinginsights_test", + "community_name": "Community 8" + }, + { + "label": "canvasTransforms.test.ts", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 1, + "norm_label": "canvastransforms.test.ts", + "id": "frontend_src_lib_tests_canvastransforms_test", + "community_name": "Community 1" + }, + { + "label": "imageGeoTransform", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L16", + "_origin": "ast", + "community": 1, + "norm_label": "imagegeotransform", + "id": "frontend_src_lib_tests_canvastransforms_test_imagegeotransform", + "community_name": "Community 1" + }, + { + "label": "costModel.test.ts", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/costModel.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 56, + "norm_label": "costmodel.test.ts", + "id": "frontend_src_lib_tests_costmodel_test", + "community_name": "Community 56" + }, + { + "label": "projectStatus.test.ts", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/projectStatus.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 55, + "norm_label": "projectstatus.test.ts", + "id": "frontend_src_lib_tests_projectstatus_test", + "community_name": "Community 55" + }, + { + "label": "ALL_STATUSES", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/projectStatus.test.ts", + "source_location": "L10", + "_origin": "ast", + "community": 55, + "norm_label": "all_statuses", + "id": "frontend_src_lib_tests_projectstatus_test_all_statuses", + "community_name": "Community 55" + }, + { + "label": "snapAlignment.test.ts", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 1, + "norm_label": "snapalignment.test.ts", + "id": "frontend_src_lib_tests_snapalignment_test", + "community_name": "Community 1" + }, + { + "label": "snap()", + "file_type": "code", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L9", + "_origin": "ast", + "community": 1, + "norm_label": "snap()", + "id": "frontend_src_lib_tests_snapalignment_test_snap", + "community_name": "Community 1" + }, + { + "label": "analysis.ts", + "file_type": "code", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L1", + "_origin": "ast", + "community": 11, + "norm_label": "analysis.ts", + "id": "frontend_src_lib_analysis", + "community_name": "Community 11" + }, + { + "label": "ANALYSIS_DISCLAIMER_KEYS", + "file_type": "code", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L45", + "_origin": "ast", + "community": 0, + "norm_label": "analysis_disclaimer_keys", + "id": "frontend_src_lib_analysis_analysis_disclaimer_keys", + "community_name": "Community 0" + }, + { + "label": "AnalysisDisclaimerKey", + "file_type": "code", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L56", + "_origin": "ast", + "community": 11, + "norm_label": "analysisdisclaimerkey", + "id": "frontend_src_lib_analysis_analysisdisclaimerkey", + "community_name": "Community 11" + }, + { + "label": "config.ts", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L1", + "_origin": "ast", + "community": 49, + "norm_label": "config.ts", + "id": "frontend_src_lib_analysis_config", + "community_name": "Community 49" + }, + { + "label": "ConnectionPhase", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L4", + "_origin": "ast", + "community": 49, + "norm_label": "connectionphase", + "id": "frontend_src_lib_analysis_config_connectionphase", + "community_name": "Community 49" + }, + { + "label": "AnalysisMode", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L7", + "_origin": "ast", + "community": 11, + "norm_label": "analysismode", + "id": "frontend_src_lib_analysis_config_analysismode", + "community_name": "Community 11" + }, + { + "label": "ConsumptionProfile", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L10", + "_origin": "ast", + "community": 29, + "norm_label": "consumptionprofile", + "id": "frontend_src_lib_analysis_config_consumptionprofile", + "community_name": "Community 29" + }, + { + "label": "InverterReplacement", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L13", + "_origin": "ast", + "community": 0, + "norm_label": "inverterreplacement", + "id": "frontend_src_lib_analysis_config_inverterreplacement", + "community_name": "Community 0" + }, + { + "label": "DEFAULT_INVERTER_REPLACEMENT", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L22", + "_origin": "ast", + "community": 12, + "norm_label": "default_inverter_replacement", + "id": "frontend_src_lib_analysis_config_default_inverter_replacement", + "community_name": "Community 12" + }, + { + "label": "AnalysisConfig", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L25", + "_origin": "ast", + "community": 49, + "norm_label": "analysisconfig", + "id": "frontend_src_lib_analysis_config_analysisconfig", + "community_name": "Community 49" + }, + { + "label": "round2()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L46", + "_origin": "ast", + "community": 49, + "norm_label": "round2()", + "id": "frontend_src_lib_analysis_config_round2", + "community_name": "Community 49" + }, + { + "label": "isRecord()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L50", + "_origin": "ast", + "community": 49, + "norm_label": "isrecord()", + "id": "frontend_src_lib_analysis_config_isrecord", + "community_name": "Community 49" + }, + { + "label": "getNumber()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L54", + "_origin": "ast", + "community": 49, + "norm_label": "getnumber()", + "id": "frontend_src_lib_analysis_config_getnumber", + "community_name": "Community 49" + }, + { + "label": "getConnectionPhase()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L58", + "_origin": "ast", + "community": 49, + "norm_label": "getconnectionphase()", + "id": "frontend_src_lib_analysis_config_getconnectionphase", + "community_name": "Community 49" + }, + { + "label": "getRoofType()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L62", + "_origin": "ast", + "community": 49, + "norm_label": "getrooftype()", + "id": "frontend_src_lib_analysis_config_getrooftype", + "community_name": "Community 49" + }, + { + "label": "getConsumptionProfile()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L66", + "_origin": "ast", + "community": 49, + "norm_label": "getconsumptionprofile()", + "id": "frontend_src_lib_analysis_config_getconsumptionprofile", + "community_name": "Community 49" + }, + { + "label": "TARIFF_RATE_KEYS", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L70", + "_origin": "ast", + "community": 49, + "norm_label": "tariff_rate_keys", + "id": "frontend_src_lib_analysis_config_tariff_rate_keys", + "community_name": "Community 49" + }, + { + "label": "getTariffRatesOverride()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L81", + "_origin": "ast", + "community": 49, + "norm_label": "gettariffratesoverride()", + "id": "frontend_src_lib_analysis_config_gettariffratesoverride", + "community_name": "Community 49" + }, + { + "label": "parseInverterReplacements()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L93", + "_origin": "ast", + "community": 49, + "norm_label": "parseinverterreplacements()", + "id": "frontend_src_lib_analysis_config_parseinverterreplacements", + "community_name": "Community 49" + }, + { + "label": "parseSavedAnalysisConfig()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L128", + "_origin": "ast", + "community": 49, + "norm_label": "parsesavedanalysisconfig()", + "id": "frontend_src_lib_analysis_config_parsesavedanalysisconfig", + "community_name": "Community 49" + }, + { + "label": "presentation.ts", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L1", + "_origin": "ast", + "community": 29, + "norm_label": "presentation.ts", + "id": "frontend_src_lib_analysis_presentation", + "community_name": "Community 29" + }, + { + "label": "MONTH_LABELS", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L7", + "_origin": "ast", + "community": 0, + "norm_label": "month_labels", + "id": "frontend_src_lib_analysis_presentation_month_labels", + "community_name": "Community 0" + }, + { + "label": "SEASONAL_MULTIPLIERS", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L14", + "_origin": "ast", + "community": 29, + "norm_label": "seasonal_multipliers", + "id": "frontend_src_lib_analysis_presentation_seasonal_multipliers", + "community_name": "Community 29" + }, + { + "label": "AnalysisChartDataPoint", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L19", + "_origin": "ast", + "community": 11, + "norm_label": "analysischartdatapoint", + "id": "frontend_src_lib_analysis_presentation_analysischartdatapoint", + "community_name": "Community 11" + }, + { + "label": "LayoutOrientationSummary", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L27", + "_origin": "ast", + "community": 11, + "norm_label": "layoutorientationsummary", + "id": "frontend_src_lib_analysis_presentation_layoutorientationsummary", + "community_name": "Community 11" + }, + { + "label": "round2()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L35", + "_origin": "ast", + "community": 29, + "norm_label": "round2()", + "id": "frontend_src_lib_analysis_presentation_round2", + "community_name": "Community 29" + }, + { + "label": "applySeasonalProfile()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L45", + "_origin": "ast", + "community": 29, + "norm_label": "applyseasonalprofile()", + "id": "frontend_src_lib_analysis_presentation_applyseasonalprofile", + "community_name": "Community 29" + }, + { + "label": "aggregateMonthlyGeneration()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L55", + "_origin": "ast", + "community": 29, + "norm_label": "aggregatemonthlygeneration()", + "id": "frontend_src_lib_analysis_presentation_aggregatemonthlygeneration", + "community_name": "Community 29" + }, + { + "label": "COMPASS_8", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L67", + "_origin": "ast", + "community": 29, + "norm_label": "compass_8", + "id": "frontend_src_lib_analysis_presentation_compass_8", + "community_name": "Community 29" + }, + { + "label": "azimuthToCompass()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L75", + "_origin": "ast", + "community": 0, + "norm_label": "azimuthtocompass()", + "id": "frontend_src_lib_analysis_presentation_azimuthtocompass", + "community_name": "Community 0" + }, + { + "label": "summarizeLayoutOrientation()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L88", + "_origin": "ast", + "community": 11, + "norm_label": "summarizelayoutorientation()", + "id": "frontend_src_lib_analysis_presentation_summarizelayoutorientation", + "community_name": "Community 11" + }, + { + "label": "applyPerformanceRatio()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L153", + "_origin": "ast", + "community": 29, + "norm_label": "applyperformanceratio()", + "id": "frontend_src_lib_analysis_presentation_applyperformanceratio", + "community_name": "Community 29" + }, + { + "label": "buildMonthlyBillChartData()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L164", + "_origin": "ast", + "community": 29, + "norm_label": "buildmonthlybillchartdata()", + "id": "frontend_src_lib_analysis_presentation_buildmonthlybillchartdata", + "community_name": "Community 29" + }, + { + "label": "isSeasonalProfile()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L185", + "_origin": "ast", + "community": 11, + "norm_label": "isseasonalprofile()", + "id": "frontend_src_lib_analysis_presentation_isseasonalprofile", + "community_name": "Community 11" + }, + { + "label": "projections.ts", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L1", + "_origin": "ast", + "community": 11, + "norm_label": "projections.ts", + "id": "frontend_src_lib_analysis_projections", + "community_name": "Community 11" + }, + { + "label": "NetBenefitPoint", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L4", + "_origin": "ast", + "community": 11, + "norm_label": "netbenefitpoint", + "id": "frontend_src_lib_analysis_projections_netbenefitpoint", + "community_name": "Community 11" + }, + { + "label": "round2()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L12", + "_origin": "ast", + "community": 11, + "norm_label": "round2()", + "id": "frontend_src_lib_analysis_projections_round2", + "community_name": "Community 11" + }, + { + "label": "computeDegradedSavings()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L26", + "_origin": "ast", + "community": 11, + "norm_label": "computedegradedsavings()", + "id": "frontend_src_lib_analysis_projections_computedegradedsavings", + "community_name": "Community 11" + }, + { + "label": "normalizeInverterReplacements()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L49", + "_origin": "ast", + "community": 11, + "norm_label": "normalizeinverterreplacements()", + "id": "frontend_src_lib_analysis_projections_normalizeinverterreplacements", + "community_name": "Community 11" + }, + { + "label": "buildNetBenefitSeries()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L88", + "_origin": "ast", + "community": 11, + "norm_label": "buildnetbenefitseries()", + "id": "frontend_src_lib_analysis_projections_buildnetbenefitseries", + "community_name": "Community 11" + }, + { + "label": "results.ts", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L1", + "_origin": "ast", + "community": 11, + "norm_label": "results.ts", + "id": "frontend_src_lib_analysis_results", + "community_name": "Community 11" + }, + { + "label": "AnalysisResultsRecord", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L11", + "_origin": "ast", + "community": 0, + "norm_label": "analysisresultsrecord", + "id": "frontend_src_lib_analysis_results_analysisresultsrecord", + "community_name": "Community 0" + }, + { + "label": "NemFit", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L37", + "_origin": "ast", + "community": 11, + "norm_label": "nemfit", + "id": "frontend_src_lib_analysis_results_nemfit", + "community_name": "Community 11" + }, + { + "label": "NemFitClassification", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L40", + "_origin": "ast", + "community": 11, + "norm_label": "nemfitclassification", + "id": "frontend_src_lib_analysis_results_nemfitclassification", + "community_name": "Community 11" + }, + { + "label": "NemFitMetrics", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L49", + "_origin": "ast", + "community": 11, + "norm_label": "nemfitmetrics", + "id": "frontend_src_lib_analysis_results_nemfitmetrics", + "community_name": "Community 11" + }, + { + "label": "round2()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L60", + "_origin": "ast", + "community": 11, + "norm_label": "round2()", + "id": "frontend_src_lib_analysis_results_round2", + "community_name": "Community 11" + }, + { + "label": "computeNemFitMetrics()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L70", + "_origin": "ast", + "community": 11, + "norm_label": "computenemfitmetrics()", + "id": "frontend_src_lib_analysis_results_computenemfitmetrics", + "community_name": "Community 11" + }, + { + "label": "classifyNemFit()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L103", + "_origin": "ast", + "community": 11, + "norm_label": "classifynemfit()", + "id": "frontend_src_lib_analysis_results_classifynemfit", + "community_name": "Community 11" + }, + { + "label": "computeSimplePaybackYears()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L123", + "_origin": "ast", + "community": 11, + "norm_label": "computesimplepaybackyears()", + "id": "frontend_src_lib_analysis_results_computesimplepaybackyears", + "community_name": "Community 11" + }, + { + "label": "computeLifecyclePaybackYears()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L145", + "_origin": "ast", + "community": 11, + "norm_label": "computelifecyclepaybackyears()", + "id": "frontend_src_lib_analysis_results_computelifecyclepaybackyears", + "community_name": "Community 11" + }, + { + "label": "buildAnalysisResults()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L196", + "_origin": "ast", + "community": 11, + "norm_label": "buildanalysisresults()", + "id": "frontend_src_lib_analysis_results_buildanalysisresults", + "community_name": "Community 11" + }, + { + "label": "buildThresholdWarnings()", + "file_type": "code", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L302", + "_origin": "ast", + "community": 29, + "norm_label": "buildthresholdwarnings()", + "id": "frontend_src_lib_analysis_results_buildthresholdwarnings", + "community_name": "Community 29" + }, + { + "label": "billingEngine.ts", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L1", + "_origin": "ast", + "community": 50, + "norm_label": "billingengine.ts", + "id": "frontend_src_lib_billingengine", + "community_name": "Community 50" + }, + { + "label": "BillBreakdown", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L4", + "_origin": "ast", + "community": 50, + "norm_label": "billbreakdown", + "id": "frontend_src_lib_billingengine_billbreakdown", + "community_name": "Community 50" + }, + { + "label": "NemMonthResult", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L19", + "_origin": "ast", + "community": 11, + "norm_label": "nemmonthresult", + "id": "frontend_src_lib_billingengine_nemmonthresult", + "community_name": "Community 11" + }, + { + "label": "AnnualSimulationResult", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L33", + "_origin": "ast", + "community": 11, + "norm_label": "annualsimulationresult", + "id": "frontend_src_lib_billingengine_annualsimulationresult", + "community_name": "Community 11" + }, + { + "label": "BillingConfig", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L44", + "_origin": "ast", + "community": 50, + "norm_label": "billingconfig", + "id": "frontend_src_lib_billingengine_billingconfig", + "community_name": "Community 50" + }, + { + "label": "round2()", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L51", + "_origin": "ast", + "community": 50, + "norm_label": "round2()", + "id": "frontend_src_lib_billingengine_round2", + "community_name": "Community 50" + }, + { + "label": "round5sen()", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L55", + "_origin": "ast", + "community": 50, + "norm_label": "round5sen()", + "id": "frontend_src_lib_billingengine_round5sen", + "community_name": "Community 50" + }, + { + "label": "lookupEeiRebate()", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L67", + "_origin": "ast", + "community": 50, + "norm_label": "lookupeeirebate()", + "id": "frontend_src_lib_billingengine_lookupeeirebate", + "community_name": "Community 50" + }, + { + "label": "computeBill()", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L84", + "_origin": "ast", + "community": 50, + "norm_label": "computebill()", + "id": "frontend_src_lib_billingengine_computebill", + "community_name": "Community 50" + }, + { + "label": "computeNemMonth()", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L161", + "_origin": "ast", + "community": 50, + "norm_label": "computenemmonth()", + "id": "frontend_src_lib_billingengine_computenemmonth", + "community_name": "Community 50" + }, + { + "label": "runAnnualSimulation()", + "file_type": "code", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L224", + "_origin": "ast", + "community": 50, + "norm_label": "runannualsimulation()", + "id": "frontend_src_lib_billingengine_runannualsimulation", + "community_name": "Community 50" + }, + { + "label": "buildingInsights.ts", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L1", + "_origin": "ast", + "community": 8, + "norm_label": "buildinginsights.ts", + "id": "frontend_src_lib_buildinginsights", + "community_name": "Community 8" + }, + { + "label": "BoundingBox", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L4", + "_origin": "ast", + "community": 8, + "norm_label": "boundingbox", + "id": "frontend_src_lib_buildinginsights_boundingbox", + "community_name": "Community 8" + }, + { + "label": "RoofSegment", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L10", + "_origin": "ast", + "community": 8, + "norm_label": "roofsegment", + "id": "frontend_src_lib_buildinginsights_roofsegment", + "community_name": "Community 8" + }, + { + "label": "SolarPanel", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L16", + "_origin": "ast", + "community": 8, + "norm_label": "solarpanel", + "id": "frontend_src_lib_buildinginsights_solarpanel", + "community_name": "Community 8" + }, + { + "label": "ParsedBuildingInsights", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L25", + "_origin": "ast", + "community": 0, + "norm_label": "parsedbuildinginsights", + "id": "frontend_src_lib_buildinginsights_parsedbuildinginsights", + "community_name": "Community 0" + }, + { + "label": "isRecord()", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L39", + "_origin": "ast", + "community": 8, + "norm_label": "isrecord()", + "id": "frontend_src_lib_buildinginsights_isrecord", + "community_name": "Community 8" + }, + { + "label": "getNumber()", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L43", + "_origin": "ast", + "community": 8, + "norm_label": "getnumber()", + "id": "frontend_src_lib_buildinginsights_getnumber", + "community_name": "Community 8" + }, + { + "label": "getString()", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L47", + "_origin": "ast", + "community": 8, + "norm_label": "getstring()", + "id": "frontend_src_lib_buildinginsights_getstring", + "community_name": "Community 8" + }, + { + "label": "getCoordinate()", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L51", + "_origin": "ast", + "community": 8, + "norm_label": "getcoordinate()", + "id": "frontend_src_lib_buildinginsights_getcoordinate", + "community_name": "Community 8" + }, + { + "label": "getPanelCenter()", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L67", + "_origin": "ast", + "community": 8, + "norm_label": "getpanelcenter()", + "id": "frontend_src_lib_buildinginsights_getpanelcenter", + "community_name": "Community 8" + }, + { + "label": "parseBuildingInsights()", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L88", + "_origin": "ast", + "community": 8, + "norm_label": "parsebuildinginsights()", + "id": "frontend_src_lib_buildinginsights_parsebuildinginsights", + "community_name": "Community 8" + }, + { + "label": "parsePanelEdits()", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L168", + "_origin": "ast", + "community": 8, + "norm_label": "parsepaneledits()", + "id": "frontend_src_lib_buildinginsights_parsepaneledits", + "community_name": "Community 8" + }, + { + "label": "normalizeRotation()", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L204", + "_origin": "ast", + "community": 8, + "norm_label": "normalizerotation()", + "id": "frontend_src_lib_buildinginsights_normalizerotation", + "community_name": "Community 8" + }, + { + "label": "getInitialPanelRotation()", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L215", + "_origin": "ast", + "community": 8, + "norm_label": "getinitialpanelrotation()", + "id": "frontend_src_lib_buildinginsights_getinitialpanelrotation", + "community_name": "Community 8" + }, + { + "label": "annualEnergyFromMonthly()", + "file_type": "code", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L229", + "_origin": "ast", + "community": 8, + "norm_label": "annualenergyfrommonthly()", + "id": "frontend_src_lib_buildinginsights_annualenergyfrommonthly", + "community_name": "Community 8" + }, + { + "label": "canvasTransforms.ts", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L1", + "_origin": "ast", + "community": 1, + "norm_label": "canvastransforms.ts", + "id": "frontend_src_lib_canvastransforms", + "community_name": "Community 1" + }, + { + "label": "CanvasGeo", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L5", + "_origin": "ast", + "community": 1, + "norm_label": "canvasgeo", + "id": "frontend_src_lib_canvastransforms_canvasgeo", + "community_name": "Community 1" + }, + { + "label": "PixelPoint", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L13", + "_origin": "ast", + "community": 1, + "norm_label": "pixelpoint", + "id": "frontend_src_lib_canvastransforms_pixelpoint", + "community_name": "Community 1" + }, + { + "label": "RectAabb", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L19", + "_origin": "ast", + "community": 1, + "norm_label": "rectaabb", + "id": "frontend_src_lib_canvastransforms_rectaabb", + "community_name": "Community 1" + }, + { + "label": "RasterMask", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L27", + "_origin": "ast", + "community": 1, + "norm_label": "rastermask", + "id": "frontend_src_lib_canvastransforms_rastermask", + "community_name": "Community 1" + }, + { + "label": "createCanvasGeo()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L41", + "_origin": "ast", + "community": 1, + "norm_label": "createcanvasgeo()", + "id": "frontend_src_lib_canvastransforms_createcanvasgeo", + "community_name": "Community 1" + }, + { + "label": "latLngToPixel()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L63", + "_origin": "ast", + "community": 1, + "norm_label": "latlngtopixel()", + "id": "frontend_src_lib_canvastransforms_latlngtopixel", + "community_name": "Community 1" + }, + { + "label": "pixelToLatLng()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L82", + "_origin": "ast", + "community": 1, + "norm_label": "pixeltolatlng()", + "id": "frontend_src_lib_canvastransforms_pixeltolatlng", + "community_name": "Community 1" + }, + { + "label": "panelMetersToPixels()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L101", + "_origin": "ast", + "community": 1, + "norm_label": "panelmeterstopixels()", + "id": "frontend_src_lib_canvastransforms_panelmeterstopixels", + "community_name": "Community 1" + }, + { + "label": "getRotatedRectPoints()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L126", + "_origin": "ast", + "community": 1, + "norm_label": "getrotatedrectpoints()", + "id": "frontend_src_lib_canvastransforms_getrotatedrectpoints", + "community_name": "Community 1" + }, + { + "label": "getRectAabb()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L159", + "_origin": "ast", + "community": 1, + "norm_label": "getrectaabb()", + "id": "frontend_src_lib_canvastransforms_getrectaabb", + "community_name": "Community 1" + }, + { + "label": "aabbsOverlap()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L175", + "_origin": "ast", + "community": 1, + "norm_label": "aabbsoverlap()", + "id": "frontend_src_lib_canvastransforms_aabbsoverlap", + "community_name": "Community 1" + }, + { + "label": "satProjectionsOverlap()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L182", + "_origin": "ast", + "community": 1, + "norm_label": "satprojectionsoverlap()", + "id": "frontend_src_lib_canvastransforms_satprojectionsoverlap", + "community_name": "Community 1" + }, + { + "label": "getEdgeNormals()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L200", + "_origin": "ast", + "community": 1, + "norm_label": "getedgenormals()", + "id": "frontend_src_lib_canvastransforms_getedgenormals", + "community_name": "Community 1" + }, + { + "label": "obbsOverlap()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L221", + "_origin": "ast", + "community": 1, + "norm_label": "obbsoverlap()", + "id": "frontend_src_lib_canvastransforms_obbsoverlap", + "community_name": "Community 1" + }, + { + "label": "MinSeparationResult", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L230", + "_origin": "ast", + "community": 1, + "norm_label": "minseparationresult", + "id": "frontend_src_lib_canvastransforms_minseparationresult", + "community_name": "Community 1" + }, + { + "label": "obbsOverlapWithMinSeparation()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L243", + "_origin": "ast", + "community": 1, + "norm_label": "obbsoverlapwithminseparation()", + "id": "frontend_src_lib_canvastransforms_obbsoverlapwithminseparation", + "community_name": "Community 1" + }, + { + "label": "isAabbInsideStage()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L289", + "_origin": "ast", + "community": 1, + "norm_label": "isaabbinsidestage()", + "id": "frontend_src_lib_canvastransforms_isaabbinsidestage", + "community_name": "Community 1" + }, + { + "label": "pointInPolygon()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L301", + "_origin": "ast", + "community": 1, + "norm_label": "pointinpolygon()", + "id": "frontend_src_lib_canvastransforms_pointinpolygon", + "community_name": "Community 1" + }, + { + "label": "isPolygonInsideRasterMask()", + "file_type": "code", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L328", + "_origin": "ast", + "community": 1, + "norm_label": "ispolygoninsiderastermask()", + "id": "frontend_src_lib_canvastransforms_ispolygoninsiderastermask", + "community_name": "Community 1" + }, + { + "label": "constants.ts", + "file_type": "code", + "source_file": "frontend/src/lib/constants.ts", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "constants.ts", + "id": "frontend_src_lib_constants", + "community_name": "Community 0" + }, + { + "label": "COLORS", + "file_type": "code", + "source_file": "frontend/src/lib/constants.ts", + "source_location": "L2", + "_origin": "ast", + "community": 0, + "norm_label": "colors", + "id": "frontend_src_lib_constants_colors", + "community_name": "Community 0" + }, + { + "label": "ThemeMode", + "file_type": "code", + "source_file": "frontend/src/lib/constants.ts", + "source_location": "L27", + "_origin": "ast", + "community": 0, + "norm_label": "thememode", + "id": "frontend_src_lib_constants_thememode", + "community_name": "Community 0" + }, + { + "label": "getChartTooltipStyle()", + "file_type": "code", + "source_file": "frontend/src/lib/constants.ts", + "source_location": "L35", + "_origin": "ast", + "community": 0, + "norm_label": "getcharttooltipstyle()", + "id": "frontend_src_lib_constants_getcharttooltipstyle", + "community_name": "Community 0" + }, + { + "label": "CHART_TOOLTIP_STYLE", + "file_type": "code", + "source_file": "frontend/src/lib/constants.ts", + "source_location": "L58", + "_origin": "ast", + "community": 0, + "norm_label": "chart_tooltip_style", + "id": "frontend_src_lib_constants_chart_tooltip_style", + "community_name": "Community 0" + }, + { + "label": "lib/formatters.ts", + "file_type": "code", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "lib/formatters.ts", + "id": "frontend_src_lib_formatters", + "community_name": "Community 0" + }, + { + "label": "currencyFormatter", + "file_type": "code", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "currencyformatter", + "id": "frontend_src_lib_formatters_currencyformatter", + "community_name": "Community 0" + }, + { + "label": "numberFormatter", + "file_type": "code", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L7", + "_origin": "ast", + "community": 0, + "norm_label": "numberformatter", + "id": "frontend_src_lib_formatters_numberformatter", + "community_name": "Community 0" + }, + { + "label": "formatCurrency()", + "file_type": "code", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L17", + "_origin": "ast", + "community": 0, + "norm_label": "formatcurrency()", + "id": "frontend_src_lib_formatters_formatcurrency", + "community_name": "Community 0" + }, + { + "label": "formatNumber()", + "file_type": "code", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L28", + "_origin": "ast", + "community": 0, + "norm_label": "formatnumber()", + "id": "frontend_src_lib_formatters_formatnumber", + "community_name": "Community 0" + }, + { + "label": "formatTooltipCurrency()", + "file_type": "code", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L40", + "_origin": "ast", + "community": 0, + "norm_label": "formattooltipcurrency()", + "id": "frontend_src_lib_formatters_formattooltipcurrency", + "community_name": "Community 0" + }, + { + "label": "BILL_TOOLTIPS", + "file_type": "code", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L54", + "_origin": "ast", + "community": 0, + "norm_label": "bill_tooltips", + "id": "frontend_src_lib_formatters_bill_tooltips", + "community_name": "Community 0" + }, + { + "label": "NEM_TOOLTIPS", + "file_type": "code", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L66", + "_origin": "ast", + "community": 0, + "norm_label": "nem_tooltips", + "id": "frontend_src_lib_formatters_nem_tooltips", + "community_name": "Community 0" + }, + { + "label": "i18n.ts", + "file_type": "code", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L1", + "_origin": "ast", + "community": 61, + "norm_label": "i18n.ts", + "id": "frontend_src_lib_i18n", + "community_name": "Community 61" + }, + { + "label": "SUPPORTED_LOCALES", + "file_type": "code", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L54", + "_origin": "ast", + "community": 61, + "norm_label": "supported_locales", + "id": "frontend_src_lib_i18n_supported_locales", + "community_name": "Community 61" + }, + { + "label": "SupportedLocale", + "file_type": "code", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L57", + "_origin": "ast", + "community": 61, + "norm_label": "supportedlocale", + "id": "frontend_src_lib_i18n_supportedlocale", + "community_name": "Community 61" + }, + { + "label": "LOCALE_LABELS", + "file_type": "code", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L66", + "_origin": "ast", + "community": 61, + "norm_label": "locale_labels", + "id": "frontend_src_lib_i18n_locale_labels", + "community_name": "Community 61" + }, + { + "label": "LOCALE_TO_INTL", + "file_type": "code", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L76", + "_origin": "ast", + "community": 61, + "norm_label": "locale_to_intl", + "id": "frontend_src_lib_i18n_locale_to_intl", + "community_name": "Community 61" + }, + { + "label": "resources", + "file_type": "code", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L82", + "_origin": "ast", + "community": 61, + "norm_label": "resources", + "id": "frontend_src_lib_i18n_resources", + "community_name": "Community 61" + }, + { + "label": "isSupportedLocale()", + "file_type": "code", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L142", + "_origin": "ast", + "community": 38, + "norm_label": "issupportedlocale()", + "id": "frontend_src_lib_i18n_issupportedlocale", + "community_name": "Community 38" + }, + { + "label": "layoutPreset.test.ts", + "file_type": "code", + "source_file": "frontend/src/lib/layoutPreset.test.ts", + "source_location": "L1", + "_origin": "ast", + "community": 48, + "norm_label": "layoutpreset.test.ts", + "id": "frontend_src_lib_layoutpreset_test", + "community_name": "Community 48" + }, + { + "label": "panels()", + "file_type": "code", + "source_file": "frontend/src/lib/layoutPreset.test.ts", + "source_location": "L4", + "_origin": "ast", + "community": 48, + "norm_label": "panels()", + "id": "frontend_src_lib_layoutpreset_test_panels", + "community_name": "Community 48" + }, + { + "label": "layoutPreset.ts", + "file_type": "code", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L1", + "_origin": "ast", + "community": 14, + "norm_label": "layoutpreset.ts", + "id": "frontend_src_lib_layoutpreset", + "community_name": "Community 14" + }, + { + "label": "PanelYieldEntry", + "file_type": "code", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L26", + "_origin": "ast", + "community": 14, + "norm_label": "panelyieldentry", + "id": "frontend_src_lib_layoutpreset_panelyieldentry", + "community_name": "Community 14" + }, + { + "label": "RoofSegmentEntry", + "file_type": "code", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L32", + "_origin": "ast", + "community": 14, + "norm_label": "roofsegmententry", + "id": "frontend_src_lib_layoutpreset_roofsegmententry", + "community_name": "Community 14" + }, + { + "label": "SIZING_GOAL_OFFSET", + "file_type": "code", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L43", + "_origin": "ast", + "community": 14, + "norm_label": "sizing_goal_offset", + "id": "frontend_src_lib_layoutpreset_sizing_goal_offset", + "community_name": "Community 14" + }, + { + "label": "billRangeToAnnualKwh()", + "file_type": "code", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L57", + "_origin": "ast", + "community": 48, + "norm_label": "billrangetoannualkwh()", + "id": "frontend_src_lib_layoutpreset_billrangetoannualkwh", + "community_name": "Community 48" + }, + { + "label": "filterByDirection()", + "file_type": "code", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L62", + "_origin": "ast", + "community": 14, + "norm_label": "filterbydirection()", + "id": "frontend_src_lib_layoutpreset_filterbydirection", + "community_name": "Community 14" + }, + { + "label": "inferVisibleCount()", + "file_type": "code", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L88", + "_origin": "ast", + "community": 48, + "norm_label": "infervisiblecount()", + "id": "frontend_src_lib_layoutpreset_infervisiblecount", + "community_name": "Community 48" + }, + { + "label": "describeLayoutPreset()", + "file_type": "code", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L120", + "_origin": "ast", + "community": 48, + "norm_label": "describelayoutpreset()", + "id": "frontend_src_lib_layoutpreset_describelayoutpreset", + "community_name": "Community 48" + }, + { + "label": "notificationStore.ts", + "file_type": "code", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L1", + "_origin": "ast", + "community": 28, + "norm_label": "notificationstore.ts", + "id": "frontend_src_lib_notificationstore", + "community_name": "Community 28" + }, + { + "label": "loadNotifications()", + "file_type": "code", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L16", + "_origin": "ast", + "community": 28, + "norm_label": "loadnotifications()", + "id": "frontend_src_lib_notificationstore_loadnotifications", + "community_name": "Community 28" + }, + { + "label": "saveNotifications()", + "file_type": "code", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L28", + "_origin": "ast", + "community": 28, + "norm_label": "savenotifications()", + "id": "frontend_src_lib_notificationstore_savenotifications", + "community_name": "Community 28" + }, + { + "label": "Listener", + "file_type": "code", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L33", + "_origin": "ast", + "community": 28, + "norm_label": "listener", + "id": "frontend_src_lib_notificationstore_listener", + "community_name": "Community 28" + }, + { + "label": "notifications", + "file_type": "code", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L35", + "_origin": "ast", + "community": 28, + "norm_label": "notifications", + "id": "frontend_src_lib_notificationstore_notifications", + "community_name": "Community 28" + }, + { + "label": "listeners", + "file_type": "code", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L36", + "_origin": "ast", + "community": 28, + "norm_label": "listeners", + "id": "frontend_src_lib_notificationstore_listeners", + "community_name": "Community 28" + }, + { + "label": "emit()", + "file_type": "code", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L39", + "_origin": "ast", + "community": 28, + "norm_label": "emit()", + "id": "frontend_src_lib_notificationstore_emit", + "community_name": "Community 28" + }, + { + "label": "notificationStore", + "file_type": "code", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L48", + "_origin": "ast", + "community": 59, + "norm_label": "notificationstore", + "id": "frontend_src_lib_notificationstore_notificationstore", + "community_name": "Community 59" + }, + { + "label": "projectDraftStorage.ts", + "file_type": "code", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L1", + "_origin": "ast", + "community": 18, + "norm_label": "projectdraftstorage.ts", + "id": "frontend_src_lib_projectdraftstorage", + "community_name": "Community 18" + }, + { + "label": "NewProjectDraft", + "file_type": "code", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L2", + "_origin": "ast", + "community": 18, + "norm_label": "newprojectdraft", + "id": "frontend_src_lib_projectdraftstorage_newprojectdraft", + "community_name": "Community 18" + }, + { + "label": "canUseSessionStorage()", + "file_type": "code", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L10", + "_origin": "ast", + "community": 18, + "norm_label": "canusesessionstorage()", + "id": "frontend_src_lib_projectdraftstorage_canusesessionstorage", + "community_name": "Community 18" + }, + { + "label": "readNewProjectDraft()", + "file_type": "code", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L20", + "_origin": "ast", + "community": 18, + "norm_label": "readnewprojectdraft()", + "id": "frontend_src_lib_projectdraftstorage_readnewprojectdraft", + "community_name": "Community 18" + }, + { + "label": "writeNewProjectDraft()", + "file_type": "code", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L47", + "_origin": "ast", + "community": 18, + "norm_label": "writenewprojectdraft()", + "id": "frontend_src_lib_projectdraftstorage_writenewprojectdraft", + "community_name": "Community 18" + }, + { + "label": "clearNewProjectDraft()", + "file_type": "code", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L62", + "_origin": "ast", + "community": 18, + "norm_label": "clearnewprojectdraft()", + "id": "frontend_src_lib_projectdraftstorage_clearnewprojectdraft", + "community_name": "Community 18" + }, + { + "label": "projectStatus.ts", + "file_type": "code", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L1", + "_origin": "ast", + "community": 55, + "norm_label": "projectstatus.ts", + "id": "frontend_src_lib_projectstatus", + "community_name": "Community 55" + }, + { + "label": "BadgeVariant", + "file_type": "code", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L14", + "_origin": "ast", + "community": 55, + "norm_label": "badgevariant", + "id": "frontend_src_lib_projectstatus_badgevariant", + "community_name": "Community 55" + }, + { + "label": "StatusConfig", + "file_type": "code", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L17", + "_origin": "ast", + "community": 55, + "norm_label": "statusconfig", + "id": "frontend_src_lib_projectstatus_statusconfig", + "community_name": "Community 55" + }, + { + "label": "STATUS_CONFIGS", + "file_type": "code", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L24", + "_origin": "ast", + "community": 55, + "norm_label": "status_configs", + "id": "frontend_src_lib_projectstatus_status_configs", + "community_name": "Community 55" + }, + { + "label": "getProjectStatusConfig()", + "file_type": "code", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L50", + "_origin": "ast", + "community": 55, + "norm_label": "getprojectstatusconfig()", + "id": "frontend_src_lib_projectstatus_getprojectstatusconfig", + "community_name": "Community 55" + }, + { + "label": "getProjectStatusLabel()", + "file_type": "code", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L55", + "_origin": "ast", + "community": 55, + "norm_label": "getprojectstatuslabel()", + "id": "frontend_src_lib_projectstatus_getprojectstatuslabel", + "community_name": "Community 55" + }, + { + "label": "getProjectStatusVariant()", + "file_type": "code", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L60", + "_origin": "ast", + "community": 55, + "norm_label": "getprojectstatusvariant()", + "id": "frontend_src_lib_projectstatus_getprojectstatusvariant", + "community_name": "Community 55" + }, + { + "label": "getProjectStatusTooltip()", + "file_type": "code", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L65", + "_origin": "ast", + "community": 55, + "norm_label": "getprojectstatustooltip()", + "id": "frontend_src_lib_projectstatus_getprojectstatustooltip", + "community_name": "Community 55" + }, + { + "label": "recentProjectActivity.ts", + "file_type": "code", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L1", + "_origin": "ast", + "community": 81, + "norm_label": "recentprojectactivity.ts", + "id": "frontend_src_lib_recentprojectactivity", + "community_name": "Community 81" + }, + { + "label": "RecentProjectActivity", + "file_type": "code", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L4", + "_origin": "ast", + "community": 81, + "norm_label": "recentprojectactivity", + "id": "frontend_src_lib_recentprojectactivity_recentprojectactivity", + "community_name": "Community 81" + }, + { + "label": "readEntries()", + "file_type": "code", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L9", + "_origin": "ast", + "community": 81, + "norm_label": "readentries()", + "id": "frontend_src_lib_recentprojectactivity_readentries", + "community_name": "Community 81" + }, + { + "label": "markProjectVisited()", + "file_type": "code", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L26", + "_origin": "ast", + "community": 81, + "norm_label": "markprojectvisited()", + "id": "frontend_src_lib_recentprojectactivity_markprojectvisited", + "community_name": "Community 81" + }, + { + "label": "getProjectLastVisitedAt()", + "file_type": "code", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L41", + "_origin": "ast", + "community": 81, + "norm_label": "getprojectlastvisitedat()", + "id": "frontend_src_lib_recentprojectactivity_getprojectlastvisitedat", + "community_name": "Community 81" + }, + { + "label": "segmentVisualization.ts", + "file_type": "code", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L1", + "_origin": "ast", + "community": 1, + "norm_label": "segmentvisualization.ts", + "id": "frontend_src_lib_segmentvisualization", + "community_name": "Community 1" + }, + { + "label": "SegmentHull", + "file_type": "code", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L4", + "_origin": "ast", + "community": 1, + "norm_label": "segmenthull", + "id": "frontend_src_lib_segmentvisualization_segmenthull", + "community_name": "Community 1" + }, + { + "label": "azimuthColor()", + "file_type": "code", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L20", + "_origin": "ast", + "community": 1, + "norm_label": "azimuthcolor()", + "id": "frontend_src_lib_segmentvisualization_azimuthcolor", + "community_name": "Community 1" + }, + { + "label": "convexHull()", + "file_type": "code", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L46", + "_origin": "ast", + "community": 1, + "norm_label": "convexhull()", + "id": "frontend_src_lib_segmentvisualization_convexhull", + "community_name": "Community 1" + }, + { + "label": "computeSegmentHulls()", + "file_type": "code", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L93", + "_origin": "ast", + "community": 1, + "norm_label": "computesegmenthulls()", + "id": "frontend_src_lib_segmentvisualization_computesegmenthulls", + "community_name": "Community 1" + }, + { + "label": "snapAlignment.ts", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L1", + "_origin": "ast", + "community": 1, + "norm_label": "snapalignment.ts", + "id": "frontend_src_lib_snapalignment", + "community_name": "Community 1" + }, + { + "label": "SnapGuide", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L32", + "_origin": "ast", + "community": 1, + "norm_label": "snapguide", + "id": "frontend_src_lib_snapalignment_snapguide", + "community_name": "Community 1" + }, + { + "label": "SnapResult", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L40", + "_origin": "ast", + "community": 1, + "norm_label": "snapresult", + "id": "frontend_src_lib_snapalignment_snapresult", + "community_name": "Community 1" + }, + { + "label": "OverlapSnapResult", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L47", + "_origin": "ast", + "community": 1, + "norm_label": "overlapsnapresult", + "id": "frontend_src_lib_snapalignment_overlapsnapresult", + "community_name": "Community 1" + }, + { + "label": "Pose", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L49", + "_origin": "ast", + "community": 1, + "norm_label": "pose", + "id": "frontend_src_lib_snapalignment_pose", + "community_name": "Community 1" + }, + { + "label": "Translation", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L55", + "_origin": "ast", + "community": 1, + "norm_label": "translation", + "id": "frontend_src_lib_snapalignment_translation", + "community_name": "Community 1" + }, + { + "label": "OverlapEscapeResult", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L61", + "_origin": "ast", + "community": 1, + "norm_label": "overlapescaperesult", + "id": "frontend_src_lib_snapalignment_overlapescaperesult", + "community_name": "Community 1" + }, + { + "label": "PanelInfo", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L68", + "_origin": "ast", + "community": 1, + "norm_label": "panelinfo", + "id": "frontend_src_lib_snapalignment_panelinfo", + "community_name": "Community 1" + }, + { + "label": "SNAP_CONFIG", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L75", + "_origin": "ast", + "community": 1, + "norm_label": "snap_config", + "id": "frontend_src_lib_snapalignment_snap_config", + "community_name": "Community 1" + }, + { + "label": "computeSnap()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L99", + "_origin": "ast", + "community": 1, + "norm_label": "computesnap()", + "id": "frontend_src_lib_snapalignment_computesnap", + "community_name": "Community 1" + }, + { + "label": "computeOverlapSnap()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L181", + "_origin": "ast", + "community": 1, + "norm_label": "computeoverlapsnap()", + "id": "frontend_src_lib_snapalignment_computeoverlapsnap", + "community_name": "Community 1" + }, + { + "label": "normalizeVector()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L203", + "_origin": "ast", + "community": 1, + "norm_label": "normalizevector()", + "id": "frontend_src_lib_snapalignment_normalizevector", + "community_name": "Community 1" + }, + { + "label": "getPosePolygon()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L209", + "_origin": "ast", + "community": 1, + "norm_label": "getposepolygon()", + "id": "frontend_src_lib_snapalignment_getposepolygon", + "community_name": "Community 1" + }, + { + "label": "clampValue()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L213", + "_origin": "ast", + "community": 1, + "norm_label": "clampvalue()", + "id": "frontend_src_lib_snapalignment_clampvalue", + "community_name": "Community 1" + }, + { + "label": "clampTranslationToStage()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L218", + "_origin": "ast", + "community": 1, + "norm_label": "clamptranslationtostage()", + "id": "frontend_src_lib_snapalignment_clamptranslationtostage", + "community_name": "Community 1" + }, + { + "label": "needsStageClamp()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L237", + "_origin": "ast", + "community": 1, + "norm_label": "needsstageclamp()", + "id": "frontend_src_lib_snapalignment_needsstageclamp", + "community_name": "Community 1" + }, + { + "label": "hasOverlapAt()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L251", + "_origin": "ast", + "community": 1, + "norm_label": "hasoverlapat()", + "id": "frontend_src_lib_snapalignment_hasoverlapat", + "community_name": "Community 1" + }, + { + "label": "computeOverlapEscapeVector()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L277", + "_origin": "ast", + "community": 1, + "norm_label": "computeoverlapescapevector()", + "id": "frontend_src_lib_snapalignment_computeoverlapescapevector", + "community_name": "Community 1" + }, + { + "label": "resolveOverlapTranslation()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L387", + "_origin": "ast", + "community": 1, + "norm_label": "resolveoverlaptranslation()", + "id": "frontend_src_lib_snapalignment_resolveoverlaptranslation", + "community_name": "Community 1" + }, + { + "label": "resolveOverlapEscape()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L446", + "_origin": "ast", + "community": 1, + "norm_label": "resolveoverlapescape()", + "id": "frontend_src_lib_snapalignment_resolveoverlapescape", + "community_name": "Community 1" + }, + { + "label": "resolveGroupOverlapEscape()", + "file_type": "code", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L481", + "_origin": "ast", + "community": 1, + "norm_label": "resolvegroupoverlapescape()", + "id": "frontend_src_lib_snapalignment_resolvegroupoverlapescape", + "community_name": "Community 1" + }, + { + "label": "lib/supabase.ts", + "file_type": "code", + "source_file": "frontend/src/lib/supabase.ts", + "source_location": "L1", + "_origin": "ast", + "community": 38, + "norm_label": "lib/supabase.ts", + "id": "frontend_src_lib_supabase", + "community_name": "Community 38" + }, + { + "label": "getSupabase()", + "file_type": "code", + "source_file": "frontend/src/lib/supabase.ts", + "source_location": "L20", + "_origin": "ast", + "community": 38, + "norm_label": "getsupabase()", + "id": "frontend_src_lib_supabase_getsupabase", + "community_name": "Community 38" + }, + { + "label": "utils.ts", + "file_type": "code", + "source_file": "frontend/src/lib/utils.ts", + "source_location": "L1", + "_origin": "ast", + "community": 7, + "norm_label": "utils.ts", + "id": "frontend_src_lib_utils", + "community_name": "Community 7" + }, + { + "label": "cn()", + "file_type": "code", + "source_file": "frontend/src/lib/utils.ts", + "source_location": "L11", + "_origin": "ast", + "community": 7, + "norm_label": "cn()", + "id": "frontend_src_lib_utils_cn", + "community_name": "Community 7" + }, + { + "label": "handleMetrics.ts", + "file_type": "code", + "source_file": "frontend/src/lib/workbench/handleMetrics.ts", + "source_location": "L1", + "_origin": "ast", + "community": 20, + "norm_label": "handlemetrics.ts", + "id": "frontend_src_lib_workbench_handlemetrics", + "community_name": "Community 20" + }, + { + "label": "ROTATION_HANDLE_METRICS", + "file_type": "code", + "source_file": "frontend/src/lib/workbench/handleMetrics.ts", + "source_location": "L2", + "_origin": "ast", + "community": 20, + "norm_label": "rotation_handle_metrics", + "id": "frontend_src_lib_workbench_handlemetrics_rotation_handle_metrics", + "community_name": "Community 20" + }, + { + "label": "GROUP_ROTATION_HANDLE_METRICS", + "file_type": "code", + "source_file": "frontend/src/lib/workbench/handleMetrics.ts", + "source_location": "L8", + "_origin": "ast", + "community": 20, + "norm_label": "group_rotation_handle_metrics", + "id": "frontend_src_lib_workbench_handlemetrics_group_rotation_handle_metrics", + "community_name": "Community 20" + }, + { + "label": "roofDirection.ts", + "file_type": "code", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L1", + "_origin": "ast", + "community": 14, + "norm_label": "roofdirection.ts", + "id": "frontend_src_lib_workbench_roofdirection", + "community_name": "Community 14" + }, + { + "label": "SegmentWithAzimuth", + "file_type": "code", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L3", + "_origin": "ast", + "community": 14, + "norm_label": "segmentwithazimuth", + "id": "frontend_src_lib_workbench_roofdirection_segmentwithazimuth", + "community_name": "Community 14" + }, + { + "label": "ROOF_DIRECTION_WINDOWS", + "file_type": "code", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L7", + "_origin": "ast", + "community": 14, + "norm_label": "roof_direction_windows", + "id": "frontend_src_lib_workbench_roofdirection_roof_direction_windows", + "community_name": "Community 14" + }, + { + "label": "azimuthMatchesRoofDirection()", + "file_type": "code", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L23", + "_origin": "ast", + "community": 14, + "norm_label": "azimuthmatchesroofdirection()", + "id": "frontend_src_lib_workbench_roofdirection_azimuthmatchesroofdirection", + "community_name": "Community 14" + }, + { + "label": "segmentMatchesRoofDirection()", + "file_type": "code", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L37", + "_origin": "ast", + "community": 14, + "norm_label": "segmentmatchesroofdirection()", + "id": "frontend_src_lib_workbench_roofdirection_segmentmatchesroofdirection", + "community_name": "Community 14" + }, + { + "label": "workbenchTour.ts", + "file_type": "code", + "source_file": "frontend/src/lib/workbenchTour.ts", + "source_location": "L1", + "_origin": "ast", + "community": 74, + "norm_label": "workbenchtour.ts", + "id": "frontend_src_lib_workbenchtour", + "community_name": "Community 74" + }, + { + "label": "getWorkbenchTourSteps()", + "file_type": "code", + "source_file": "frontend/src/lib/workbenchTour.ts", + "source_location": "L18", + "_origin": "ast", + "community": 74, + "norm_label": "getworkbenchtoursteps()", + "id": "frontend_src_lib_workbenchtour_getworkbenchtoursteps", + "community_name": "Community 74" + }, + { + "label": "main.tsx", + "file_type": "code", + "source_file": "frontend/src/main.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 38, + "norm_label": "main.tsx", + "id": "frontend_src_main", + "community_name": "Community 38" + }, + { + "label": "queryClient", + "file_type": "code", + "source_file": "frontend/src/main.tsx", + "source_location": "L39", + "_origin": "ast", + "community": 38, + "norm_label": "queryclient", + "id": "frontend_src_main_queryclient", + "community_name": "Community 38" + }, + { + "label": "AnalysisPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "analysispage.tsx", + "id": "frontend_src_pages_analysispage", + "community_name": "Community 0" + }, + { + "label": "buildSavePayload()", + "file_type": "code", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L51", + "_origin": "ast", + "community": 0, + "norm_label": "buildsavepayload()", + "id": "frontend_src_pages_analysispage_buildsavepayload", + "community_name": "Community 0" + }, + { + "label": "AnalysisPage()", + "file_type": "code", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L62", + "_origin": "ast", + "community": 0, + "norm_label": "analysispage()", + "id": "frontend_src_pages_analysispage_analysispage", + "community_name": "Community 0" + }, + { + "label": "AnalyticsPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "analyticspage.tsx", + "id": "frontend_src_pages_analyticspage", + "community_name": "Community 0" + }, + { + "label": "ComparisonMetric", + "file_type": "code", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L27", + "_origin": "ast", + "community": 0, + "norm_label": "comparisonmetric", + "id": "frontend_src_pages_analyticspage_comparisonmetric", + "community_name": "Community 0" + }, + { + "label": "METRIC_FORMATTERS", + "file_type": "code", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L29", + "_origin": "ast", + "community": 0, + "norm_label": "metric_formatters", + "id": "frontend_src_pages_analyticspage_metric_formatters", + "community_name": "Community 0" + }, + { + "label": "AnalyticsPage()", + "file_type": "code", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L56", + "_origin": "ast", + "community": 0, + "norm_label": "analyticspage()", + "id": "frontend_src_pages_analyticspage_analyticspage", + "community_name": "Community 0" + }, + { + "label": "DashboardPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 23, + "norm_label": "dashboardpage.tsx", + "id": "frontend_src_pages_dashboardpage", + "community_name": "Community 23" + }, + { + "label": "getGreeting()", + "file_type": "code", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L34", + "_origin": "ast", + "community": 23, + "norm_label": "getgreeting()", + "id": "frontend_src_pages_dashboardpage_getgreeting", + "community_name": "Community 23" + }, + { + "label": "formatResetTime()", + "file_type": "code", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L42", + "_origin": "ast", + "community": 23, + "norm_label": "formatresettime()", + "id": "frontend_src_pages_dashboardpage_formatresettime", + "community_name": "Community 23" + }, + { + "label": "DashboardPage()", + "file_type": "code", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L48", + "_origin": "ast", + "community": 23, + "norm_label": "dashboardpage()", + "id": "frontend_src_pages_dashboardpage_dashboardpage", + "community_name": "Community 23" + }, + { + "label": "FAQPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 12, + "norm_label": "faqpage.tsx", + "id": "frontend_src_pages_faqpage", + "community_name": "Community 12" + }, + { + "label": "FaqCategory", + "file_type": "code", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L21", + "_origin": "ast", + "community": 12, + "norm_label": "faqcategory", + "id": "frontend_src_pages_faqpage_faqcategory", + "community_name": "Community 12" + }, + { + "label": "FaqItem", + "file_type": "code", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L23", + "_origin": "ast", + "community": 12, + "norm_label": "faqitem", + "id": "frontend_src_pages_faqpage_faqitem", + "community_name": "Community 12" + }, + { + "label": "FAQ_IDS", + "file_type": "code", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L33", + "_origin": "ast", + "community": 12, + "norm_label": "faq_ids", + "id": "frontend_src_pages_faqpage_faq_ids", + "community_name": "Community 12" + }, + { + "label": "countWords()", + "file_type": "code", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L67", + "_origin": "ast", + "community": 12, + "norm_label": "countwords()", + "id": "frontend_src_pages_faqpage_countwords", + "community_name": "Community 12" + }, + { + "label": "FaqCard()", + "file_type": "code", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L71", + "_origin": "ast", + "community": 12, + "norm_label": "faqcard()", + "id": "frontend_src_pages_faqpage_faqcard", + "community_name": "Community 12" + }, + { + "label": "FAQPage()", + "file_type": "code", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L115", + "_origin": "ast", + "community": 12, + "norm_label": "faqpage()", + "id": "frontend_src_pages_faqpage_faqpage", + "community_name": "Community 12" + }, + { + "label": "LandingPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 35, + "norm_label": "landingpage.tsx", + "id": "frontend_src_pages_landingpage", + "community_name": "Community 35" + }, + { + "label": "LandingPage()", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L33", + "_origin": "ast", + "community": 35, + "norm_label": "landingpage()", + "id": "frontend_src_pages_landingpage_landingpage", + "community_name": "Community 35" + }, + { + "label": "useScrollY()", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L462", + "_origin": "ast", + "community": 35, + "norm_label": "usescrolly()", + "id": "frontend_src_pages_landingpage_usescrolly", + "community_name": "Community 35" + }, + { + "label": "HeroProfile", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L494", + "_origin": "ast", + "community": 35, + "norm_label": "heroprofile", + "id": "frontend_src_pages_landingpage_heroprofile", + "community_name": "Community 35" + }, + { + "label": "HERO_PROFILES", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L502", + "_origin": "ast", + "community": 35, + "norm_label": "hero_profiles", + "id": "frontend_src_pages_landingpage_hero_profiles", + "community_name": "Community 35" + }, + { + "label": "useHeroTicker()", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L540", + "_origin": "ast", + "community": 35, + "norm_label": "useheroticker()", + "id": "frontend_src_pages_landingpage_useheroticker", + "community_name": "Community 35" + }, + { + "label": "HeroSubtitle()", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L575", + "_origin": "ast", + "community": 35, + "norm_label": "herosubtitle()", + "id": "frontend_src_pages_landingpage_herosubtitle", + "community_name": "Community 35" + }, + { + "label": "TrustItem()", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L596", + "_origin": "ast", + "community": 35, + "norm_label": "trustitem()", + "id": "frontend_src_pages_landingpage_trustitem", + "community_name": "Community 35" + }, + { + "label": "PipelineStep", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L605", + "_origin": "ast", + "community": 35, + "norm_label": "pipelinestep", + "id": "frontend_src_pages_landingpage_pipelinestep", + "community_name": "Community 35" + }, + { + "label": "PipelineSection()", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L618", + "_origin": "ast", + "community": 35, + "norm_label": "pipelinesection()", + "id": "frontend_src_pages_landingpage_pipelinesection", + "community_name": "Community 35" + }, + { + "label": "PipelineMock()", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L777", + "_origin": "ast", + "community": 35, + "norm_label": "pipelinemock()", + "id": "frontend_src_pages_landingpage_pipelinemock", + "community_name": "Community 35" + }, + { + "label": "FeatureCard()", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L823", + "_origin": "ast", + "community": 35, + "norm_label": "featurecard()", + "id": "frontend_src_pages_landingpage_featurecard", + "community_name": "Community 35" + }, + { + "label": "FaqItem()", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L847", + "_origin": "ast", + "community": 35, + "norm_label": "faqitem()", + "id": "frontend_src_pages_landingpage_faqitem", + "community_name": "Community 35" + }, + { + "label": "PricingCard()", + "file_type": "code", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L871", + "_origin": "ast", + "community": 35, + "norm_label": "pricingcard()", + "id": "frontend_src_pages_landingpage_pricingcard", + "community_name": "Community 35" + }, + { + "label": "MapPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 18, + "norm_label": "mappage.tsx", + "id": "frontend_src_pages_mappage", + "community_name": "Community 18" + }, + { + "label": "Phase", + "file_type": "code", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L27", + "_origin": "ast", + "community": 18, + "norm_label": "phase", + "id": "frontend_src_pages_mappage_phase", + "community_name": "Community 18" + }, + { + "label": "MALAYSIA_CENTER", + "file_type": "code", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L33", + "_origin": "ast", + "community": 18, + "norm_label": "malaysia_center", + "id": "frontend_src_pages_mappage_malaysia_center", + "community_name": "Community 18" + }, + { + "label": "MY_BOUNDS", + "file_type": "code", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L35", + "_origin": "ast", + "community": 18, + "norm_label": "my_bounds", + "id": "frontend_src_pages_mappage_my_bounds", + "community_name": "Community 18" + }, + { + "label": "MapPage()", + "file_type": "code", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L38", + "_origin": "ast", + "community": 18, + "norm_label": "mappage()", + "id": "frontend_src_pages_mappage_mappage", + "community_name": "Community 18" + }, + { + "label": "NotFoundPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/NotFoundPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 39, + "norm_label": "notfoundpage.tsx", + "id": "frontend_src_pages_notfoundpage", + "community_name": "Community 39" + }, + { + "label": "NotFoundPage()", + "file_type": "code", + "source_file": "frontend/src/pages/NotFoundPage.tsx", + "source_location": "L12", + "_origin": "ast", + "community": 39, + "norm_label": "notfoundpage()", + "id": "frontend_src_pages_notfoundpage_notfoundpage", + "community_name": "Community 39" + }, + { + "label": "PdfPreviewPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 41, + "norm_label": "pdfpreviewpage.tsx", + "id": "frontend_src_pages_pdfpreviewpage", + "community_name": "Community 41" + }, + { + "label": "Window", + "file_type": "code", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 41, + "norm_label": "window", + "id": "frontend_src_pages_pdfpreviewpage_window", + "community_name": "Community 41" + }, + { + "label": "applyThemeFromParam()", + "file_type": "code", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L22", + "_origin": "ast", + "community": 41, + "norm_label": "applythemefromparam()", + "id": "frontend_src_pages_pdfpreviewpage_applythemefromparam", + "community_name": "Community 41" + }, + { + "label": "PdfPreviewPage()", + "file_type": "code", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L28", + "_origin": "ast", + "community": 41, + "norm_label": "pdfpreviewpage()", + "id": "frontend_src_pages_pdfpreviewpage_pdfpreviewpage", + "community_name": "Community 41" + }, + { + "label": "PrivacyPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 34, + "norm_label": "privacypage.tsx", + "id": "frontend_src_pages_privacypage", + "community_name": "Community 34" + }, + { + "label": "SECTION_ORDER", + "file_type": "code", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 34, + "norm_label": "section_order", + "id": "frontend_src_pages_privacypage_section_order", + "community_name": "Community 34" + }, + { + "label": "SectionKey", + "file_type": "code", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L29", + "_origin": "ast", + "community": 34, + "norm_label": "sectionkey", + "id": "frontend_src_pages_privacypage_sectionkey", + "community_name": "Community 34" + }, + { + "label": "Section", + "file_type": "code", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L30", + "_origin": "ast", + "community": 34, + "norm_label": "section", + "id": "frontend_src_pages_privacypage_section", + "community_name": "Community 34" + }, + { + "label": "PrivacyPage()", + "file_type": "code", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L33", + "_origin": "ast", + "community": 34, + "norm_label": "privacypage()", + "id": "frontend_src_pages_privacypage_privacypage", + "community_name": "Community 34" + }, + { + "label": "ProjectsPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 23, + "norm_label": "projectspage.tsx", + "id": "frontend_src_pages_projectspage", + "community_name": "Community 23" + }, + { + "label": "formatResetTime()", + "file_type": "code", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L44", + "_origin": "ast", + "community": 23, + "norm_label": "formatresettime()", + "id": "frontend_src_pages_projectspage_formatresettime", + "community_name": "Community 23" + }, + { + "label": "ProjectsPage()", + "file_type": "code", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L50", + "_origin": "ast", + "community": 23, + "norm_label": "projectspage()", + "id": "frontend_src_pages_projectspage_projectspage", + "community_name": "Community 23" + }, + { + "label": "SettingsPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 28, + "norm_label": "settingspage.tsx", + "id": "frontend_src_pages_settingspage", + "community_name": "Community 28" + }, + { + "label": "TOUR_KEYS", + "file_type": "code", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L20", + "_origin": "ast", + "community": 28, + "norm_label": "tour_keys", + "id": "frontend_src_pages_settingspage_tour_keys", + "community_name": "Community 28" + }, + { + "label": "SettingCard()", + "file_type": "code", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L23", + "_origin": "ast", + "community": 28, + "norm_label": "settingcard()", + "id": "frontend_src_pages_settingspage_settingcard", + "community_name": "Community 28" + }, + { + "label": "useNotifications()", + "file_type": "code", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L50", + "_origin": "ast", + "community": 28, + "norm_label": "usenotifications()", + "id": "frontend_src_pages_settingspage_usenotifications", + "community_name": "Community 28" + }, + { + "label": "SettingsPage()", + "file_type": "code", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L64", + "_origin": "ast", + "community": 28, + "norm_label": "settingspage()", + "id": "frontend_src_pages_settingspage_settingspage", + "community_name": "Community 28" + }, + { + "label": "SignInPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 44, + "norm_label": "signinpage.tsx", + "id": "frontend_src_pages_signinpage", + "community_name": "Community 44" + }, + { + "label": "SignInPage()", + "file_type": "code", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L23", + "_origin": "ast", + "community": 44, + "norm_label": "signinpage()", + "id": "frontend_src_pages_signinpage_signinpage", + "community_name": "Community 44" + }, + { + "label": "SignUpPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 39, + "norm_label": "signuppage.tsx", + "id": "frontend_src_pages_signuppage", + "community_name": "Community 39" + }, + { + "label": "SignUpPage()", + "file_type": "code", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L20", + "_origin": "ast", + "community": 19, + "norm_label": "signuppage()", + "id": "frontend_src_pages_signuppage_signuppage", + "community_name": "Community 19" + }, + { + "label": "WorkbenchPage.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 25, + "norm_label": "workbenchpage.tsx", + "id": "frontend_src_pages_workbenchpage", + "community_name": "Community 25" + }, + { + "label": "getPanelAnnualEnergy()", + "file_type": "code", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L50", + "_origin": "ast", + "community": 48, + "norm_label": "getpanelannualenergy()", + "id": "frontend_src_pages_workbenchpage_getpanelannualenergy", + "community_name": "Community 48" + }, + { + "label": "WorkbenchPage()", + "file_type": "code", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L55", + "_origin": "ast", + "community": 48, + "norm_label": "workbenchpage()", + "id": "frontend_src_pages_workbenchpage_workbenchpage", + "community_name": "Community 48" + }, + { + "label": "AnalysisPage.test.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 69, + "norm_label": "analysispage.test.tsx", + "id": "frontend_src_pages_tests_analysispage_test", + "community_name": "Community 69" + }, + { + "label": "navigateMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L6", + "_origin": "ast", + "community": 69, + "norm_label": "navigatemock", + "id": "frontend_src_pages_tests_analysispage_test_navigatemock", + "community_name": "Community 69" + }, + { + "label": "saveAnalysisMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L7", + "_origin": "ast", + "community": 69, + "norm_label": "saveanalysismock", + "id": "frontend_src_pages_tests_analysispage_test_saveanalysismock", + "community_name": "Community 69" + }, + { + "label": "handleExportPdfMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L8", + "_origin": "ast", + "community": 69, + "norm_label": "handleexportpdfmock", + "id": "frontend_src_pages_tests_analysispage_test_handleexportpdfmock", + "community_name": "Community 69" + }, + { + "label": "notifySuccessMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L9", + "_origin": "ast", + "community": 69, + "norm_label": "notifysuccessmock", + "id": "frontend_src_pages_tests_analysispage_test_notifysuccessmock", + "community_name": "Community 69" + }, + { + "label": "notifyErrorMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 69, + "norm_label": "notifyerrormock", + "id": "frontend_src_pages_tests_analysispage_test_notifyerrormock", + "community_name": "Community 69" + }, + { + "label": "markProjectVisitedMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 69, + "norm_label": "markprojectvisitedmock", + "id": "frontend_src_pages_tests_analysispage_test_markprojectvisitedmock", + "community_name": "Community 69" + }, + { + "label": "renderPage()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L177", + "_origin": "ast", + "community": 69, + "norm_label": "renderpage()", + "id": "frontend_src_pages_tests_analysispage_test_renderpage", + "community_name": "Community 69" + }, + { + "label": "AnalyticsPage.test.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalyticsPage.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 0, + "norm_label": "analyticspage.test.tsx", + "id": "frontend_src_pages_tests_analyticspage_test", + "community_name": "Community 0" + }, + { + "label": "navigateMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalyticsPage.test.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 0, + "norm_label": "navigatemock", + "id": "frontend_src_pages_tests_analyticspage_test_navigatemock", + "community_name": "Community 0" + }, + { + "label": "listProjectsMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalyticsPage.test.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 0, + "norm_label": "listprojectsmock", + "id": "frontend_src_pages_tests_analyticspage_test_listprojectsmock", + "community_name": "Community 0" + }, + { + "label": "renderPage()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/AnalyticsPage.test.tsx", + "source_location": "L94", + "_origin": "ast", + "community": 0, + "norm_label": "renderpage()", + "id": "frontend_src_pages_tests_analyticspage_test_renderpage", + "community_name": "Community 0" + }, + { + "label": "DashboardPage.test.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 76, + "norm_label": "dashboardpage.test.tsx", + "id": "frontend_src_pages_tests_dashboardpage_test", + "community_name": "Community 76" + }, + { + "label": "navigateMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 76, + "norm_label": "navigatemock", + "id": "frontend_src_pages_tests_dashboardpage_test_navigatemock", + "community_name": "Community 76" + }, + { + "label": "listProjectsMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 76, + "norm_label": "listprojectsmock", + "id": "frontend_src_pages_tests_dashboardpage_test_listprojectsmock", + "community_name": "Community 76" + }, + { + "label": "useAuthMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L12", + "_origin": "ast", + "community": 76, + "norm_label": "useauthmock", + "id": "frontend_src_pages_tests_dashboardpage_test_useauthmock", + "community_name": "Community 76" + }, + { + "label": "useQuotaMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L13", + "_origin": "ast", + "community": 76, + "norm_label": "usequotamock", + "id": "frontend_src_pages_tests_dashboardpage_test_usequotamock", + "community_name": "Community 76" + }, + { + "label": "renderPage()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L63", + "_origin": "ast", + "community": 76, + "norm_label": "renderpage()", + "id": "frontend_src_pages_tests_dashboardpage_test_renderpage", + "community_name": "Community 76" + }, + { + "label": "LandingPage.test.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/LandingPage.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 35, + "norm_label": "landingpage.test.tsx", + "id": "frontend_src_pages_tests_landingpage_test", + "community_name": "Community 35" + }, + { + "label": "useAuthMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/LandingPage.test.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 35, + "norm_label": "useauthmock", + "id": "frontend_src_pages_tests_landingpage_test_useauthmock", + "community_name": "Community 35" + }, + { + "label": "renderPage()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/LandingPage.test.tsx", + "source_location": "L30", + "_origin": "ast", + "community": 35, + "norm_label": "renderpage()", + "id": "frontend_src_pages_tests_landingpage_test_renderpage", + "community_name": "Community 35" + }, + { + "label": "MapPage.test.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 62, + "norm_label": "mappage.test.tsx", + "id": "frontend_src_pages_tests_mappage_test", + "community_name": "Community 62" + }, + { + "label": "navigateMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L13", + "_origin": "ast", + "community": 62, + "norm_label": "navigatemock", + "id": "frontend_src_pages_tests_mappage_test_navigatemock", + "community_name": "Community 62" + }, + { + "label": "resolveLocationMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L14", + "_origin": "ast", + "community": 62, + "norm_label": "resolvelocationmock", + "id": "frontend_src_pages_tests_mappage_test_resolvelocationmock", + "community_name": "Community 62" + }, + { + "label": "probeLocationMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L15", + "_origin": "ast", + "community": 62, + "norm_label": "probelocationmock", + "id": "frontend_src_pages_tests_mappage_test_probelocationmock", + "community_name": "Community 62" + }, + { + "label": "getLocationStatusMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L16", + "_origin": "ast", + "community": 62, + "norm_label": "getlocationstatusmock", + "id": "frontend_src_pages_tests_mappage_test_getlocationstatusmock", + "community_name": "Community 62" + }, + { + "label": "getProjectMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L17", + "_origin": "ast", + "community": 62, + "norm_label": "getprojectmock", + "id": "frontend_src_pages_tests_mappage_test_getprojectmock", + "community_name": "Community 62" + }, + { + "label": "createProjectMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L18", + "_origin": "ast", + "community": 62, + "norm_label": "createprojectmock", + "id": "frontend_src_pages_tests_mappage_test_createprojectmock", + "community_name": "Community 62" + }, + { + "label": "constructor()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L50", + "_origin": "ast", + "community": 62, + "norm_label": "constructor()", + "id": "frontend_src_pages_tests_mappage_test_constructor", + "community_name": "Community 62" + }, + { + "label": "renderPage()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L95", + "_origin": "ast", + "community": 62, + "norm_label": "renderpage()", + "id": "frontend_src_pages_tests_mappage_test_renderpage", + "community_name": "Community 62" + }, + { + "label": "ProjectsPage.test.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 77, + "norm_label": "projectspage.test.tsx", + "id": "frontend_src_pages_tests_projectspage_test", + "community_name": "Community 77" + }, + { + "label": "navigateMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 77, + "norm_label": "navigatemock", + "id": "frontend_src_pages_tests_projectspage_test_navigatemock", + "community_name": "Community 77" + }, + { + "label": "listProjectsMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 77, + "norm_label": "listprojectsmock", + "id": "frontend_src_pages_tests_projectspage_test_listprojectsmock", + "community_name": "Community 77" + }, + { + "label": "deleteProjectMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L12", + "_origin": "ast", + "community": 77, + "norm_label": "deleteprojectmock", + "id": "frontend_src_pages_tests_projectspage_test_deleteprojectmock", + "community_name": "Community 77" + }, + { + "label": "useQuotaMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L13", + "_origin": "ast", + "community": 77, + "norm_label": "usequotamock", + "id": "frontend_src_pages_tests_projectspage_test_usequotamock", + "community_name": "Community 77" + }, + { + "label": "renderPage()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L64", + "_origin": "ast", + "community": 77, + "norm_label": "renderpage()", + "id": "frontend_src_pages_tests_projectspage_test_renderpage", + "community_name": "Community 77" + }, + { + "label": "SignInPage.test.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 44, + "norm_label": "signinpage.test.tsx", + "id": "frontend_src_pages_tests_signinpage_test", + "community_name": "Community 44" + }, + { + "label": "navigateMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 44, + "norm_label": "navigatemock", + "id": "frontend_src_pages_tests_signinpage_test_navigatemock", + "community_name": "Community 44" + }, + { + "label": "signInMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L11", + "_origin": "ast", + "community": 44, + "norm_label": "signinmock", + "id": "frontend_src_pages_tests_signinpage_test_signinmock", + "community_name": "Community 44" + }, + { + "label": "useAuthMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L12", + "_origin": "ast", + "community": 44, + "norm_label": "useauthmock", + "id": "frontend_src_pages_tests_signinpage_test_useauthmock", + "community_name": "Community 44" + }, + { + "label": "setAuth()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L41", + "_origin": "ast", + "community": 44, + "norm_label": "setauth()", + "id": "frontend_src_pages_tests_signinpage_test_setauth", + "community_name": "Community 44" + }, + { + "label": "renderPage()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L49", + "_origin": "ast", + "community": 44, + "norm_label": "renderpage()", + "id": "frontend_src_pages_tests_signinpage_test_renderpage", + "community_name": "Community 44" + }, + { + "label": "SignUpPage.test.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 19, + "norm_label": "signuppage.test.tsx", + "id": "frontend_src_pages_tests_signuppage_test", + "community_name": "Community 19" + }, + { + "label": "signUpMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L9", + "_origin": "ast", + "community": 19, + "norm_label": "signupmock", + "id": "frontend_src_pages_tests_signuppage_test_signupmock", + "community_name": "Community 19" + }, + { + "label": "useAuthMock", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L10", + "_origin": "ast", + "community": 19, + "norm_label": "useauthmock", + "id": "frontend_src_pages_tests_signuppage_test_useauthmock", + "community_name": "Community 19" + }, + { + "label": "setAuth()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L30", + "_origin": "ast", + "community": 19, + "norm_label": "setauth()", + "id": "frontend_src_pages_tests_signuppage_test_setauth", + "community_name": "Community 19" + }, + { + "label": "renderPage()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L34", + "_origin": "ast", + "community": 19, + "norm_label": "renderpage()", + "id": "frontend_src_pages_tests_signuppage_test_renderpage", + "community_name": "Community 19" + }, + { + "label": "WorkbenchPage.test.tsx", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/WorkbenchPage.test.tsx", + "source_location": "L1", + "_origin": "ast", + "community": 48, + "norm_label": "workbenchpage.test.tsx", + "id": "frontend_src_pages_tests_workbenchpage_test", + "community_name": "Community 48" + }, + { + "label": "renderPage()", + "file_type": "code", + "source_file": "frontend/src/pages/__tests__/WorkbenchPage.test.tsx", + "source_location": "L242", + "_origin": "ast", + "community": 48, + "norm_label": "renderpage()", + "id": "frontend_src_pages_tests_workbenchpage_test_renderpage", + "community_name": "Community 48" + }, + { + "label": "tailwind.config.js", + "file_type": "code", + "source_file": "frontend/tailwind.config.js", + "source_location": "L1", + "_origin": "ast", + "community": 126, + "norm_label": "tailwind.config.js", + "id": "frontend_tailwind_config", + "community_name": "Community 126" + }, + { + "label": "frontend/tsconfig.json", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "community": 17, + "norm_label": "frontend/tsconfig.json", + "id": "frontend_tsconfig", + "community_name": "Community 17" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "community": 17, + "norm_label": "extends", + "id": "frontend_tsconfig_extends", + "community_name": "Community 17" + }, + { + "label": "../tsconfig.json", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "community": 17, + "norm_label": "../tsconfig.json", + "id": "frontend_tsconfig_json_ref_tsconfig_json", + "community_name": "Community 17" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "community": 17, + "norm_label": "compileroptions", + "id": "frontend_tsconfig_compileroptions", + "community_name": "Community 17" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "community": 17, + "norm_label": "lib", + "id": "frontend_tsconfig_compileroptions_lib", + "community_name": "Community 17" + }, + { + "label": "ES2020", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "community": 17, + "norm_label": "es2020", + "id": "frontend_tsconfig_json_ref_es2020", + "community_name": "Community 17" + }, + { + "label": "DOM", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "community": 17, + "norm_label": "dom", + "id": "ref_dom", + "community_name": "Community 17" + }, + { + "label": "DOM.Iterable", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "community": 17, + "norm_label": "dom.iterable", + "id": "ref_dom_iterable", + "community_name": "Community 17" + }, + { + "label": "jsx", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "community": 17, + "norm_label": "jsx", + "id": "frontend_tsconfig_compileroptions_jsx", + "community_name": "Community 17" + }, + { + "label": "noEmit", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "community": 17, + "norm_label": "noemit", + "id": "frontend_tsconfig_compileroptions_noemit", + "community_name": "Community 17" + }, + { + "label": "rootDir", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "community": 17, + "norm_label": "rootdir", + "id": "frontend_tsconfig_compileroptions_rootdir", + "community_name": "Community 17" + }, + { + "label": "types", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "community": 17, + "norm_label": "types", + "id": "frontend_tsconfig_compileroptions_types", + "community_name": "Community 17" + }, + { + "label": "vite/client", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "community": 17, + "norm_label": "vite/client", + "id": "ref_vite_client", + "community_name": "Community 17" + }, + { + "label": "google.maps", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "community": 17, + "norm_label": "google.maps", + "id": "ref_google_maps", + "community_name": "Community 17" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "community": 17, + "norm_label": "paths", + "id": "frontend_tsconfig_compileroptions_paths", + "community_name": "Community 17" + }, + { + "label": "@shared/types", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "community": 17, + "norm_label": "@shared/types", + "id": "frontend_tsconfig_paths_shared_types", + "community_name": "Community 17" + }, + { + "label": "../shared/index.ts", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "community": 17, + "norm_label": "../shared/index.ts", + "id": "frontend_tsconfig_json_ref_shared_index_ts", + "community_name": "Community 17" + }, + { + "label": "include", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "community": 17, + "norm_label": "include", + "id": "frontend_tsconfig_include", + "community_name": "Community 17" + }, + { + "label": "src/**/*.ts", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "community": 17, + "norm_label": "src/**/*.ts", + "id": "frontend_tsconfig_json_ref_src_ts", + "community_name": "Community 17" + }, + { + "label": "src/**/*.tsx", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "community": 17, + "norm_label": "src/**/*.tsx", + "id": "ref_src_tsx", + "community_name": "Community 17" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "community": 17, + "norm_label": "exclude", + "id": "frontend_tsconfig_exclude", + "community_name": "Community 17" + }, + { + "label": "src/**/*.test.ts", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "community": 17, + "norm_label": "src/**/*.test.ts", + "id": "frontend_tsconfig_json_ref_src_test_ts", + "community_name": "Community 17" + }, + { + "label": "src/**/*.test.tsx", + "file_type": "concept", + "source_file": "frontend/tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "community": 17, + "norm_label": "src/**/*.test.tsx", + "id": "ref_src_test_tsx", + "community_name": "Community 17" + }, + { + "label": "references", + "file_type": "code", + "source_file": "frontend/tsconfig.json", + "source_location": "L16", + "_origin": "ast", + "community": 17, + "norm_label": "references", + "id": "frontend_tsconfig_references", + "community_name": "Community 17" + }, + { + "label": "vite.config.ts", + "file_type": "code", + "source_file": "frontend/vite.config.ts", + "source_location": "L1", + "_origin": "ast", + "community": 127, + "norm_label": "vite.config.ts", + "id": "frontend_vite_config", + "community_name": "Community 127" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "package.json", + "source_location": "L1", + "_origin": "ast", + "community": 3, + "norm_label": "package.json", + "id": "package", + "community_name": "Community 3" + }, + { + "label": "name", + "file_type": "code", + "source_file": "package.json", + "source_location": "L2", + "_origin": "ast", + "community": 3, + "norm_label": "name", + "id": "package_name", + "community_name": "Community 3" + }, + { + "label": "private", + "file_type": "code", + "source_file": "package.json", + "source_location": "L3", + "_origin": "ast", + "community": 3, + "norm_label": "private", + "id": "package_private", + "community_name": "Community 3" + }, + { + "label": "license", + "file_type": "code", + "source_file": "package.json", + "source_location": "L4", + "_origin": "ast", + "community": 3, + "norm_label": "license", + "id": "package_license", + "community_name": "Community 3" + }, + { + "label": "packageManager", + "file_type": "code", + "source_file": "package.json", + "source_location": "L5", + "_origin": "ast", + "community": 3, + "norm_label": "packagemanager", + "id": "package_packagemanager", + "community_name": "Community 3" + }, + { + "label": "engines", + "file_type": "code", + "source_file": "package.json", + "source_location": "L6", + "_origin": "ast", + "community": 3, + "norm_label": "engines", + "id": "package_engines", + "community_name": "Community 3" + }, + { + "label": "node", + "file_type": "code", + "source_file": "package.json", + "source_location": "L7", + "_origin": "ast", + "community": 3, + "norm_label": "node", + "id": "package_engines_node", + "community_name": "Community 3" + }, + { + "label": "prisma", + "file_type": "code", + "source_file": "package.json", + "source_location": "L9", + "_origin": "ast", + "community": 3, + "norm_label": "prisma", + "id": "package_prisma", + "community_name": "Community 3" + }, + { + "label": "seed", + "file_type": "code", + "source_file": "package.json", + "source_location": "L10", + "_origin": "ast", + "community": 3, + "norm_label": "seed", + "id": "package_prisma_seed", + "community_name": "Community 3" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "package.json", + "source_location": "L12", + "_origin": "ast", + "community": 3, + "norm_label": "scripts", + "id": "package_scripts", + "community_name": "Community 3" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "package.json", + "source_location": "L13", + "_origin": "ast", + "community": 3, + "norm_label": "dev", + "id": "package_scripts_dev", + "community_name": "Community 3" + }, + { + "label": "dev:backend", + "file_type": "code", + "source_file": "package.json", + "source_location": "L14", + "_origin": "ast", + "community": 3, + "norm_label": "dev:backend", + "id": "package_scripts_dev_backend", + "community_name": "Community 3" + }, + { + "label": "dev:frontend", + "file_type": "code", + "source_file": "package.json", + "source_location": "L15", + "_origin": "ast", + "community": 3, + "norm_label": "dev:frontend", + "id": "package_scripts_dev_frontend", + "community_name": "Community 3" + }, + { + "label": "db:migrate", + "file_type": "code", + "source_file": "package.json", + "source_location": "L16", + "_origin": "ast", + "community": 3, + "norm_label": "db:migrate", + "id": "package_scripts_db_migrate", + "community_name": "Community 3" + }, + { + "label": "db:migrate:deploy", + "file_type": "code", + "source_file": "package.json", + "source_location": "L17", + "_origin": "ast", + "community": 3, + "norm_label": "db:migrate:deploy", + "id": "package_scripts_db_migrate_deploy", + "community_name": "Community 3" + }, + { + "label": "db:seed", + "file_type": "code", + "source_file": "package.json", + "source_location": "L18", + "_origin": "ast", + "community": 3, + "norm_label": "db:seed", + "id": "package_scripts_db_seed", + "community_name": "Community 3" + }, + { + "label": "prisma:generate", + "file_type": "code", + "source_file": "package.json", + "source_location": "L19", + "_origin": "ast", + "community": 3, + "norm_label": "prisma:generate", + "id": "package_scripts_prisma_generate", + "community_name": "Community 3" + }, + { + "label": "format", + "file_type": "code", + "source_file": "package.json", + "source_location": "L20", + "_origin": "ast", + "community": 3, + "norm_label": "format", + "id": "package_scripts_format", + "community_name": "Community 3" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "package.json", + "source_location": "L21", + "_origin": "ast", + "community": 3, + "norm_label": "lint", + "id": "package_scripts_lint", + "community_name": "Community 3" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "package.json", + "source_location": "L22", + "_origin": "ast", + "community": 3, + "norm_label": "typecheck", + "id": "package_scripts_typecheck", + "community_name": "Community 3" + }, + { + "label": "test", + "file_type": "code", + "source_file": "package.json", + "source_location": "L23", + "_origin": "ast", + "community": 3, + "norm_label": "test", + "id": "package_scripts_test", + "community_name": "Community 3" + }, + { + "label": "build", + "file_type": "code", + "source_file": "package.json", + "source_location": "L24", + "_origin": "ast", + "community": 3, + "norm_label": "build", + "id": "package_scripts_build", + "community_name": "Community 3" + }, + { + "label": "start", + "file_type": "code", + "source_file": "package.json", + "source_location": "L25", + "_origin": "ast", + "community": 3, + "norm_label": "start", + "id": "package_scripts_start", + "community_name": "Community 3" + }, + { + "label": "heroku-postbuild", + "file_type": "code", + "source_file": "package.json", + "source_location": "L26", + "_origin": "ast", + "community": 3, + "norm_label": "heroku-postbuild", + "id": "package_scripts_heroku_postbuild", + "community_name": "Community 3" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "package.json", + "source_location": "L28", + "_origin": "ast", + "community": 3, + "norm_label": "dependencies", + "id": "package_dependencies", + "community_name": "Community 3" + }, + { + "label": "@prisma/client", + "file_type": "code", + "source_file": "package.json", + "source_location": "L29", + "_origin": "ast", + "community": 3, + "norm_label": "@prisma/client", + "id": "package_dependencies_prisma_client", + "community_name": "Community 3" + }, + { + "label": "@prisma/client", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L29", + "_origin": "ast", + "community": 3, + "norm_label": "@prisma/client", + "id": "package_json_prisma_client", + "community_name": "Community 3" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "package.json", + "source_location": "L31", + "_origin": "ast", + "community": 3, + "norm_label": "devdependencies", + "id": "package_devdependencies", + "community_name": "Community 3" + }, + { + "label": "@eslint/js", + "file_type": "code", + "source_file": "package.json", + "source_location": "L32", + "_origin": "ast", + "community": 3, + "norm_label": "@eslint/js", + "id": "package_devdependencies_eslint_js", + "community_name": "Community 3" + }, + { + "label": "@eslint/js", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L32", + "_origin": "ast", + "community": 3, + "norm_label": "@eslint/js", + "id": "eslint_js", + "community_name": "Community 3" + }, + { + "label": "concurrently", + "file_type": "code", + "source_file": "package.json", + "source_location": "L33", + "_origin": "ast", + "community": 3, + "norm_label": "concurrently", + "id": "package_devdependencies_concurrently", + "community_name": "Community 3" + }, + { + "label": "concurrently", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L33", + "_origin": "ast", + "community": 3, + "norm_label": "concurrently", + "id": "concurrently", + "community_name": "Community 3" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "package.json", + "source_location": "L34", + "_origin": "ast", + "community": 3, + "norm_label": "eslint", + "id": "package_devdependencies_eslint", + "community_name": "Community 3" + }, + { + "label": "eslint", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L34", + "_origin": "ast", + "community": 3, + "norm_label": "eslint", + "id": "eslint", + "community_name": "Community 3" + }, + { + "label": "eslint-config-prettier", + "file_type": "code", + "source_file": "package.json", + "source_location": "L35", + "_origin": "ast", + "community": 3, + "norm_label": "eslint-config-prettier", + "id": "package_devdependencies_eslint_config_prettier", + "community_name": "Community 3" + }, + { + "label": "eslint-config-prettier", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L35", + "_origin": "ast", + "community": 3, + "norm_label": "eslint-config-prettier", + "id": "package_json_eslint_config_prettier", + "community_name": "Community 3" + }, + { + "label": "eslint-plugin-react-hooks", + "file_type": "code", + "source_file": "package.json", + "source_location": "L36", + "_origin": "ast", + "community": 3, + "norm_label": "eslint-plugin-react-hooks", + "id": "package_devdependencies_eslint_plugin_react_hooks", + "community_name": "Community 3" + }, + { + "label": "eslint-plugin-react-hooks", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L36", + "_origin": "ast", + "community": 3, + "norm_label": "eslint-plugin-react-hooks", + "id": "eslint_plugin_react_hooks", + "community_name": "Community 3" + }, + { + "label": "globals", + "file_type": "code", + "source_file": "package.json", + "source_location": "L37", + "_origin": "ast", + "community": 3, + "norm_label": "globals", + "id": "package_devdependencies_globals", + "community_name": "Community 3" + }, + { + "label": "globals", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L37", + "_origin": "ast", + "community": 3, + "norm_label": "globals", + "id": "globals", + "community_name": "Community 3" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "package.json", + "source_location": "L38", + "_origin": "ast", + "community": 3, + "norm_label": "prettier", + "id": "package_devdependencies_prettier", + "community_name": "Community 3" + }, + { + "label": "prettier", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L38", + "_origin": "ast", + "community": 3, + "norm_label": "prettier", + "id": "prettier", + "community_name": "Community 3" + }, + { + "label": "prisma", + "file_type": "code", + "source_file": "package.json", + "source_location": "L39", + "_origin": "ast", + "community": 3, + "norm_label": "prisma", + "id": "package_devdependencies_prisma", + "community_name": "Community 3" + }, + { + "label": "prisma", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L39", + "_origin": "ast", + "community": 3, + "norm_label": "prisma", + "id": "package_json_prisma", + "community_name": "Community 3" + }, + { + "label": "typescript-eslint", + "file_type": "code", + "source_file": "package.json", + "source_location": "L40", + "_origin": "ast", + "community": 3, + "norm_label": "typescript-eslint", + "id": "package_devdependencies_typescript_eslint", + "community_name": "Community 3" + }, + { + "label": "typescript-eslint", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L40", + "_origin": "ast", + "community": 3, + "norm_label": "typescript-eslint", + "id": "typescript_eslint", + "community_name": "Community 3" + }, + { + "label": "seed.ts", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L1", + "_origin": "ast", + "community": 63, + "norm_label": "seed.ts", + "id": "prisma_seed", + "community_name": "Community 63" + }, + { + "label": "__dirname", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L7", + "_origin": "ast", + "community": 63, + "norm_label": "__dirname", + "id": "prisma_seed_dirname", + "community_name": "Community 63" + }, + { + "label": "prisma", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L10", + "_origin": "ast", + "community": 63, + "norm_label": "prisma", + "id": "prisma_seed_prisma", + "community_name": "Community 63" + }, + { + "label": "main()", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L12", + "_origin": "ast", + "community": 63, + "norm_label": "main()", + "id": "prisma_seed_main", + "community_name": "Community 63" + }, + { + "label": "RATES", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L47", + "_origin": "ast", + "community": 63, + "norm_label": "rates", + "id": "prisma_seed_rates", + "community_name": "Community 63" + }, + { + "label": "THRESHOLDS", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L58", + "_origin": "ast", + "community": 63, + "norm_label": "thresholds", + "id": "prisma_seed_thresholds", + "community_name": "Community 63" + }, + { + "label": "EEI_TABLE", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L69", + "_origin": "ast", + "community": 63, + "norm_label": "eei_table", + "id": "prisma_seed_eei_table", + "community_name": "Community 63" + }, + { + "label": "pdf-export.ts", + "file_type": "code", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L1", + "_origin": "ast", + "community": 65, + "norm_label": "pdf-export.ts", + "id": "services_pdf_service_api_pdf_export", + "community_name": "Community 65" + }, + { + "label": "BodySchema", + "file_type": "code", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L6", + "_origin": "ast", + "community": 65, + "norm_label": "bodyschema", + "id": "services_pdf_service_api_pdf_export_bodyschema", + "community_name": "Community 65" + }, + { + "label": "VIEWPORT", + "file_type": "code", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L14", + "_origin": "ast", + "community": 65, + "norm_label": "viewport", + "id": "services_pdf_service_api_pdf_export_viewport", + "community_name": "Community 65" + }, + { + "label": "PAGE_MARGIN", + "file_type": "code", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L17", + "_origin": "ast", + "community": 65, + "norm_label": "page_margin", + "id": "services_pdf_service_api_pdf_export_page_margin", + "community_name": "Community 65" + }, + { + "label": "parseAllowedOrigins()", + "file_type": "code", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L19", + "_origin": "ast", + "community": 65, + "norm_label": "parseallowedorigins()", + "id": "services_pdf_service_api_pdf_export_parseallowedorigins", + "community_name": "Community 65" + }, + { + "label": "normalizeOrigin()", + "file_type": "code", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L27", + "_origin": "ast", + "community": 65, + "norm_label": "normalizeorigin()", + "id": "services_pdf_service_api_pdf_export_normalizeorigin", + "community_name": "Community 65" + }, + { + "label": "resolveCorsOrigin()", + "file_type": "code", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L31", + "_origin": "ast", + "community": 65, + "norm_label": "resolvecorsorigin()", + "id": "services_pdf_service_api_pdf_export_resolvecorsorigin", + "community_name": "Community 65" + }, + { + "label": "setCorsHeaders()", + "file_type": "code", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L39", + "_origin": "ast", + "community": 65, + "norm_label": "setcorsheaders()", + "id": "services_pdf_service_api_pdf_export_setcorsheaders", + "community_name": "Community 65" + }, + { + "label": "handler()", + "file_type": "code", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L46", + "_origin": "ast", + "community": 65, + "norm_label": "handler()", + "id": "services_pdf_service_api_pdf_export_handler", + "community_name": "Community 65" + }, + { + "label": "pdf-service/package.json", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L1", + "_origin": "ast", + "community": 13, + "norm_label": "pdf-service/package.json", + "id": "services_pdf_service_package", + "community_name": "Community 13" + }, + { + "label": "name", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L2", + "_origin": "ast", + "community": 13, + "norm_label": "name", + "id": "services_pdf_service_package_name", + "community_name": "Community 13" + }, + { + "label": "version", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L3", + "_origin": "ast", + "community": 13, + "norm_label": "version", + "id": "services_pdf_service_package_version", + "community_name": "Community 13" + }, + { + "label": "private", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L4", + "_origin": "ast", + "community": 13, + "norm_label": "private", + "id": "services_pdf_service_package_private", + "community_name": "Community 13" + }, + { + "label": "license", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L5", + "_origin": "ast", + "community": 13, + "norm_label": "license", + "id": "services_pdf_service_package_license", + "community_name": "Community 13" + }, + { + "label": "description", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L6", + "_origin": "ast", + "community": 13, + "norm_label": "description", + "id": "services_pdf_service_package_description", + "community_name": "Community 13" + }, + { + "label": "type", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L7", + "_origin": "ast", + "community": 13, + "norm_label": "type", + "id": "services_pdf_service_package_type", + "community_name": "Community 13" + }, + { + "label": "engines", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L8", + "_origin": "ast", + "community": 13, + "norm_label": "engines", + "id": "services_pdf_service_package_engines", + "community_name": "Community 13" + }, + { + "label": "node", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L9", + "_origin": "ast", + "community": 13, + "norm_label": "node", + "id": "services_pdf_service_package_engines_node", + "community_name": "Community 13" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L11", + "_origin": "ast", + "community": 13, + "norm_label": "scripts", + "id": "services_pdf_service_package_scripts", + "community_name": "Community 13" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L12", + "_origin": "ast", + "community": 13, + "norm_label": "dev", + "id": "services_pdf_service_package_scripts_dev", + "community_name": "Community 13" + }, + { + "label": "deploy:preview", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L13", + "_origin": "ast", + "community": 13, + "norm_label": "deploy:preview", + "id": "services_pdf_service_package_scripts_deploy_preview", + "community_name": "Community 13" + }, + { + "label": "deploy", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L14", + "_origin": "ast", + "community": 13, + "norm_label": "deploy", + "id": "services_pdf_service_package_scripts_deploy", + "community_name": "Community 13" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L15", + "_origin": "ast", + "community": 13, + "norm_label": "typecheck", + "id": "services_pdf_service_package_scripts_typecheck", + "community_name": "Community 13" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L17", + "_origin": "ast", + "community": 13, + "norm_label": "dependencies", + "id": "services_pdf_service_package_dependencies", + "community_name": "Community 13" + }, + { + "label": "@sparticuz/chromium", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L18", + "_origin": "ast", + "community": 13, + "norm_label": "@sparticuz/chromium", + "id": "services_pdf_service_package_dependencies_sparticuz_chromium", + "community_name": "Community 13" + }, + { + "label": "@sparticuz/chromium", + "file_type": "concept", + "source_file": "services/pdf-service/package.json", + "source_location": "L18", + "_origin": "ast", + "community": 13, + "norm_label": "@sparticuz/chromium", + "id": "sparticuz_chromium", + "community_name": "Community 13" + }, + { + "label": "puppeteer-core", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L19", + "_origin": "ast", + "community": 13, + "norm_label": "puppeteer-core", + "id": "services_pdf_service_package_dependencies_puppeteer_core", + "community_name": "Community 13" + }, + { + "label": "puppeteer-core", + "file_type": "concept", + "source_file": "services/pdf-service/package.json", + "source_location": "L19", + "_origin": "ast", + "community": 13, + "norm_label": "puppeteer-core", + "id": "puppeteer_core", + "community_name": "Community 13" + }, + { + "label": "zod", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L20", + "_origin": "ast", + "community": 13, + "norm_label": "zod", + "id": "services_pdf_service_package_dependencies_zod", + "community_name": "Community 13" + }, + { + "label": "zod", + "file_type": "concept", + "source_file": "services/pdf-service/package.json", + "source_location": "L20", + "_origin": "ast", + "community": 13, + "norm_label": "zod", + "id": "services_pdf_service_package_json_zod", + "community_name": "Community 13" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L22", + "_origin": "ast", + "community": 13, + "norm_label": "devdependencies", + "id": "services_pdf_service_package_devdependencies", + "community_name": "Community 13" + }, + { + "label": "@types/node", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L23", + "_origin": "ast", + "community": 13, + "norm_label": "@types/node", + "id": "services_pdf_service_package_devdependencies_types_node", + "community_name": "Community 13" + }, + { + "label": "@types/node", + "file_type": "concept", + "source_file": "services/pdf-service/package.json", + "source_location": "L23", + "_origin": "ast", + "community": 13, + "norm_label": "@types/node", + "id": "services_pdf_service_package_json_types_node", + "community_name": "Community 13" + }, + { + "label": "@vercel/node", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L24", + "_origin": "ast", + "community": 13, + "norm_label": "@vercel/node", + "id": "services_pdf_service_package_devdependencies_vercel_node", + "community_name": "Community 13" + }, + { + "label": "@vercel/node", + "file_type": "concept", + "source_file": "services/pdf-service/package.json", + "source_location": "L24", + "_origin": "ast", + "community": 13, + "norm_label": "@vercel/node", + "id": "vercel_node", + "community_name": "Community 13" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "services/pdf-service/package.json", + "source_location": "L25", + "_origin": "ast", + "community": 13, + "norm_label": "typescript", + "id": "services_pdf_service_package_devdependencies_typescript", + "community_name": "Community 13" + }, + { + "label": "typescript", + "file_type": "concept", + "source_file": "services/pdf-service/package.json", + "source_location": "L25", + "_origin": "ast", + "community": 13, + "norm_label": "typescript", + "id": "services_pdf_service_package_json_typescript", + "community_name": "Community 13" + }, + { + "label": "pdf-service/tsconfig.json", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "community": 36, + "norm_label": "pdf-service/tsconfig.json", + "id": "services_pdf_service_tsconfig", + "community_name": "Community 36" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "community": 36, + "norm_label": "compileroptions", + "id": "services_pdf_service_tsconfig_compileroptions", + "community_name": "Community 36" + }, + { + "label": "target", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "community": 36, + "norm_label": "target", + "id": "services_pdf_service_tsconfig_compileroptions_target", + "community_name": "Community 36" + }, + { + "label": "module", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "community": 36, + "norm_label": "module", + "id": "services_pdf_service_tsconfig_compileroptions_module", + "community_name": "Community 36" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "community": 36, + "norm_label": "moduleresolution", + "id": "services_pdf_service_tsconfig_compileroptions_moduleresolution", + "community_name": "Community 36" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "community": 36, + "norm_label": "lib", + "id": "services_pdf_service_tsconfig_compileroptions_lib", + "community_name": "Community 36" + }, + { + "label": "ES2022", + "file_type": "concept", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "community": 36, + "norm_label": "es2022", + "id": "ref_es2022", + "community_name": "Community 36" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "community": 36, + "norm_label": "esmoduleinterop", + "id": "services_pdf_service_tsconfig_compileroptions_esmoduleinterop", + "community_name": "Community 36" + }, + { + "label": "allowSyntheticDefaultImports", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "community": 36, + "norm_label": "allowsyntheticdefaultimports", + "id": "services_pdf_service_tsconfig_compileroptions_allowsyntheticdefaultimports", + "community_name": "Community 36" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "community": 36, + "norm_label": "strict", + "id": "services_pdf_service_tsconfig_compileroptions_strict", + "community_name": "Community 36" + }, + { + "label": "noUncheckedIndexedAccess", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L12", + "_origin": "ast", + "community": 36, + "norm_label": "nouncheckedindexedaccess", + "id": "services_pdf_service_tsconfig_compileroptions_nouncheckedindexedaccess", + "community_name": "Community 36" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L13", + "_origin": "ast", + "community": 36, + "norm_label": "skiplibcheck", + "id": "services_pdf_service_tsconfig_compileroptions_skiplibcheck", + "community_name": "Community 36" + }, + { + "label": "resolveJsonModule", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "community": 36, + "norm_label": "resolvejsonmodule", + "id": "services_pdf_service_tsconfig_compileroptions_resolvejsonmodule", + "community_name": "Community 36" + }, + { + "label": "isolatedModules", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "community": 36, + "norm_label": "isolatedmodules", + "id": "services_pdf_service_tsconfig_compileroptions_isolatedmodules", + "community_name": "Community 36" + }, + { + "label": "noEmit", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L16", + "_origin": "ast", + "community": 36, + "norm_label": "noemit", + "id": "services_pdf_service_tsconfig_compileroptions_noemit", + "community_name": "Community 36" + }, + { + "label": "include", + "file_type": "code", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L18", + "_origin": "ast", + "community": 36, + "norm_label": "include", + "id": "services_pdf_service_tsconfig_include", + "community_name": "Community 36" + }, + { + "label": "api/**/*.ts", + "file_type": "concept", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L18", + "_origin": "ast", + "community": 36, + "norm_label": "api/**/*.ts", + "id": "ref_api_ts", + "community_name": "Community 36" + }, + { + "label": "vercel.json", + "file_type": "code", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L1", + "_origin": "ast", + "community": 78, + "norm_label": "vercel.json", + "id": "services_pdf_service_vercel", + "community_name": "Community 78" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L2", + "_origin": "ast", + "community": 78, + "norm_label": "$schema", + "id": "services_pdf_service_vercel_schema", + "community_name": "Community 78" + }, + { + "label": "functions", + "file_type": "code", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L3", + "_origin": "ast", + "community": 78, + "norm_label": "functions", + "id": "services_pdf_service_vercel_functions", + "community_name": "Community 78" + }, + { + "label": "api/pdf-export.ts", + "file_type": "code", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L4", + "_origin": "ast", + "community": 78, + "norm_label": "api/pdf-export.ts", + "id": "services_pdf_service_vercel_functions_api_pdf_export_ts", + "community_name": "Community 78" + }, + { + "label": "maxDuration", + "file_type": "code", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L5", + "_origin": "ast", + "community": 78, + "norm_label": "maxduration", + "id": "services_pdf_service_vercel_api_pdf_export_ts_maxduration", + "community_name": "Community 78" + }, + { + "label": "memory", + "file_type": "code", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L6", + "_origin": "ast", + "community": 78, + "norm_label": "memory", + "id": "services_pdf_service_vercel_api_pdf_export_ts_memory", + "community_name": "Community 78" + }, + { + "label": "costModel.ts", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L1", + "_origin": "ast", + "community": 56, + "norm_label": "costmodel.ts", + "id": "shared_costmodel", + "community_name": "Community 56" + }, + { + "label": "RoofType", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L17", + "_origin": "ast", + "community": 0, + "norm_label": "rooftype", + "id": "shared_costmodel_rooftype", + "community_name": "Community 0" + }, + { + "label": "SupplyPhase", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L19", + "_origin": "ast", + "community": 56, + "norm_label": "supplyphase", + "id": "shared_costmodel_supplyphase", + "community_name": "Community 56" + }, + { + "label": "CostBreakdown", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L28", + "_origin": "ast", + "community": 0, + "norm_label": "costbreakdown", + "id": "shared_costmodel_costbreakdown", + "community_name": "Community 0" + }, + { + "label": "CostInputs", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L45", + "_origin": "ast", + "community": 56, + "norm_label": "costinputs", + "id": "shared_costmodel_costinputs", + "community_name": "Community 56" + }, + { + "label": "InverterSku", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L53", + "_origin": "ast", + "community": 56, + "norm_label": "invertersku", + "id": "shared_costmodel_invertersku", + "community_name": "Community 56" + }, + { + "label": "costModelDefaults", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L64", + "_origin": "ast", + "community": 56, + "norm_label": "costmodeldefaults", + "id": "shared_costmodel_costmodeldefaults", + "community_name": "Community 56" + }, + { + "label": "permitCost()", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L105", + "_origin": "ast", + "community": 56, + "norm_label": "permitcost()", + "id": "shared_costmodel_permitcost", + "community_name": "Community 56" + }, + { + "label": "electricalBosCost()", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L116", + "_origin": "ast", + "community": 56, + "norm_label": "electricalboscost()", + "id": "shared_costmodel_electricalboscost", + "community_name": "Community 56" + }, + { + "label": "scaffoldingCost()", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L121", + "_origin": "ast", + "community": 56, + "norm_label": "scaffoldingcost()", + "id": "shared_costmodel_scaffoldingcost", + "community_name": "Community 56" + }, + { + "label": "selectInverter()", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L131", + "_origin": "ast", + "community": 56, + "norm_label": "selectinverter()", + "id": "shared_costmodel_selectinverter", + "community_name": "Community 56" + }, + { + "label": "computeSystemCost()", + "file_type": "code", + "source_file": "shared/costModel.ts", + "source_location": "L150", + "_origin": "ast", + "community": 56, + "norm_label": "computesystemcost()", + "id": "shared_costmodel_computesystemcost", + "community_name": "Community 56" + }, + { + "label": "shared/index.ts", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L1", + "_origin": "ast", + "community": 14, + "norm_label": "shared/index.ts", + "id": "shared_index", + "community_name": "Community 14" + }, + { + "label": "LocationStatus", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L17", + "_origin": "ast", + "community": 14, + "norm_label": "locationstatus", + "id": "shared_index_locationstatus", + "community_name": "Community 14" + }, + { + "label": "ImageryQuality", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L20", + "_origin": "ast", + "community": 41, + "norm_label": "imageryquality", + "id": "shared_index_imageryquality", + "community_name": "Community 41" + }, + { + "label": "ProjectStatus", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L23", + "_origin": "ast", + "community": 55, + "norm_label": "projectstatus", + "id": "shared_index_projectstatus", + "community_name": "Community 55" + }, + { + "label": "ResolveLocationRequest", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L39", + "_origin": "ast", + "community": 31, + "norm_label": "resolvelocationrequest", + "id": "shared_index_resolvelocationrequest", + "community_name": "Community 31" + }, + { + "label": "ResolveLocationResponse", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L48", + "_origin": "ast", + "community": 31, + "norm_label": "resolvelocationresponse", + "id": "shared_index_resolvelocationresponse", + "community_name": "Community 31" + }, + { + "label": "LocationStatusResponse", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L54", + "_origin": "ast", + "community": 31, + "norm_label": "locationstatusresponse", + "id": "shared_index_locationstatusresponse", + "community_name": "Community 31" + }, + { + "label": "LocationDataResponse", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L59", + "_origin": "ast", + "community": 31, + "norm_label": "locationdataresponse", + "id": "shared_index_locationdataresponse", + "community_name": "Community 31" + }, + { + "label": "ProbeLocationResponse", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L66", + "_origin": "ast", + "community": 31, + "norm_label": "probelocationresponse", + "id": "shared_index_probelocationresponse", + "community_name": "Community 31" + }, + { + "label": "FluxRecomputeRequest", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L73", + "_origin": "ast", + "community": 31, + "norm_label": "fluxrecomputerequest", + "id": "shared_index_fluxrecomputerequest", + "community_name": "Community 31" + }, + { + "label": "FluxRecomputeResponse", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L83", + "_origin": "ast", + "community": 31, + "norm_label": "fluxrecomputeresponse", + "id": "shared_index_fluxrecomputeresponse", + "community_name": "Community 31" + }, + { + "label": "FluxRecomputeBatchRequest", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L89", + "_origin": "ast", + "community": 31, + "norm_label": "fluxrecomputebatchrequest", + "id": "shared_index_fluxrecomputebatchrequest", + "community_name": "Community 31" + }, + { + "label": "FluxRecomputeBatchResponse", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L94", + "_origin": "ast", + "community": 31, + "norm_label": "fluxrecomputebatchresponse", + "id": "shared_index_fluxrecomputebatchresponse", + "community_name": "Community 31" + }, + { + "label": "CreateProjectRequest", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L99", + "_origin": "ast", + "community": 27, + "norm_label": "createprojectrequest", + "id": "shared_index_createprojectrequest", + "community_name": "Community 27" + }, + { + "label": "SaveLayoutRequest", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L105", + "_origin": "ast", + "community": 27, + "norm_label": "savelayoutrequest", + "id": "shared_index_savelayoutrequest", + "community_name": "Community 27" + }, + { + "label": "UpdateLayoutPreferencesRequest", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L111", + "_origin": "ast", + "community": 27, + "norm_label": "updatelayoutpreferencesrequest", + "id": "shared_index_updatelayoutpreferencesrequest", + "community_name": "Community 27" + }, + { + "label": "SaveAnalysisRequest", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L116", + "_origin": "ast", + "community": 27, + "norm_label": "saveanalysisrequest", + "id": "shared_index_saveanalysisrequest", + "community_name": "Community 27" + }, + { + "label": "TariffRates", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L125", + "_origin": "ast", + "community": 50, + "norm_label": "tariffrates", + "id": "shared_index_tariffrates", + "community_name": "Community 50" + }, + { + "label": "TariffThresholds", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L146", + "_origin": "ast", + "community": 50, + "norm_label": "tariffthresholds", + "id": "shared_index_tariffthresholds", + "community_name": "Community 50" + }, + { + "label": "TariffConfigResponse", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L160", + "_origin": "ast", + "community": 43, + "norm_label": "tariffconfigresponse", + "id": "shared_index_tariffconfigresponse", + "community_name": "Community 43" + }, + { + "label": "HealthResponse", + "file_type": "code", + "source_file": "shared/index.ts", + "source_location": "L175", + "_origin": "ast", + "community": 45, + "norm_label": "healthresponse", + "id": "shared_index_healthresponse", + "community_name": "Community 45" + }, + { + "label": "layoutPreferences.ts", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L1", + "_origin": "ast", + "community": 14, + "norm_label": "layoutpreferences.ts", + "id": "shared_layoutpreferences", + "community_name": "Community 14" + }, + { + "label": "billRangeSchema", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L14", + "_origin": "ast", + "community": 14, + "norm_label": "billrangeschema", + "id": "shared_layoutpreferences_billrangeschema", + "community_name": "Community 14" + }, + { + "label": "sizingGoalSchema", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L16", + "_origin": "ast", + "community": 14, + "norm_label": "sizinggoalschema", + "id": "shared_layoutpreferences_sizinggoalschema", + "community_name": "Community 14" + }, + { + "label": "roofDirectionSchema", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L18", + "_origin": "ast", + "community": 14, + "norm_label": "roofdirectionschema", + "id": "shared_layoutpreferences_roofdirectionschema", + "community_name": "Community 14" + }, + { + "label": "BillRange", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L21", + "_origin": "ast", + "community": 14, + "norm_label": "billrange", + "id": "shared_layoutpreferences_billrange", + "community_name": "Community 14" + }, + { + "label": "SizingGoal", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L23", + "_origin": "ast", + "community": 14, + "norm_label": "sizinggoal", + "id": "shared_layoutpreferences_sizinggoal", + "community_name": "Community 14" + }, + { + "label": "RoofDirection", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L25", + "_origin": "ast", + "community": 14, + "norm_label": "roofdirection", + "id": "shared_layoutpreferences_roofdirection", + "community_name": "Community 14" + }, + { + "label": "layoutPreferencesSchema", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L32", + "_origin": "ast", + "community": 14, + "norm_label": "layoutpreferencesschema", + "id": "shared_layoutpreferences_layoutpreferencesschema", + "community_name": "Community 14" + }, + { + "label": "layoutPreferencesPartialSchema", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L42", + "_origin": "ast", + "community": 14, + "norm_label": "layoutpreferencespartialschema", + "id": "shared_layoutpreferences_layoutpreferencespartialschema", + "community_name": "Community 14" + }, + { + "label": "LayoutPreferences", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L45", + "_origin": "ast", + "community": 14, + "norm_label": "layoutpreferences", + "id": "shared_layoutpreferences_layoutpreferences", + "community_name": "Community 14" + }, + { + "label": "BILL_RANGE_TO_KWH_PER_MONTH", + "file_type": "code", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L54", + "_origin": "ast", + "community": 14, + "norm_label": "bill_range_to_kwh_per_month", + "id": "shared_layoutpreferences_bill_range_to_kwh_per_month", + "community_name": "Community 14" + }, + { + "label": "shared/package.json", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L1", + "_origin": "ast", + "community": 42, + "norm_label": "shared/package.json", + "id": "shared_package", + "community_name": "Community 42" + }, + { + "label": "name", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L2", + "_origin": "ast", + "community": 42, + "norm_label": "name", + "id": "shared_package_name", + "community_name": "Community 42" + }, + { + "label": "version", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L3", + "_origin": "ast", + "community": 42, + "norm_label": "version", + "id": "shared_package_version", + "community_name": "Community 42" + }, + { + "label": "private", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L4", + "_origin": "ast", + "community": 42, + "norm_label": "private", + "id": "shared_package_private", + "community_name": "Community 42" + }, + { + "label": "license", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L5", + "_origin": "ast", + "community": 42, + "norm_label": "license", + "id": "shared_package_license", + "community_name": "Community 42" + }, + { + "label": "type", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L6", + "_origin": "ast", + "community": 42, + "norm_label": "type", + "id": "shared_package_type", + "community_name": "Community 42" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L7", + "_origin": "ast", + "community": 42, + "norm_label": "scripts", + "id": "shared_package_scripts", + "community_name": "Community 42" + }, + { + "label": "build", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L8", + "_origin": "ast", + "community": 42, + "norm_label": "build", + "id": "shared_package_scripts_build", + "community_name": "Community 42" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L9", + "_origin": "ast", + "community": 42, + "norm_label": "dev", + "id": "shared_package_scripts_dev", + "community_name": "Community 42" + }, + { + "label": "main", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L11", + "_origin": "ast", + "community": 42, + "norm_label": "main", + "id": "shared_package_main", + "community_name": "Community 42" + }, + { + "label": "types", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L12", + "_origin": "ast", + "community": 42, + "norm_label": "types", + "id": "shared_package_types", + "community_name": "Community 42" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L13", + "_origin": "ast", + "community": 42, + "norm_label": "exports", + "id": "shared_package_exports", + "community_name": "Community 42" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L20", + "_origin": "ast", + "community": 42, + "norm_label": "devdependencies", + "id": "shared_package_devdependencies", + "community_name": "Community 42" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "shared/package.json", + "source_location": "L21", + "_origin": "ast", + "community": 42, + "norm_label": "typescript", + "id": "shared_package_devdependencies_typescript", + "community_name": "Community 42" + }, + { + "label": "typescript", + "file_type": "concept", + "source_file": "shared/package.json", + "source_location": "L21", + "_origin": "ast", + "community": 42, + "norm_label": "typescript", + "id": "shared_package_json_typescript", + "community_name": "Community 42" + }, + { + "label": "panelModels.ts", + "file_type": "code", + "source_file": "shared/panelModels.ts", + "source_location": "L1", + "_origin": "ast", + "community": 54, + "norm_label": "panelmodels.ts", + "id": "shared_panelmodels", + "community_name": "Community 54" + }, + { + "label": "PANEL_MODELS", + "file_type": "code", + "source_file": "shared/panelModels.ts", + "source_location": "L14", + "_origin": "ast", + "community": 54, + "norm_label": "panel_models", + "id": "shared_panelmodels_panel_models", + "community_name": "Community 54" + }, + { + "label": "getPanelModel()", + "file_type": "code", + "source_file": "shared/panelModels.ts", + "source_location": "L96", + "_origin": "ast", + "community": 1, + "norm_label": "getpanelmodel()", + "id": "shared_panelmodels_getpanelmodel", + "community_name": "Community 1" + }, + { + "label": "panelTypes.ts", + "file_type": "code", + "source_file": "shared/panelTypes.ts", + "source_location": "L1", + "_origin": "ast", + "community": 54, + "norm_label": "paneltypes.ts", + "id": "shared_paneltypes", + "community_name": "Community 54" + }, + { + "label": "panelEditSchema", + "file_type": "code", + "source_file": "shared/panelTypes.ts", + "source_location": "L22", + "_origin": "ast", + "community": 54, + "norm_label": "paneleditschema", + "id": "shared_paneltypes_paneleditschema", + "community_name": "Community 54" + }, + { + "label": "PanelEdit", + "file_type": "code", + "source_file": "shared/panelTypes.ts", + "source_location": "L36", + "_origin": "ast", + "community": 8, + "norm_label": "paneledit", + "id": "shared_paneltypes_paneledit", + "community_name": "Community 8" + }, + { + "label": "PanelModel", + "file_type": "code", + "source_file": "shared/panelTypes.ts", + "source_location": "L44", + "_origin": "ast", + "community": 54, + "norm_label": "panelmodel", + "id": "shared_paneltypes_panelmodel", + "community_name": "Community 54" + }, + { + "label": "projectDtos.ts", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L1", + "_origin": "ast", + "community": 32, + "norm_label": "projectdtos.ts", + "id": "shared_projectdtos", + "community_name": "Community 32" + }, + { + "label": "latLngSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L21", + "_origin": "ast", + "community": 32, + "norm_label": "latlngschema", + "id": "shared_projectdtos_latlngschema", + "community_name": "Community 32" + }, + { + "label": "buildingInsightsSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L31", + "_origin": "ast", + "community": 32, + "norm_label": "buildinginsightsschema", + "id": "shared_projectdtos_buildinginsightsschema", + "community_name": "Community 32" + }, + { + "label": "tariffRatesSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L64", + "_origin": "ast", + "community": 32, + "norm_label": "tariffratesschema", + "id": "shared_projectdtos_tariffratesschema", + "community_name": "Community 32" + }, + { + "label": "billBreakdownSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L93", + "_origin": "ast", + "community": 32, + "norm_label": "billbreakdownschema", + "id": "shared_projectdtos_billbreakdownschema", + "community_name": "Community 32" + }, + { + "label": "monthlyBreakdownSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L118", + "_origin": "ast", + "community": 32, + "norm_label": "monthlybreakdownschema", + "id": "shared_projectdtos_monthlybreakdownschema", + "community_name": "Community 32" + }, + { + "label": "inverterReplacementSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L138", + "_origin": "ast", + "community": 32, + "norm_label": "inverterreplacementschema", + "id": "shared_projectdtos_inverterreplacementschema", + "community_name": "Community 32" + }, + { + "label": "analysisConfigSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L153", + "_origin": "ast", + "community": 32, + "norm_label": "analysisconfigschema", + "id": "shared_projectdtos_analysisconfigschema", + "community_name": "Community 32" + }, + { + "label": "storedAnalysisConfigSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L182", + "_origin": "ast", + "community": 32, + "norm_label": "storedanalysisconfigschema", + "id": "shared_projectdtos_storedanalysisconfigschema", + "community_name": "Community 32" + }, + { + "label": "analysisResultsSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L193", + "_origin": "ast", + "community": 32, + "norm_label": "analysisresultsschema", + "id": "shared_projectdtos_analysisresultsschema", + "community_name": "Community 32" + }, + { + "label": "createProjectRequestSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L223", + "_origin": "ast", + "community": 46, + "norm_label": "createprojectrequestschema", + "id": "shared_projectdtos_createprojectrequestschema", + "community_name": "Community 46" + }, + { + "label": "saveLayoutRequestSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L231", + "_origin": "ast", + "community": 46, + "norm_label": "savelayoutrequestschema", + "id": "shared_projectdtos_savelayoutrequestschema", + "community_name": "Community 46" + }, + { + "label": "saveAnalysisRequestSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L239", + "_origin": "ast", + "community": 46, + "norm_label": "saveanalysisrequestschema", + "id": "shared_projectdtos_saveanalysisrequestschema", + "community_name": "Community 46" + }, + { + "label": "updateLayoutPreferencesRequestSchema", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L247", + "_origin": "ast", + "community": 46, + "norm_label": "updatelayoutpreferencesrequestschema", + "id": "shared_projectdtos_updatelayoutpreferencesrequestschema", + "community_name": "Community 46" + }, + { + "label": "BuildingInsightsDto", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L254", + "_origin": "ast", + "community": 27, + "norm_label": "buildinginsightsdto", + "id": "shared_projectdtos_buildinginsightsdto", + "community_name": "Community 27" + }, + { + "label": "AnalysisConfigDto", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L256", + "_origin": "ast", + "community": 32, + "norm_label": "analysisconfigdto", + "id": "shared_projectdtos_analysisconfigdto", + "community_name": "Community 32" + }, + { + "label": "StoredAnalysisConfigDto", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L258", + "_origin": "ast", + "community": 32, + "norm_label": "storedanalysisconfigdto", + "id": "shared_projectdtos_storedanalysisconfigdto", + "community_name": "Community 32" + }, + { + "label": "AnalysisResultsDto", + "file_type": "code", + "source_file": "shared/projectDtos.ts", + "source_location": "L260", + "_origin": "ast", + "community": 32, + "norm_label": "analysisresultsdto", + "id": "shared_projectdtos_analysisresultsdto", + "community_name": "Community 32" + }, + { + "label": "shared/quota.ts", + "file_type": "code", + "source_file": "shared/quota.ts", + "source_location": "L1", + "_origin": "ast", + "community": 14, + "norm_label": "shared/quota.ts", + "id": "shared_quota", + "community_name": "Community 14" + }, + { + "label": "UserTier", + "file_type": "code", + "source_file": "shared/quota.ts", + "source_location": "L10", + "_origin": "ast", + "community": 14, + "norm_label": "usertier", + "id": "shared_quota_usertier", + "community_name": "Community 14" + }, + { + "label": "TIER_DAILY_LIMITS", + "file_type": "code", + "source_file": "shared/quota.ts", + "source_location": "L19", + "_origin": "ast", + "community": 14, + "norm_label": "tier_daily_limits", + "id": "shared_quota_tier_daily_limits", + "community_name": "Community 14" + }, + { + "label": "QuotaSummary", + "file_type": "code", + "source_file": "shared/quota.ts", + "source_location": "L38", + "_origin": "ast", + "community": 14, + "norm_label": "quotasummary", + "id": "shared_quota_quotasummary", + "community_name": "Community 14" + }, + { + "label": "tariffDefaults.ts", + "file_type": "code", + "source_file": "shared/tariffDefaults.ts", + "source_location": "L1", + "_origin": "ast", + "community": 63, + "norm_label": "tariffdefaults.ts", + "id": "shared_tariffdefaults", + "community_name": "Community 63" + }, + { + "label": "TariffDefaults", + "file_type": "code", + "source_file": "shared/tariffDefaults.ts", + "source_location": "L19", + "_origin": "ast", + "community": 63, + "norm_label": "tariffdefaults", + "id": "shared_tariffdefaults_tariffdefaults", + "community_name": "Community 63" + }, + { + "label": "shared/tsconfig.json", + "file_type": "code", + "source_file": "shared/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "community": 64, + "norm_label": "shared/tsconfig.json", + "id": "shared_tsconfig", + "community_name": "Community 64" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "shared/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "community": 64, + "norm_label": "extends", + "id": "shared_tsconfig_extends", + "community_name": "Community 64" + }, + { + "label": "../tsconfig.json", + "file_type": "concept", + "source_file": "shared/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "community": 64, + "norm_label": "../tsconfig.json", + "id": "shared_tsconfig_json_ref_tsconfig_json", + "community_name": "Community 64" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "shared/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "community": 64, + "norm_label": "compileroptions", + "id": "shared_tsconfig_compileroptions", + "community_name": "Community 64" + }, + { + "label": "composite", + "file_type": "code", + "source_file": "shared/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "community": 64, + "norm_label": "composite", + "id": "shared_tsconfig_compileroptions_composite", + "community_name": "Community 64" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "shared/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "community": 64, + "norm_label": "outdir", + "id": "shared_tsconfig_compileroptions_outdir", + "community_name": "Community 64" + }, + { + "label": "rootDir", + "file_type": "code", + "source_file": "shared/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "community": 64, + "norm_label": "rootdir", + "id": "shared_tsconfig_compileroptions_rootdir", + "community_name": "Community 64" + }, + { + "label": "include", + "file_type": "code", + "source_file": "shared/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "community": 64, + "norm_label": "include", + "id": "shared_tsconfig_include", + "community_name": "Community 64" + }, + { + "label": "*.ts", + "file_type": "concept", + "source_file": "shared/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "community": 64, + "norm_label": "*.ts", + "id": "ref_ts", + "community_name": "Community 64" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "community": 15, + "norm_label": "tsconfig.json", + "id": "tsconfig", + "community_name": "Community 15" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "community": 15, + "norm_label": "compileroptions", + "id": "tsconfig_compileroptions", + "community_name": "Community 15" + }, + { + "label": "target", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "community": 15, + "norm_label": "target", + "id": "tsconfig_compileroptions_target", + "community_name": "Community 15" + }, + { + "label": "module", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "community": 15, + "norm_label": "module", + "id": "tsconfig_compileroptions_module", + "community_name": "Community 15" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "community": 15, + "norm_label": "moduleresolution", + "id": "tsconfig_compileroptions_moduleresolution", + "community_name": "Community 15" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "community": 15, + "norm_label": "lib", + "id": "tsconfig_compileroptions_lib", + "community_name": "Community 15" + }, + { + "label": "ES2020", + "file_type": "concept", + "source_file": "tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "community": 15, + "norm_label": "es2020", + "id": "tsconfig_json_ref_es2020", + "community_name": "Community 15" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "community": 15, + "norm_label": "strict", + "id": "tsconfig_compileroptions_strict", + "community_name": "Community 15" + }, + { + "label": "noUncheckedIndexedAccess", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "community": 15, + "norm_label": "nouncheckedindexedaccess", + "id": "tsconfig_compileroptions_nouncheckedindexedaccess", + "community_name": "Community 15" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "community": 15, + "norm_label": "esmoduleinterop", + "id": "tsconfig_compileroptions_esmoduleinterop", + "community_name": "Community 15" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L12", + "_origin": "ast", + "community": 15, + "norm_label": "skiplibcheck", + "id": "tsconfig_compileroptions_skiplibcheck", + "community_name": "Community 15" + }, + { + "label": "forceConsistentCasingInFileNames", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L13", + "_origin": "ast", + "community": 15, + "norm_label": "forceconsistentcasinginfilenames", + "id": "tsconfig_compileroptions_forceconsistentcasinginfilenames", + "community_name": "Community 15" + }, + { + "label": "resolveJsonModule", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "community": 15, + "norm_label": "resolvejsonmodule", + "id": "tsconfig_compileroptions_resolvejsonmodule", + "community_name": "Community 15" + }, + { + "label": "isolatedModules", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "community": 15, + "norm_label": "isolatedmodules", + "id": "tsconfig_compileroptions_isolatedmodules", + "community_name": "Community 15" + }, + { + "label": "allowImportingTsExtensions", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L16", + "_origin": "ast", + "community": 15, + "norm_label": "allowimportingtsextensions", + "id": "tsconfig_compileroptions_allowimportingtsextensions", + "community_name": "Community 15" + }, + { + "label": "rewriteRelativeImportExtensions", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L17", + "_origin": "ast", + "community": 15, + "norm_label": "rewriterelativeimportextensions", + "id": "tsconfig_compileroptions_rewriterelativeimportextensions", + "community_name": "Community 15" + }, + { + "label": "declaration", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L18", + "_origin": "ast", + "community": 15, + "norm_label": "declaration", + "id": "tsconfig_compileroptions_declaration", + "community_name": "Community 15" + }, + { + "label": "declarationMap", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L19", + "_origin": "ast", + "community": 15, + "norm_label": "declarationmap", + "id": "tsconfig_compileroptions_declarationmap", + "community_name": "Community 15" + }, + { + "label": "sourceMap", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L20", + "_origin": "ast", + "community": 15, + "norm_label": "sourcemap", + "id": "tsconfig_compileroptions_sourcemap", + "community_name": "Community 15" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L21", + "_origin": "ast", + "community": 15, + "norm_label": "paths", + "id": "tsconfig_compileroptions_paths", + "community_name": "Community 15" + }, + { + "label": "@shared/types", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L22", + "_origin": "ast", + "community": 15, + "norm_label": "@shared/types", + "id": "tsconfig_paths_shared_types", + "community_name": "Community 15" + }, + { + "label": "./shared/index.ts", + "file_type": "concept", + "source_file": "tsconfig.json", + "source_location": "L22", + "_origin": "ast", + "community": 15, + "norm_label": "./shared/index.ts", + "id": "tsconfig_json_ref_shared_index_ts", + "community_name": "Community 15" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "tsconfig.json", + "source_location": "L25", + "_origin": "ast", + "community": 15, + "norm_label": "exclude", + "id": "tsconfig_exclude", + "community_name": "Community 15" + }, + { + "label": "node_modules", + "file_type": "concept", + "source_file": "tsconfig.json", + "source_location": "L25", + "_origin": "ast", + "community": 15, + "norm_label": "node_modules", + "id": "ref_node_modules", + "community_name": "Community 15" + }, + { + "label": "dist", + "file_type": "concept", + "source_file": "tsconfig.json", + "source_location": "L25", + "_origin": "ast", + "community": 15, + "norm_label": "dist", + "id": "ref_dist", + "community_name": "Community 15" + }, + { + "label": "createProjectSchema", + "file_type": "code", + "source_file": "backend/src/validators/projects.ts", + "source_location": "L20", + "_origin": "ast", + "community": 46, + "norm_label": "createprojectschema", + "id": "backend_src_validators_projects_createprojectschema", + "community_name": "Community 46" + }, + { + "label": "saveLayoutSchema", + "file_type": "code", + "source_file": "backend/src/validators/projects.ts", + "source_location": "L26", + "_origin": "ast", + "community": 46, + "norm_label": "savelayoutschema", + "id": "backend_src_validators_projects_savelayoutschema", + "community_name": "Community 46" + }, + { + "label": "saveAnalysisSchema", + "file_type": "code", + "source_file": "backend/src/validators/projects.ts", + "source_location": "L32", + "_origin": "ast", + "community": 46, + "norm_label": "saveanalysisschema", + "id": "backend_src_validators_projects_saveanalysisschema", + "community_name": "Community 46" + }, + { + "label": "updateLayoutPreferencesSchema", + "file_type": "code", + "source_file": "backend/src/validators/projects.ts", + "source_location": "L38", + "_origin": "ast", + "community": 46, + "norm_label": "updatelayoutpreferencesschema", + "id": "backend_src_validators_projects_updatelayoutpreferencesschema", + "community_name": "Community 46" + } + ], + "links": [ + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package", + "target": "backend_package_dependencies" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package", + "target": "backend_package_devdependencies" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package", + "target": "backend_package_license" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package", + "target": "backend_package_name" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package", + "target": "backend_package_prisma" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package", + "target": "backend_package_private" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package", + "target": "backend_package_scripts" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package", + "target": "backend_package_type" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_scripts", + "target": "backend_package_scripts_build" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_scripts", + "target": "backend_package_scripts_dev" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_scripts", + "target": "backend_package_scripts_start" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_scripts", + "target": "backend_package_scripts_test" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_compression" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_cors" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_dotenv" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_dotenv_expand" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_express" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_geotiff" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_google_genai" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_jsonwebtoken" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_prisma_client" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_proj4" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_shared_types" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_sharp" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_supabase_supabase_js" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies", + "target": "backend_package_dependencies_zod" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L13", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_google_genai", + "target": "google_genai" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L14", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_prisma_client", + "target": "backend_package_json_prisma_client" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L15", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_shared_types", + "target": "backend_package_json_shared_types" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L16", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_supabase_supabase_js", + "target": "backend_package_json_supabase_supabase_js" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L17", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_compression", + "target": "compression" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L18", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_cors", + "target": "cors" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L19", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_dotenv", + "target": "dotenv" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L20", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_dotenv_expand", + "target": "dotenv_expand" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L21", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_express", + "target": "express" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L22", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_geotiff", + "target": "geotiff" + }, + { + "relation": "references", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_loadfluxdata", + "target": "backend_package_dependencies_geotiff" + }, + { + "relation": "references", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_geotiffservice_loadgeotiffwithfallback", + "target": "backend_package_dependencies_geotiff" + }, + { + "relation": "references", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline/convert.ts", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_convert_convertrgbtifftopng", + "target": "backend_package_dependencies_geotiff" + }, + { + "relation": "references", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_overlayservice_getorgenerateoverlay", + "target": "backend_package_dependencies_geotiff" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L23", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_jsonwebtoken", + "target": "jsonwebtoken" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L24", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_proj4", + "target": "backend_package_json_proj4" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L25", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_sharp", + "target": "sharp" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L26", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_dependencies_zod", + "target": "backend_package_json_zod" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_prisma", + "target": "backend_package_prisma_seed" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies", + "target": "backend_package_devdependencies_prisma" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies", + "target": "backend_package_devdependencies_tsx" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies", + "target": "backend_package_devdependencies_types_compression" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies", + "target": "backend_package_devdependencies_types_cors" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies", + "target": "backend_package_devdependencies_types_express" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies", + "target": "backend_package_devdependencies_types_jsonwebtoken" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies", + "target": "backend_package_devdependencies_types_node" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies", + "target": "backend_package_devdependencies_types_proj4" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies", + "target": "backend_package_devdependencies_typescript" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies", + "target": "backend_package_devdependencies_vitest" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L32", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies_types_compression", + "target": "types_compression" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L33", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies_types_cors", + "target": "types_cors" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L34", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies_types_express", + "target": "types_express" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L35", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies_types_jsonwebtoken", + "target": "types_jsonwebtoken" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L36", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies_types_node", + "target": "backend_package_json_types_node" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L37", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies_types_proj4", + "target": "types_proj4" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L38", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies_prisma", + "target": "backend_package_json_prisma" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L39", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies_tsx", + "target": "tsx" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L40", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies_typescript", + "target": "backend_package_json_typescript" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "backend/package.json", + "source_location": "L41", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_package_devdependencies_vitest", + "target": "backend_package_json_vitest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_app_allowedorigins" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_app_app" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_app_dirname" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_config_env" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_config_env_env" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_middleware_errorhandler" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_middleware_errorhandler_errorhandler" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_middleware_requestlogger" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_middleware_requestlogger_requestlogger" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_chat" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_chat_chatrouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_health" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_health_healthrouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_locations" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_locations_locationsrouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_projects" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_projects_projectsrouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_quota" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_quota_quotarouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_tariff" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/app.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_app", + "target": "backend_src_routes_tariff_tariffrouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/server.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_server", + "target": "backend_src_app" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/server.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_server", + "target": "backend_src_app_app" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/config/env.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_config_env", + "target": "backend_src_config_env_dirname" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/config/env.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_config_env", + "target": "backend_src_config_env_env" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/config/env.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_config_env", + "target": "backend_src_config_env_envschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/config/env.ts", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_config_env", + "target": "backend_src_config_env_parsed" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/config/supabase.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_config_supabase", + "target": "backend_src_config_env" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/server.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_server", + "target": "backend_src_config_env" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_client", + "target": "backend_src_config_env" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_config_env" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_config_env" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_pdftokenservice", + "target": "backend_src_config_env" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_config_env" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/config/supabase.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_config_supabase", + "target": "backend_src_config_env_env" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/server.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_server", + "target": "backend_src_config_env_env" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_client", + "target": "backend_src_config_env_env" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_config_env_env" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_config_env_env" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_pdftokenservice", + "target": "backend_src_config_env_env" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_config_env_env" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/config/prisma.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_config_prisma", + "target": "backend_src_config_prisma_prisma" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_tariff", + "target": "backend_src_config_prisma" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist", + "target": "backend_src_config_prisma" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_config_prisma" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_config_prisma" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "backend_src_config_prisma" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_tariff", + "target": "backend_src_config_prisma_prisma" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist", + "target": "backend_src_config_prisma_prisma" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_config_prisma_prisma" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_config_prisma_prisma" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "backend_src_config_prisma_prisma" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/config/supabase.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_config_supabase", + "target": "backend_src_config_supabase_supabase" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/auth.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_auth", + "target": "backend_src_config_supabase" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/storageService.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_storageservice", + "target": "backend_src_config_supabase" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "backend_src_config_supabase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/auth.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_auth", + "target": "backend_src_config_supabase_supabase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/storageService.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_storageservice", + "target": "backend_src_config_supabase_supabase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "backend_src_config_supabase_supabase" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors", + "target": "backend_src_errors_apperror" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors", + "target": "backend_src_errors_badrequesterror" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors", + "target": "backend_src_errors_forbiddenerror" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors", + "target": "backend_src_errors_notfounderror" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/errorHandler.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_errorhandler", + "target": "backend_src_errors" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_errors" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_errors" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_tariff", + "target": "backend_src_errors" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_errors" + }, + { + "relation": "imports_from", + "context": "import", + "deferred": true, + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_streamchat_test_loadstreamchat", + "target": "backend_src_errors" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_errors" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_errors" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors_apperror", + "target": "backend_src_errors_apperror_constructor" + }, + { + "relation": "inherits", + "context": "type", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors_badrequesterror", + "target": "backend_src_errors_apperror" + }, + { + "relation": "inherits", + "context": "type", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors_forbiddenerror", + "target": "backend_src_errors_apperror" + }, + { + "relation": "inherits", + "context": "type", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors_notfounderror", + "target": "backend_src_errors_apperror" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/errorHandler.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_errorhandler", + "target": "backend_src_errors_apperror" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_errors_apperror" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_errors_apperror" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors_badrequesterror", + "target": "backend_src_errors_badrequesterror_constructor" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_errors_badrequesterror" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors_forbiddenerror", + "target": "backend_src_errors_forbiddenerror_constructor" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "backend/src/errors.ts", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_errors_notfounderror", + "target": "backend_src_errors_notfounderror_constructor" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_errors_notfounderror" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_errors_notfounderror" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_tariff", + "target": "backend_src_errors_notfounderror" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_errors_notfounderror" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_errors_notfounderror" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_errors_notfounderror" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/fluxSampler.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_fluxsampler_test", + "target": "backend_src_geo_fluxsampler" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/fluxSampler.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_fluxsampler_test", + "target": "backend_src_geo_fluxsampler_calculateaverageflux" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/fluxSampler.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_fluxsampler_test", + "target": "backend_src_geo_fluxsampler_pointinpolygon" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/panelGeometry.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_panelgeometry_test", + "target": "backend_src_geo_panelgeometry" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/panelGeometry.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_panelgeometry_test", + "target": "backend_src_geo_panelgeometry_getrotatedcorners" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/panelGeometry.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_panelgeometry_test", + "target": "backend_src_geo_panelgeometry_rotatepoint" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/transforms.test.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_transforms_test", + "target": "backend_src_geo_tests_transforms_test_mockgeo" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/transforms.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_transforms_test", + "target": "backend_src_geo_transforms" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/transforms.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_transforms_test", + "target": "backend_src_geo_transforms_geotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/transforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_transforms_test", + "target": "backend_src_geo_transforms_latlngtopixel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/transforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_transforms_test", + "target": "backend_src_geo_transforms_meterstopixels" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/transforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_transforms_test", + "target": "backend_src_geo_transforms_pixeltolatlng" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/__tests__/transforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_tests_transforms_test", + "target": "backend_src_geo_transforms_setupgeotransform" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_fluxsampler", + "target": "backend_src_geo_fluxsampler_calculateaverageflux" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_fluxsampler", + "target": "backend_src_geo_fluxsampler_computemonthlyenergy" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_fluxsampler", + "target": "backend_src_geo_fluxsampler_computemonthlyenergyfromrasters" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_fluxsampler", + "target": "backend_src_geo_fluxsampler_pointinpolygon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L148", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_fluxsampler", + "target": "backend_src_geo_fluxsampler_preloadedfluxrasters" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L167", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_fluxsampler", + "target": "backend_src_geo_fluxsampler_preloadfluxrasters" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_fluxsampler" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_fluxsampler_calculateaverageflux", + "target": "backend_src_geo_fluxsampler_pointinpolygon" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_fluxsampler_computemonthlyenergy", + "target": "backend_src_geo_fluxsampler_calculateaverageflux" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/fluxSampler.ts", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_fluxsampler_computemonthlyenergyfromrasters", + "target": "backend_src_geo_fluxsampler_calculateaverageflux" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_fluxsampler_computemonthlyenergy" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_recomputesinglepanel", + "target": "backend_src_geo_fluxsampler_computemonthlyenergy" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_fluxsampler_preloadfluxrasters" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_recomputebatchpanels", + "target": "backend_src_geo_fluxsampler_preloadfluxrasters" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_fluxsampler_computemonthlyenergyfromrasters" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_recomputebatchpanels", + "target": "backend_src_geo_fluxsampler_computemonthlyenergyfromrasters" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/panelGeometry.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_panelgeometry", + "target": "backend_src_geo_panelgeometry_getrotatedcorners" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/panelGeometry.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_panelgeometry", + "target": "backend_src_geo_panelgeometry_rotatepoint" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_panelgeometry" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/panelGeometry.ts", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_panelgeometry_getrotatedcorners", + "target": "backend_src_geo_panelgeometry_rotatepoint" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_panelgeometry_getrotatedcorners" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_recomputebatchpanels", + "target": "backend_src_geo_panelgeometry_getrotatedcorners" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_recomputesinglepanel", + "target": "backend_src_geo_panelgeometry_getrotatedcorners" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_transforms", + "target": "backend_src_geo_transforms_geotransform" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_transforms", + "target": "backend_src_geo_transforms_latlngtopixel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_transforms", + "target": "backend_src_geo_transforms_meterstopixels" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_transforms", + "target": "backend_src_geo_transforms_pixeltolatlng" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/geo/transforms.ts", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_geo_transforms", + "target": "backend_src_geo_transforms_setupgeotransform" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_transforms" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice", + "target": "backend_src_geo_transforms" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_transforms_geotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_transforms_setupgeotransform" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice_loadfluxdata", + "target": "backend_src_geo_transforms_setupgeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice", + "target": "backend_src_geo_transforms_setupgeotransform" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_geotiffservice_loadreferencegeotransform", + "target": "backend_src_geo_transforms_setupgeotransform" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_geotiffservice_loadroofmask", + "target": "backend_src_geo_transforms_setupgeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_transforms_latlngtopixel" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_recomputebatchpanels", + "target": "backend_src_geo_transforms_latlngtopixel" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_recomputesinglepanel", + "target": "backend_src_geo_transforms_latlngtopixel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_geo_transforms_meterstopixels" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_recomputebatchpanels", + "target": "backend_src_geo_transforms_meterstopixels" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_recomputesinglepanel", + "target": "backend_src_geo_transforms_meterstopixels" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/asyncHandler.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_asynchandler", + "target": "backend_src_middleware_asynchandler_asynchandler" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/asyncHandler.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_asynchandler", + "target": "backend_src_middleware_asynchandler_asyncroutehandler" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_chat", + "target": "backend_src_middleware_asynchandler" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_middleware_asynchandler" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_asynchandler" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/quota.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_quota", + "target": "backend_src_middleware_asynchandler" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_tariff", + "target": "backend_src_middleware_asynchandler" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_chat", + "target": "backend_src_middleware_asynchandler_asynchandler" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_middleware_asynchandler_asynchandler" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_asynchandler_asynchandler" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/quota.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_quota", + "target": "backend_src_middleware_asynchandler_asynchandler" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_tariff", + "target": "backend_src_middleware_asynchandler_asynchandler" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/auth.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_auth", + "target": "backend_src_middleware_auth_express" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/auth.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_auth", + "target": "backend_src_middleware_auth_request" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/auth.ts", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_auth", + "target": "backend_src_middleware_auth_requireauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_chat", + "target": "backend_src_middleware_auth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_middleware_auth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_auth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/quota.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_quota", + "target": "backend_src_middleware_auth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_chat", + "target": "backend_src_middleware_auth_requireauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_middleware_auth_requireauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_auth_requireauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/quota.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_quota", + "target": "backend_src_middleware_auth_requireauth" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/checkQuota.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_checkquota", + "target": "backend_src_middleware_checkquota_checkquota" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/checkQuota.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_checkquota", + "target": "backend_src_services_userservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/checkQuota.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_checkquota", + "target": "backend_src_services_userservice_getquotasummary" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_checkquota" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/middleware/checkQuota.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_middleware_checkquota_checkquota", + "target": "backend_src_services_userservice_getquotasummary" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_checkquota_checkquota" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/errorHandler.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_errorhandler", + "target": "backend_src_middleware_errorhandler_errorhandler" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/pdfTokenRateLimit.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_pdftokenratelimit", + "target": "backend_src_middleware_pdftokenratelimit_hits" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/pdfTokenRateLimit.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_pdftokenratelimit", + "target": "backend_src_middleware_pdftokenratelimit_pdftokenratelimit" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_pdftokenratelimit" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_pdftokenratelimit_pdftokenratelimit" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/requestLogger.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_requestlogger", + "target": "backend_src_middleware_requestlogger_requestlogger" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_requirepdftoken", + "target": "backend_src_middleware_requirepdftoken_express" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_requirepdftoken", + "target": "backend_src_middleware_requirepdftoken_extracttoken" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_requirepdftoken", + "target": "backend_src_middleware_requirepdftoken_request" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_requirepdftoken", + "target": "backend_src_middleware_requirepdftoken_requirepdftoken" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_requirepdftoken", + "target": "backend_src_services_pdftokenservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_requirepdftoken", + "target": "backend_src_services_pdftokenservice_invalidpdftokenerror" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_requirepdftoken", + "target": "backend_src_services_pdftokenservice_verifypdftoken" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_requirepdftoken" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_requirepdftoken_requirepdftoken", + "target": "backend_src_middleware_requirepdftoken_extracttoken" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/middleware/requirePdfToken.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_middleware_requirepdftoken_requirepdftoken", + "target": "backend_src_services_pdftokenservice_verifypdftoken" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_requirepdftoken_requirepdftoken" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/middleware/validate.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_middleware_validate", + "target": "backend_src_middleware_validate_validate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_chat", + "target": "backend_src_middleware_validate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_middleware_validate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_validate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_chat", + "target": "backend_src_middleware_validate_validate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_middleware_validate_validate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_middleware_validate_validate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_chat", + "target": "backend_src_routes_chat_chatrouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_chat", + "target": "backend_src_services_chat_index" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_chat", + "target": "backend_src_validators_chat" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/chat.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_chat", + "target": "backend_src_validators_chat_chatrequestschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/health.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_health", + "target": "backend_src_routes_health_healthrouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/health.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_health", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/health.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_health", + "target": "shared_index_healthresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_routes_locations_locationsrouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_services_fluxrecomputeservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_services_fluxrecomputeservice_recomputebatchpanels" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_services_fluxrecomputeservice_recomputesinglepanel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_services_fluxrecomputeservice_validatefluxlocation" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_services_locationservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_services_overlayservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_services_overlayservice_overlaytype" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_validators_locations" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_validators_locations_fluxrecomputebatchschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_validators_locations_fluxrecomputeschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_validators_locations_probelocationschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/locations.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_locations", + "target": "backend_src_validators_locations_resolvelocationschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_routes_projects_projectsrouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_services_pdftokenservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_services_pdftokenservice_signpdftoken" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_services_projectservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_validators_projects" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_validators_projects_createprojectschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_validators_projects_saveanalysisschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_validators_projects_savelayoutschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "backend_src_validators_projects_updatelayoutpreferencesschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "shared_projectdtos_createprojectrequestschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "shared_projectdtos_saveanalysisrequestschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "shared_projectdtos_savelayoutrequestschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/projects.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_projects", + "target": "shared_projectdtos_updatelayoutpreferencesrequestschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/quota.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_quota", + "target": "backend_src_routes_quota_quotarouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/quota.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_quota", + "target": "backend_src_services_userservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/quota.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_quota", + "target": "backend_src_services_userservice_getquotasummary" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_tariff", + "target": "backend_src_routes_tariff_tariffrouter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_tariff", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_tariff", + "target": "shared_index_tariffconfigresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/routes/tariff.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_routes_tariff", + "target": "shared_tariffdefaults_tariffdefaults" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/buildingInsightsService.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_buildinginsightsservice_test", + "target": "backend_src_services_buildinginsightsservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/buildingInsightsService.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_buildinginsightsservice_test", + "target": "backend_src_services_buildinginsightsservice_parsepanelspecs" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_buildinginsightsservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_buildinginsightsservice_panelspecs" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_fluxrecomputeservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_fluxrecomputeservice_recomputesinglepanel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_computemonthlyenergymock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_downloadfromstoragemock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_fake_buffer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_fake_geo" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_fake_image" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_fromarraybuffermock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_getrotatedcornersmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_latlngtopixelmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_meterstopixelsmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_panel_specs" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_setupgeotransformmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/fluxRecomputeService.test.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_fluxrecomputeservice_test", + "target": "backend_src_services_tests_fluxrecomputeservice_test_setuphappypath" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationpipeline_test", + "target": "backend_src_services_locationpipeline_fetch" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationpipeline_test", + "target": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationpipeline_test", + "target": "backend_src_services_tests_locationpipeline_test_calculateradiusmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationpipeline_test", + "target": "backend_src_services_tests_locationpipeline_test_enrichbuildinginsightsmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationpipeline_test", + "target": "backend_src_services_tests_locationpipeline_test_fetchbuildinginsightsmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationpipeline_test", + "target": "backend_src_services_tests_locationpipeline_test_fetchdatalayersmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationpipeline_test", + "target": "backend_src_services_tests_locationpipeline_test_parsebuildinginsightsmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationPipeline.test.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationpipeline_test", + "target": "backend_src_services_tests_locationpipeline_test_valid_bi" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationService.test.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationservice_test", + "target": "backend_src_services_locationservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationService.test.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationservice_test", + "target": "backend_src_services_locationservice_getlocationdataforuser" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationService.test.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationservice_test", + "target": "backend_src_services_locationservice_getlocationstatusforuser" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationService.test.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationservice_test", + "target": "backend_src_services_locationservice_resolvelocation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationService.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationservice_test", + "target": "backend_src_services_tests_locationservice_test_findfirst_update_create_projectupdatemany" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/locationService.test.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_locationservice_test", + "target": "backend_src_services_tests_locationservice_test_runlocationpipelinemock" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/solarApiService.test.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_solarapiservice_test", + "target": "backend_src_services_solarapiservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/solarApiService.test.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_solarapiservice_test", + "target": "backend_src_services_solarapiservice_fetchbuildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/solarApiService.test.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_solarapiservice_test", + "target": "backend_src_services_solarapiservice_fetchdatalayers" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/solarApiService.test.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_solarapiservice_test", + "target": "backend_src_services_solarapiservice_findbestqualityforlocation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/solarApiService.test.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_solarapiservice_test", + "target": "backend_src_services_tests_solarapiservice_test_mockfetch" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/userService.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_userservice_test", + "target": "backend_src_services_tests_userservice_test_count_single_eq_select_from" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/userService.test.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_userservice_test", + "target": "backend_src_services_userservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/userService.test.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_userservice_test", + "target": "backend_src_services_userservice_getquotasummary" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/userService.test.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_userservice_test", + "target": "backend_src_services_userservice_nextutcmidnight" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/__tests__/userService.test.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_tests_userservice_test", + "target": "backend_src_services_userservice_startofutcday" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_buildinginsightsservice", + "target": "backend_src_services_buildinginsightsservice_buildinginsightsdto" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_buildinginsightsservice", + "target": "backend_src_services_buildinginsightsservice_buildinginsightsschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_buildinginsightsservice", + "target": "backend_src_services_buildinginsightsservice_latlngschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_buildinginsightsservice", + "target": "backend_src_services_buildinginsightsservice_panelspecs" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_buildinginsightsservice", + "target": "backend_src_services_buildinginsightsservice_parsebuildinginsights" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_buildinginsightsservice", + "target": "backend_src_services_buildinginsightsservice_parsepanelspecs" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_buildinginsightsservice", + "target": "backend_src_services_buildinginsightsservice_solarpanelschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/buildingInsightsService.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_buildinginsightsservice", + "target": "backend_src_services_buildinginsightsservice_solarpotentialschema" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_buildinginsightsservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_buildinginsightsservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_buildinginsightsservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_buildinginsightsservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_buildinginsightsservice_panelspecs" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_buildinginsightsservice_buildinginsightsdto" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_buildinginsightsservice_parsebuildinginsights" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs", + "target": "backend_src_services_buildinginsightsservice_parsebuildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_buildinginsightsservice_parsebuildinginsights" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L231", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_getlocationdataresponseforuser", + "target": "backend_src_services_buildinginsightsservice_parsebuildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_buildinginsightsservice_parsepanelspecs" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_fluxrecomputeservice_validatefluxlocation", + "target": "backend_src_services_buildinginsightsservice_parsepanelspecs" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/client.test.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_client_test", + "target": "backend_src_services_chat_tests_client_test_env" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/client.test.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_client_test", + "target": "backend_src_services_chat_tests_client_test_envmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/client.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_client_test", + "target": "backend_src_services_chat_tests_client_test_mockgooglegenai" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/digest.test.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_digest_test", + "target": "backend_src_services_chat_tests_digest_test_chatproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/digest.test.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_digest_test", + "target": "backend_src_services_chat_tests_digest_test_makeproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/digest.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_digest_test", + "target": "backend_src_services_chat_tests_digest_test_test_env" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/errors.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_errors_test", + "target": "backend_src_services_chat_tests_errors_test_test_env" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/guardrails.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_guardrails_test", + "target": "backend_src_services_chat_tests_guardrails_test_test_env" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/retry.test.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_retry_test", + "target": "backend_src_services_chat_tests_retry_test_test_env" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/retry.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_retry_test", + "target": "backend_src_services_chat_tests_retry_test_wallclocknow" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_streamchat_test", + "target": "backend_src_services_chat_tests_streamchat_test_loadedstreamchatmodule" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_streamchat_test", + "target": "backend_src_services_chat_tests_streamchat_test_loadstreamchat" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_streamchat_test", + "target": "backend_src_services_chat_tests_streamchat_test_makeproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_streamchat_test", + "target": "backend_src_services_chat_tests_streamchat_test_makerequest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_streamchat_test", + "target": "backend_src_services_chat_tests_streamchat_test_makeresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_streamchat_test", + "target": "backend_src_services_chat_tests_streamchat_test_streamchunks" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_streamchat_test", + "target": "backend_src_services_chat_tests_streamchat_test_test_env" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_streamchat_test_loadstreamchat", + "target": "backend_src_services_chat_tests_streamchat_test_makeproject" + }, + { + "relation": "imports_from", + "context": "import", + "deferred": true, + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/__tests__/streamChat.test.ts", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_tests_streamchat_test_loadstreamchat", + "target": "backend_src_services_chat_index" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_client", + "target": "backend_src_services_chat_client_clientmode" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_client", + "target": "backend_src_services_chat_client_getgenaiclient" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_client", + "target": "backend_src_services_chat_client_invalidateforauthfailure" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/client.ts", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_client", + "target": "backend_src_services_chat_client_resetclientfortests" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_client" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_client_getgenaiclient" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_client_invalidateforauthfailure" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L120", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_chat_index_streamchat", + "target": "backend_src_services_chat_client_invalidateforauthfailure" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_bucketbyorientation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_chatpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_chatproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L211", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_countactivepanels" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L250", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_countsegmentsused" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_describeinverterreplacements" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L277", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_formatmaybenumber" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L273", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_formatnumber" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L281", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_formatpercent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_formatrate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L269", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_formatrm" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_month_labels" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L186", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_parseanalysisconfig" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_parseanalysisresults" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L206", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_parsebuildinginsights" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L201", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_parseeditedlayout" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L196", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_parselayoutpreferences" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_renderanalysisblock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_renderlayoutblock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L153", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_rendermonthlybreakdowntable" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_renderprojectblock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_renderprojectdigest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_chat_digest_solarpanelschema" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_services_projectservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_validators_chat" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "backend_src_validators_chat_chatlivestate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_layoutpreferences_layoutpreferences" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_layoutpreferences_layoutpreferencesschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_paneltypes_paneleditschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_projectdtos_analysisresultsdto" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_projectdtos_analysisresultsschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_projectdtos_buildinginsightsdto" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_projectdtos_buildinginsightsschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_projectdtos_storedanalysisconfigdto" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest", + "target": "shared_projectdtos_storedanalysisconfigschema" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_digest" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderprojectdigest", + "target": "backend_src_services_chat_digest_parseanalysisconfig" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderprojectdigest", + "target": "backend_src_services_chat_digest_parseanalysisresults" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderprojectdigest", + "target": "backend_src_services_chat_digest_parsebuildinginsights" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderprojectdigest", + "target": "backend_src_services_chat_digest_parseeditedlayout" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderprojectdigest", + "target": "backend_src_services_chat_digest_parselayoutpreferences" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderprojectdigest", + "target": "backend_src_services_chat_digest_renderanalysisblock" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderprojectdigest", + "target": "backend_src_services_chat_digest_renderlayoutblock" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderprojectdigest", + "target": "backend_src_services_chat_digest_renderprojectblock" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_digest_renderprojectdigest" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_chat_prompt_buildsysteminstruction", + "target": "backend_src_services_chat_digest_renderprojectdigest" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderprojectblock", + "target": "backend_src_services_chat_digest_countactivepanels" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderprojectblock", + "target": "backend_src_services_chat_digest_formatmaybenumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderlayoutblock", + "target": "backend_src_services_chat_digest_bucketbyorientation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderlayoutblock", + "target": "backend_src_services_chat_digest_countsegmentsused" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderanalysisblock", + "target": "backend_src_services_chat_digest_describeinverterreplacements" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderanalysisblock", + "target": "backend_src_services_chat_digest_formatmaybenumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderanalysisblock", + "target": "backend_src_services_chat_digest_formatnumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderanalysisblock", + "target": "backend_src_services_chat_digest_formatpercent" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderanalysisblock", + "target": "backend_src_services_chat_digest_formatrate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderanalysisblock", + "target": "backend_src_services_chat_digest_formatrm" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_renderanalysisblock", + "target": "backend_src_services_chat_digest_rendermonthlybreakdowntable" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_rendermonthlybreakdowntable", + "target": "backend_src_services_chat_digest_formatnumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L160", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_rendermonthlybreakdowntable", + "target": "backend_src_services_chat_digest_formatrm" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/digest.ts", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_digest_describeinverterreplacements", + "target": "backend_src_services_chat_digest_formatrm" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_errors", + "target": "backend_src_services_chat_errors_categoriseerror" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_errors", + "target": "backend_src_services_chat_errors_chatlanguage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_errors", + "target": "backend_src_services_chat_errors_errorcategory" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_errors", + "target": "backend_src_services_chat_errors_geterrorcode" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_errors", + "target": "backend_src_services_chat_errors_localiseerrormessage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_errors", + "target": "backend_src_services_chat_errors_redacterrormessage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_errors" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_retry", + "target": "backend_src_services_chat_errors" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_errors_errorcategory" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_errors_categoriseerror", + "target": "backend_src_services_chat_errors_geterrorcode" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_errors_geterrorcode" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_chat_index_streamchat", + "target": "backend_src_services_chat_errors_geterrorcode" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_retry", + "target": "backend_src_services_chat_errors_geterrorcode" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_retry_isretryable", + "target": "backend_src_services_chat_errors_geterrorcode" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_errors_categoriseerror", + "target": "backend_src_services_chat_errors_localiseerrormessage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/errors.ts", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_errors_categoriseerror", + "target": "backend_src_services_chat_errors_redacterrormessage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_errors_categoriseerror" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_chat_index_streamchat", + "target": "backend_src_services_chat_errors_categoriseerror" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/guardrails.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_guardrails", + "target": "backend_src_services_chat_guardrails_guardresult" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/guardrails.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_guardrails", + "target": "backend_src_services_chat_guardrails_patterns" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/guardrails.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_guardrails", + "target": "backend_src_services_chat_guardrails_validatechatinput" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_guardrails" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_guardrails_validatechatinput" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_chat_index_streamchat", + "target": "backend_src_services_chat_guardrails_validatechatinput" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_index_buildcontents" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_index_chatevent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_index_chatproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_index_processing_message" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_index_setsseheaders" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_index_streamchat" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L167", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_index_writesse" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_prompt" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_prompt_buildsysteminstruction" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_retry" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_chat_retry_generatewithretry" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_services_projectservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_validators_chat" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index", + "target": "backend_src_validators_chat_chatrequest" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index_streamchat", + "target": "backend_src_services_chat_index_buildcontents" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index_streamchat", + "target": "backend_src_services_chat_index_setsseheaders" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_index_streamchat", + "target": "backend_src_services_chat_index_writesse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_chat_index_streamchat", + "target": "backend_src_services_chat_prompt_buildsysteminstruction" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/chat/index.ts", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_chat_index_streamchat", + "target": "backend_src_services_chat_retry_generatewithretry" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_knowledge", + "target": "backend_src_services_chat_knowledge_dirname" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_knowledge", + "target": "backend_src_services_chat_knowledge_knowledge_path" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_knowledge", + "target": "backend_src_services_chat_knowledge_loadknowledgebible" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_knowledge", + "target": "backend_src_services_chat_knowledge_parsesections" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_knowledge", + "target": "backend_src_services_chat_knowledge_renderknowledgeforprompt" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_knowledge" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_knowledge_loadknowledgebible", + "target": "backend_src_services_chat_knowledge_parsesections" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/knowledge.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_knowledge_renderknowledgeforprompt", + "target": "backend_src_services_chat_knowledge_loadknowledgebible" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_knowledge_renderknowledgeforprompt" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_chat_prompt_buildsysteminstruction", + "target": "backend_src_services_chat_knowledge_renderknowledgeforprompt" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_prompt_buildsysteminstruction" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_prompt_chatlanguage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_prompt_chatpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_prompt_chatproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_prompt_language_meta" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_prompt_renderlanguagelayer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_prompt_renderpersonalayer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_chat_prompt_renderruleslayer" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_services_projectservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_validators_chat" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt", + "target": "backend_src_validators_chat_chatlivestate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt_buildsysteminstruction", + "target": "backend_src_services_chat_prompt_renderlanguagelayer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt_buildsysteminstruction", + "target": "backend_src_services_chat_prompt_renderpersonalayer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/prompt.ts", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_prompt_buildsysteminstruction", + "target": "backend_src_services_chat_prompt_renderruleslayer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_retry", + "target": "backend_src_services_chat_retry_generatewithretry" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_retry", + "target": "backend_src_services_chat_retry_isretryable" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_retry", + "target": "backend_src_services_chat_retry_sleep" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_retry_generatewithretry", + "target": "backend_src_services_chat_retry_isretryable" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/chat/retry.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_chat_retry_generatewithretry", + "target": "backend_src_services_chat_retry_sleep" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_fluxrecomputeservice_fluxlocationdata" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_fluxrecomputeservice_loadfluxdata" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_fluxrecomputeservice_recomputebatchpanels" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_fluxrecomputeservice_recomputesinglepanel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_fluxrecomputeservice_validatedlocation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_fluxrecomputeservice_validatefluxlocation" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_locationservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_storageservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "backend_src_services_storageservice_downloadfromstorage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice", + "target": "shared_index_fluxrecomputeresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice_loadfluxdata", + "target": "backend_src_services_storageservice_downloadfromstorage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice_recomputebatchpanels", + "target": "backend_src_services_fluxrecomputeservice_loadfluxdata" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/fluxRecomputeService.ts", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_fluxrecomputeservice_recomputesinglepanel", + "target": "backend_src_services_fluxrecomputeservice_loadfluxdata" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice", + "target": "backend_src_services_geotiffservice_imagegeotransform" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice", + "target": "backend_src_services_geotiffservice_loadgeotiffwithfallback" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice", + "target": "backend_src_services_geotiffservice_loadreferencegeotransform" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice", + "target": "backend_src_services_geotiffservice_loadroofmask" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice", + "target": "backend_src_services_geotiffservice_roofmaskresult" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice", + "target": "backend_src_services_geotiffservice_uniquepaths" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice", + "target": "backend_src_services_storageservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice", + "target": "backend_src_services_storageservice_downloadfromstorage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_geotiffservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_geotiffservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_geotiffservice" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_geotiffservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_geotiffservice_imagegeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_geotiffservice_imagegeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_geotiffservice_roofmaskresult" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice_loadgeotiffwithfallback", + "target": "backend_src_services_storageservice_downloadfromstorage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice_loadreferencegeotransform", + "target": "backend_src_services_geotiffservice_loadgeotiffwithfallback" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice_loadroofmask", + "target": "backend_src_services_geotiffservice_loadgeotiffwithfallback" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice_loadreferencegeotransform", + "target": "backend_src_services_geotiffservice_uniquepaths" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/geoTiffService.ts", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_geotiffservice_loadroofmask", + "target": "backend_src_services_geotiffservice_uniquepaths" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_geotiffservice_loadreferencegeotransform" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L237", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_getlocationdataresponseforuser", + "target": "backend_src_services_geotiffservice_loadreferencegeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_geotiffservice_loadreferencegeotransform" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L194", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_getpdfprojectdata", + "target": "backend_src_services_geotiffservice_loadreferencegeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_geotiffservice_loadroofmask" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L237", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_getlocationdataresponseforuser", + "target": "backend_src_services_geotiffservice_loadroofmask" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline", + "target": "backend_src_services_locationpipeline_fetch" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline", + "target": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline", + "target": "backend_src_services_locationpipeline_persist" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline", + "target": "backend_src_services_locationpipeline_persist_persistlocationpipelinefailure" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline", + "target": "backend_src_services_locationpipeline_persist_persistlocationpipelinesuccess" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline", + "target": "backend_src_services_locationpipeline_runlocationpipeline" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline", + "target": "backend_src_services_locationpipeline_store" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline", + "target": "backend_src_services_locationpipeline_store_storelocationpipelineassets" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline", + "target": "backend_src_services_solarapiservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline", + "target": "backend_src_services_solarapiservice_imageryquality" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationpipeline" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_runlocationpipeline", + "target": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_runlocationpipeline", + "target": "backend_src_services_locationpipeline_persist_persistlocationpipelinefailure" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_runlocationpipeline", + "target": "backend_src_services_locationpipeline_persist_persistlocationpipelinesuccess" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline.ts", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_runlocationpipeline", + "target": "backend_src_services_locationpipeline_store_storelocationpipelineassets" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationpipeline_runlocationpipeline" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_resolvelocation", + "target": "backend_src_services_locationpipeline_runlocationpipeline" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/convert.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_convert", + "target": "backend_src_services_locationpipeline_convert_convertrgbtifftopng" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/convert.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_convert", + "target": "backend_src_services_locationpipeline_convert_toarraybuffer" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_store", + "target": "backend_src_services_locationpipeline_convert" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/convert.ts", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_convert_convertrgbtifftopng", + "target": "backend_src_services_locationpipeline_convert_toarraybuffer" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_store", + "target": "backend_src_services_locationpipeline_convert_convertrgbtifftopng" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_store_storelocationpipelineassets", + "target": "backend_src_services_locationpipeline_convert_convertrgbtifftopng" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_locationpipeline_fetch_downloadedlayer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_locationpipeline_fetch_downloadlayer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_locationpipeline_fetch_getlayerurl" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_locationpipeline_fetch_layer_filenames" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_locationpipeline_fetch_pipelinefetchresult" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_locationpipeline_fetch_solarlayerkey" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_solarapiservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_solarapiservice_buildinginsightsapiresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_solarapiservice_calculateradius" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_solarapiservice_datalayersapiresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_solarapiservice_enrichbuildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_solarapiservice_fetchbuildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_solarapiservice_fetchdatalayers" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_solarapiservice_fetchwithtimeout" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch", + "target": "backend_src_services_solarapiservice_imageryquality" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_store", + "target": "backend_src_services_locationpipeline_fetch" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_store", + "target": "backend_src_services_locationpipeline_fetch_downloadedlayer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch_downloadlayer", + "target": "backend_src_services_solarapiservice_fetchwithtimeout" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs", + "target": "backend_src_services_locationpipeline_fetch_downloadlayer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs", + "target": "backend_src_services_locationpipeline_fetch_getlayerurl" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs", + "target": "backend_src_services_solarapiservice_calculateradius" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L102", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs", + "target": "backend_src_services_solarapiservice_enrichbuildinginsights" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs", + "target": "backend_src_services_solarapiservice_fetchbuildinginsights" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline/fetch.ts", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_fetch_fetchlocationpipelineinputs", + "target": "backend_src_services_solarapiservice_fetchdatalayers" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist", + "target": "backend_src_services_locationpipeline_persist_persistlocationpipelinefailure" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist", + "target": "backend_src_services_locationpipeline_persist_persistlocationpipelinesuccess" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist", + "target": "backend_src_services_locationpipeline_persist_serializejsonvalue" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist", + "target": "backend_src_services_locationpipeline_store" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist", + "target": "backend_src_services_locationpipeline_store_storedlocationassets" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist", + "target": "backend_src_services_solarapiservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist", + "target": "backend_src_services_solarapiservice_buildinginsightsapiresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist", + "target": "backend_src_services_solarapiservice_imageryquality" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/persist.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_persist_persistlocationpipelinesuccess", + "target": "backend_src_services_locationpipeline_persist_serializejsonvalue" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_store", + "target": "backend_src_services_locationpipeline_store_storedlocationassets" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_store", + "target": "backend_src_services_locationpipeline_store_storelocationpipelineassets" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_store", + "target": "backend_src_services_storageservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationpipeline_store", + "target": "backend_src_services_storageservice_uploadtostorage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationPipeline/store.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationpipeline_store_storelocationpipelineassets", + "target": "backend_src_services_storageservice_uploadtostorage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L210", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationservice_getlocationdataforuser" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L223", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationservice_getlocationdataresponseforuser" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationservice_getlocationstatusforuser" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L198", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationservice_getlocationstatusresponseforuser" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L250", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationservice_getoverlayresponseforuser" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationservice_linkownedprojecttolocation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationservice_probelocation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationservice_resolvelocation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationservice_resolvelocationresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_locationservice_resolvelocationresult" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_overlayservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_overlayservice_getorgenerateoverlay" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_overlayservice_overlaytype" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_overlayservice_resolvetifpath" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_solarapiservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_solarapiservice_findbestqualityforlocation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_solarapiservice_imageryquality" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_storageservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_storageservice_getsignedurl" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_viewmodels_locationresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_viewmodels_locationresponse_buildlocationdataresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_viewmodels_locationresponse_buildlocationstatusresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_viewmodels_locationresponse_buildoverlayresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_viewmodels_locationresponse_buildprobelocationresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice", + "target": "backend_src_services_viewmodels_locationresponse_buildresolvelocationresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice_resolvelocation", + "target": "backend_src_services_locationservice_linkownedprojecttolocation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L152", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice_resolvelocationresponse", + "target": "backend_src_services_locationservice_resolvelocation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L153", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_resolvelocationresponse", + "target": "backend_src_services_viewmodels_locationresponse_buildresolvelocationresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_probelocation", + "target": "backend_src_services_solarapiservice_findbestqualityforlocation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L165", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_probelocation", + "target": "backend_src_services_viewmodels_locationresponse_buildprobelocationresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice_getlocationstatusresponseforuser", + "target": "backend_src_services_locationservice_getlocationstatusforuser" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_getlocationstatusresponseforuser", + "target": "backend_src_services_viewmodels_locationresponse_buildlocationstatusresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice_getlocationdataresponseforuser", + "target": "backend_src_services_locationservice_getlocationdataforuser" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/locationService.ts", + "source_location": "L251", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_locationservice_getoverlayresponseforuser", + "target": "backend_src_services_locationservice_getlocationdataforuser" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L236", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_getlocationdataresponseforuser", + "target": "backend_src_services_storageservice_getsignedurl" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L239", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_getlocationdataresponseforuser", + "target": "backend_src_services_viewmodels_locationresponse_buildlocationdataresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L261", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_getoverlayresponseforuser", + "target": "backend_src_services_overlayservice_getorgenerateoverlay" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L256", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_getoverlayresponseforuser", + "target": "backend_src_services_overlayservice_resolvetifpath" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/locationService.ts", + "source_location": "L262", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_locationservice_getoverlayresponseforuser", + "target": "backend_src_services_viewmodels_locationresponse_buildoverlayresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_overlayservice_colorstop" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_overlayservice_dsmstops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_overlayservice_fluxstops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L151", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_overlayservice_getorgenerateoverlay" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_overlayservice_getstopsfortype" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_overlayservice_lerpcolor" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_overlayservice_maskstops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_overlayservice_overlaytype" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_overlayservice_resolvetifpath" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_storageservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_storageservice_downloadfromstorage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_storageservice_getsignedurl" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice", + "target": "backend_src_services_storageservice_uploadtostorage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice_getorgenerateoverlay", + "target": "backend_src_services_overlayservice_lerpcolor" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L187", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_overlayservice_getorgenerateoverlay", + "target": "backend_src_services_overlayservice_getstopsfortype" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L165", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_overlayservice_getorgenerateoverlay", + "target": "backend_src_services_storageservice_downloadfromstorage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L159", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_overlayservice_getorgenerateoverlay", + "target": "backend_src_services_storageservice_getsignedurl" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/overlayService.ts", + "source_location": "L232", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_overlayservice_getorgenerateoverlay", + "target": "backend_src_services_storageservice_uploadtostorage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_pdftokenservice", + "target": "backend_src_services_pdftokenservice_invalidpdftokenerror" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_pdftokenservice", + "target": "backend_src_services_pdftokenservice_pdftokenpayload" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_pdftokenservice", + "target": "backend_src_services_pdftokenservice_signedpdftoken" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_pdftokenservice", + "target": "backend_src_services_pdftokenservice_signpdftoken" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_pdftokenservice", + "target": "backend_src_services_pdftokenservice_token_type" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_pdftokenservice", + "target": "backend_src_services_pdftokenservice_verifypdftoken" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/pdfTokenService.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_pdftokenservice_invalidpdftokenerror", + "target": "backend_src_services_pdftokenservice_invalidpdftokenerror_constructor" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_projectservice_createproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_projectservice_deleteproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_projectservice_findownedproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L187", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_projectservice_getpdfprojectdata" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_projectservice_getproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_projectservice_listprojects" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L159", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_projectservice_saveanalysis" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_projectservice_savelayout" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_projectservice_updatelayoutpreferences" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_storageservice" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_storageservice_getsignedurl" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_viewmodels_projectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_viewmodels_projectresponse_analysisconfigdto" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_viewmodels_projectresponse_analysisresultsdto" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_viewmodels_projectresponse_buildpdfprojectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_viewmodels_projectresponse_layoutpreferencesdto" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_viewmodels_projectresponse_mergeanalysisconfig" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_viewmodels_projectresponse_mergelayoutpreferences" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "backend_src_services_viewmodels_projectresponse_serializejsonvalue" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice_getpdfprojectdata", + "target": "backend_src_services_projectservice_findownedproject" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice_getproject", + "target": "backend_src_services_projectservice_findownedproject" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L165", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice_saveanalysis", + "target": "backend_src_services_projectservice_findownedproject" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice_savelayout", + "target": "backend_src_services_projectservice_findownedproject" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/projectService.ts", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_projectservice_updatelayoutpreferences", + "target": "backend_src_services_projectservice_findownedproject" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_createproject", + "target": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_listprojects", + "target": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_getproject", + "target": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_savelayout", + "target": "backend_src_services_viewmodels_projectresponse_mergeanalysisconfig" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_savelayout", + "target": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_savelayout", + "target": "backend_src_services_viewmodels_projectresponse_serializejsonvalue" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_updatelayoutpreferences", + "target": "backend_src_services_viewmodels_projectresponse_mergelayoutpreferences" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L147", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_updatelayoutpreferences", + "target": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_updatelayoutpreferences", + "target": "backend_src_services_viewmodels_projectresponse_serializejsonvalue" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L167", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_saveanalysis", + "target": "backend_src_services_viewmodels_projectresponse_mergeanalysisconfig" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_saveanalysis", + "target": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_saveanalysis", + "target": "backend_src_services_viewmodels_projectresponse_serializejsonvalue" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L192", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_getpdfprojectdata", + "target": "backend_src_services_storageservice_getsignedurl" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "backend/src/services/projectService.ts", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast", + "source": "backend_src_services_projectservice_getpdfprojectdata", + "target": "backend_src_services_viewmodels_projectresponse_buildpdfprojectresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_buildinginsightsapiresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_buildsolarparams" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L299", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_calculateradius" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L102", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_datalayersapiresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L334", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_enrichbuildinginsights" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_fetchbuildinginsights" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_fetchdatalayers" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_fetchwithtimeout" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L234", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_findbestqualityforlocation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L313", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_haversinedistance" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_imageryquality" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_isrecord" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L271", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_probeendpoint" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L262", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_probefullchain" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L211", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_proberesult" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_solarapiopts" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_solarboundingbox" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice", + "target": "backend_src_services_solarapiservice_solarcoordinate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L146", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice_fetchbuildinginsights", + "target": "backend_src_services_solarapiservice_fetchwithtimeout" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice_fetchdatalayers", + "target": "backend_src_services_solarapiservice_fetchwithtimeout" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L284", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice_probeendpoint", + "target": "backend_src_services_solarapiservice_fetchwithtimeout" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L335", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice_enrichbuildinginsights", + "target": "backend_src_services_solarapiservice_isrecord" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L151", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice_fetchbuildinginsights", + "target": "backend_src_services_solarapiservice_isrecord" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice_fetchbuildinginsights", + "target": "backend_src_services_solarapiservice_buildsolarparams" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L278", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice_probeendpoint", + "target": "backend_src_services_solarapiservice_buildsolarparams" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L239", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice_findbestqualityforlocation", + "target": "backend_src_services_solarapiservice_probefullchain" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L263", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice_probefullchain", + "target": "backend_src_services_solarapiservice_probeendpoint" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/solarApiService.ts", + "source_location": "L300", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_solarapiservice_calculateradius", + "target": "backend_src_services_solarapiservice_haversinedistance" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/storageService.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_storageservice", + "target": "backend_src_services_storageservice_downloadfromstorage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/storageService.ts", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_storageservice", + "target": "backend_src_services_storageservice_getsignedurl" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/storageService.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_storageservice", + "target": "backend_src_services_storageservice_uploadtostorage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "backend_src_services_userservice_countprojectssinceutcmidnight" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "backend_src_services_userservice_getquotasummary" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "backend_src_services_userservice_getusertier" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "backend_src_services_userservice_nextutcmidnight" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "backend_src_services_userservice_startofutcday" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "shared_quota_quotasummary" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "shared_quota_tier_daily_limits" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice", + "target": "shared_quota_usertier" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice_countprojectssinceutcmidnight", + "target": "backend_src_services_userservice_startofutcday" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice_nextutcmidnight", + "target": "backend_src_services_userservice_startofutcday" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice_getquotasummary", + "target": "backend_src_services_userservice_nextutcmidnight" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice_getquotasummary", + "target": "backend_src_services_userservice_getusertier" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/userService.ts", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_userservice_getquotasummary", + "target": "backend_src_services_userservice_countprojectssinceutcmidnight" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_viewmodels_locationresponse_buildfluxrecomputebatchresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_viewmodels_locationresponse_buildlocationdataresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_viewmodels_locationresponse_buildlocationstatusresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_viewmodels_locationresponse_buildoverlayresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_viewmodels_locationresponse_buildprobelocationresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_viewmodels_locationresponse_buildresolvelocationresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "backend_src_services_viewmodels_locationresponse_locationdatarouteresponse" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "shared_index_fluxrecomputebatchresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "shared_index_fluxrecomputeresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "shared_index_locationdataresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "shared_index_locationstatusresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "shared_index_probelocationresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/locationResponse.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_locationresponse", + "target": "shared_index_resolvelocationresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_analysisconfigdto" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_analysisconfigschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_analysisresultsdto" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_analysisresultsschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_billbreakdownschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L259", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_buildpdfprojectresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_isjsonobject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_jsonfieldsproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_layoutpreferencesdto" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_layoutpreferencesschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L198", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_mergeanalysisconfig" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L208", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_mergelayoutpreferences" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_monthlybreakdownschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L234", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_parseanalysisconfig" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_parseanalysisresults" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_parselayoutpreferences" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_parsewithschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L153", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_pdfprojectresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L217", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "backend_src_services_viewmodels_projectresponse_serializejsonvalue" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse", + "target": "shared_layoutpreferences_layoutpreferences" + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse_rationale_224", + "target": "backend_src_services_viewmodels_projectresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse", + "target": "backend_src_services_viewmodels_projectresponse_isjsonobject" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L172", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse_parseanalysisconfig", + "target": "backend_src_services_viewmodels_projectresponse_parsewithschema" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L180", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse_parseanalysisresults", + "target": "backend_src_services_viewmodels_projectresponse_parsewithschema" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse_parselayoutpreferences", + "target": "backend_src_services_viewmodels_projectresponse_parsewithschema" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse_mergeanalysisconfig", + "target": "backend_src_services_viewmodels_projectresponse_parseanalysisconfig" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L209", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse_mergelayoutpreferences", + "target": "backend_src_services_viewmodels_projectresponse_parselayoutpreferences" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "backend/src/services/viewModels/projectResponse.ts", + "source_location": "L265", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_services_viewmodels_projectresponse_buildpdfprojectresponse", + "target": "backend_src_services_viewmodels_projectresponse_normalizeprojectresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_chat", + "target": "backend_src_validators_chat_chatlivestate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_chat", + "target": "backend_src_validators_chat_chatrequest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_chat", + "target": "backend_src_validators_chat_chatrequestschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_chat", + "target": "backend_src_validators_chat_livestateschema" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_chat", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_chat", + "target": "shared_layoutpreferences_layoutpreferencesschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_chat", + "target": "shared_paneltypes_paneleditschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_chat", + "target": "shared_projectdtos_analysisresultsschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/chat.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_chat", + "target": "shared_projectdtos_storedanalysisconfigschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/locations.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_locations", + "target": "backend_src_validators_locations_fluxrecomputebatchschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/locations.ts", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_locations", + "target": "backend_src_validators_locations_fluxrecomputeschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/locations.ts", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_locations", + "target": "backend_src_validators_locations_probelocationschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/locations.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_locations", + "target": "backend_src_validators_locations_resolvelocationschema" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/projects.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_projects", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/projects.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_projects", + "target": "shared_projectdtos_createprojectrequestschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/projects.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_projects", + "target": "shared_projectdtos_saveanalysisrequestschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/projects.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_projects", + "target": "shared_projectdtos_savelayoutrequestschema" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "backend/src/validators/projects.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_src_validators_projects", + "target": "shared_projectdtos_updatelayoutpreferencesrequestschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig", + "target": "backend_tsconfig_compileroptions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig", + "target": "backend_tsconfig_exclude" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig", + "target": "backend_tsconfig_extends" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig", + "target": "backend_tsconfig_include" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig", + "target": "backend_tsconfig_json_ref_tsconfig_json" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig", + "target": "backend_tsconfig_references" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig_compileroptions", + "target": "backend_tsconfig_compileroptions_outdir" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig_compileroptions", + "target": "backend_tsconfig_compileroptions_rootdir" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig_include", + "target": "backend_tsconfig_json_ref_src_ts" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig_exclude", + "target": "backend_tsconfig_json_ref_src_test_ts" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "backend/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "backend_tsconfig_exclude", + "target": "ref_src_tests" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "eslint.config.js", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "eslint_config", + "target": "eslint_config" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "eslint.config.js", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "eslint_config", + "target": "eslint_config_globals" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "eslint.config.js", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "eslint_config", + "target": "eslint_config_isoff" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "eslint.config.js", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "eslint_config", + "target": "eslint_config_js_eslint_config_prettier" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "eslint.config.js", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "eslint_config", + "target": "eslint_config_reacthooks" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "eslint.config.js", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "eslint_config", + "target": "eslint_config_tseslint" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "eslint.config.js", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "eslint_config", + "target": "eslint_config_typescriptfiles" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "eslint.config.js", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "eslint_config", + "target": "eslint_config_warnings" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "eslint.config.js", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "eslint_config_warnings", + "target": "eslint_config_isoff" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components", + "target": "frontend_components_aliases" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components", + "target": "frontend_components_rsc" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components", + "target": "frontend_components_schema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components", + "target": "frontend_components_style" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components", + "target": "frontend_components_tailwind" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components", + "target": "frontend_components_tsx" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components_tailwind", + "target": "frontend_components_tailwind_basecolor" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components_tailwind", + "target": "frontend_components_tailwind_config" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components_tailwind", + "target": "frontend_components_tailwind_css" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components_tailwind", + "target": "frontend_components_tailwind_cssvariables" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components_tailwind", + "target": "frontend_components_tailwind_prefix" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components_aliases", + "target": "frontend_components_aliases_components" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components_aliases", + "target": "frontend_components_aliases_hooks" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components_aliases", + "target": "frontend_components_aliases_lib" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components_aliases", + "target": "frontend_components_aliases_ui" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/components.json", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_components_aliases", + "target": "frontend_components_aliases_utils" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package", + "target": "frontend_package_dependencies" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package", + "target": "frontend_package_devdependencies" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package", + "target": "frontend_package_license" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package", + "target": "frontend_package_name" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package", + "target": "frontend_package_private" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package", + "target": "frontend_package_scripts" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package", + "target": "frontend_package_type" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_scripts", + "target": "frontend_package_scripts_build" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_scripts", + "target": "frontend_package_scripts_dev" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_scripts", + "target": "frontend_package_scripts_preview" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_scripts", + "target": "frontend_package_scripts_test" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_class_variance_authority" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_clsx" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_dnd_kit_core" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_dnd_kit_sortable" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_dnd_kit_utilities" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_framer_motion" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_googlemaps_js_api_loader" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_i18next" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_i18next_browser_languagedetector" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_konva" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_lucide_react" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_next_themes" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_proj4" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_radix_ui_react_dialog" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_radix_ui_react_dropdown_menu" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_radix_ui_react_label" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_radix_ui_react_separator" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_radix_ui_react_slider" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_radix_ui_react_slot" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_radix_ui_react_tooltip" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_react" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_react_dom" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_react_hot_toast" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_react_i18next" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_react_konva" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_react_markdown" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_react_router_dom" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_react_three_drei" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_react_three_fiber" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_recharts" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_shared_types" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_supabase_supabase_js" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_tailwind_merge" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_tailwindcss_animate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_tanstack_react_query" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_three" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies", + "target": "frontend_package_dependencies_vaul" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L13", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_dnd_kit_core", + "target": "dnd_kit_core" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L14", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_dnd_kit_sortable", + "target": "dnd_kit_sortable" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L15", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_dnd_kit_utilities", + "target": "dnd_kit_utilities" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L16", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_googlemaps_js_api_loader", + "target": "googlemaps_js_api_loader" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L17", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_radix_ui_react_dialog", + "target": "radix_ui_react_dialog" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L18", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_radix_ui_react_dropdown_menu", + "target": "radix_ui_react_dropdown_menu" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L19", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_radix_ui_react_label", + "target": "radix_ui_react_label" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L20", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_radix_ui_react_separator", + "target": "radix_ui_react_separator" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L21", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_radix_ui_react_slider", + "target": "radix_ui_react_slider" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L22", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_radix_ui_react_slot", + "target": "radix_ui_react_slot" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L23", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_radix_ui_react_tooltip", + "target": "radix_ui_react_tooltip" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L24", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_react_three_drei", + "target": "react_three_drei" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L25", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_react_three_fiber", + "target": "react_three_fiber" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L26", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_shared_types", + "target": "frontend_package_json_shared_types" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L27", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_supabase_supabase_js", + "target": "frontend_package_json_supabase_supabase_js" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L28", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_tanstack_react_query", + "target": "tanstack_react_query" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L29", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_class_variance_authority", + "target": "class_variance_authority" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L30", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_clsx", + "target": "clsx" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L31", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_framer_motion", + "target": "framer_motion" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L32", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_i18next", + "target": "i18next" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L33", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_i18next_browser_languagedetector", + "target": "i18next_browser_languagedetector" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L34", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_konva", + "target": "konva" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L35", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_lucide_react", + "target": "lucide_react" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L36", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_next_themes", + "target": "next_themes" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L37", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_proj4", + "target": "frontend_package_json_proj4" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L38", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_react", + "target": "react" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L39", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_react_dom", + "target": "react_dom" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L40", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_react_hot_toast", + "target": "react_hot_toast" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L41", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_react_i18next", + "target": "react_i18next" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L42", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_react_konva", + "target": "react_konva" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L43", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_react_markdown", + "target": "react_markdown" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L44", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_react_router_dom", + "target": "react_router_dom" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L45", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_recharts", + "target": "recharts" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L46", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_tailwind_merge", + "target": "tailwind_merge" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L47", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_tailwindcss_animate", + "target": "tailwindcss_animate" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L48", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_three", + "target": "three" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L49", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_dependencies_vaul", + "target": "vaul" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_autoprefixer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_jsdom" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_tailwindcss" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_tailwindcss_vite" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_testing_library_react" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_types_google_maps" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_types_react" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_types_react_dom" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_types_three" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_typescript" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_vite" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_vitejs_plugin_react" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies", + "target": "frontend_package_devdependencies_vitest" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L52", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_tailwindcss_vite", + "target": "tailwindcss_vite" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L53", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_testing_library_react", + "target": "testing_library_react" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L54", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_types_google_maps", + "target": "types_google_maps" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L55", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_types_react", + "target": "types_react" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L56", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_types_react_dom", + "target": "types_react_dom" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L57", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_types_three", + "target": "types_three" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L58", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_vitejs_plugin_react", + "target": "vitejs_plugin_react" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L59", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_autoprefixer", + "target": "autoprefixer" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L60", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_jsdom", + "target": "jsdom" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L61", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_tailwindcss", + "target": "tailwindcss" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L62", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_typescript", + "target": "frontend_package_json_typescript" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L63", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_vite", + "target": "vite" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "frontend/package.json", + "source_location": "L64", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_package_devdependencies_vitest", + "target": "frontend_package_json_vitest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_analysispage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_analyticspage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_app" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_dashboardpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_faqpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_mappage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_notfoundpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_page_loading_hints" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_pdfpreviewpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_privacypage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_projectspage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_settingspage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_app_workbenchpage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_components_layout_applayout" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_components_layout_applayout_applayout" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_components_layout_dashboardlayout" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_components_layout_dashboardlayout_dashboardlayout" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_components_layout_protectedroute" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_components_layout_protectedroute_protectedroute" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_components_ui_loadingoverlay" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_components_ui_loadingoverlay_loadingoverlay" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_pages_landingpage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_pages_landingpage_landingpage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_pages_signinpage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_pages_signinpage_signinpage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_pages_signuppage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/App.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_app", + "target": "frontend_src_pages_signuppage_signuppage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_app" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_app_app" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/client.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_client", + "target": "frontend_src_api_client_apierror" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/client.ts", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_client", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/client.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_client", + "target": "frontend_src_lib_supabase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/client.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_client", + "target": "frontend_src_lib_supabase_getsupabase" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_client" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_client" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/quota.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_quota", + "target": "frontend_src_api_client" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/tariff.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_tariff", + "target": "frontend_src_api_client" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_api_client" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/client.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_client_apierror", + "target": "frontend_src_api_client_apierror_constructor" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_api_client_apierror" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/client.ts", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_client_apifetch", + "target": "frontend_src_lib_supabase_getsupabase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/locations.ts", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_locations_getlocationdata", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/locations.ts", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_locations_getlocationstatus", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/locations.ts", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_locations_getoverlayurl", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/locations.ts", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_locations_probelocation", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/locations.ts", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_locations_recomputeflux", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/locations.ts", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_locations_recomputefluxbatch", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/locations.ts", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_locations_resolvelocation", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/projects.ts", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_projects_createproject", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/projects.ts", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_projects_deleteproject", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/projects.ts", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_projects_getproject", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/projects.ts", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_projects_listprojects", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/projects.ts", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_projects_requestpdfexporttoken", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/projects.ts", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_projects_saveanalysis", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/projects.ts", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_projects_savelayout", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/projects.ts", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_projects_savelayoutpreferences", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/quota.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_quota", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/quota.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_quota_getquota", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/tariff.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_tariff", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/api/tariff.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_api_tariff_gettariffconfig", + "target": "frontend_src_api_client_apifetch" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_locations_getlocationdata" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_locations_getlocationstatus" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_locations_getoverlayurl" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_locations_locationdatawithgeotransform" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_locations_locationimagegeotransform" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_locations_probelocation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_locations_recomputeflux" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_locations_recomputefluxbatch" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "frontend_src_api_locations_resolvelocation" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "shared_index_fluxrecomputebatchrequest" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "shared_index_fluxrecomputebatchresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "shared_index_fluxrecomputerequest" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "shared_index_fluxrecomputeresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "shared_index_locationdataresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "shared_index_locationstatusresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "shared_index_probelocationresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "shared_index_resolvelocationrequest" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/locations.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_locations", + "target": "shared_index_resolvelocationresponse" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_locations" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_api_locations" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_api_locations" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useoverlayimages", + "target": "frontend_src_api_locations" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_api_locations" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata", + "target": "frontend_src_api_locations" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "frontend_src_api_locations" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_api_locations" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_api_locations" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_locations_locationimagegeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_api_locations_locationimagegeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata", + "target": "frontend_src_api_locations_locationimagegeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_api_locations_locationimagegeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_api_locations_resolvelocation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_api_locations_probelocation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_api_locations_getlocationstatus" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_mappage_mappage", + "target": "frontend_src_api_locations_getlocationstatus" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_api_locations_getlocationdata" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_api_locations_getlocationdata" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata", + "target": "frontend_src_api_locations_getlocationdata" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useworkbenchdata_useworkbenchdata", + "target": "frontend_src_api_locations_getlocationdata" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_api_locations_recomputeflux" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_api_locations_recomputefluxbatch" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_api_locations_recomputefluxbatch" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "frontend_src_api_locations_recomputefluxbatch" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useoverlayimages", + "target": "frontend_src_api_locations_getoverlayurl" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useoverlayimages_useoverlayimages", + "target": "frontend_src_api_locations_getoverlayurl" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_createproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_deleteproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_getproject" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_getprojectforpdf" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_listprojects" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_pdfexporttoken" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_projectanalysisconfig" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_projectresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_requestpdfexporttoken" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_saveanalysis" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_savelayout" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "frontend_src_api_projects_savelayoutpreferences" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_index_createprojectrequest" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_index_imageryquality" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_index_projectstatus" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_index_saveanalysisrequest" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_index_savelayoutrequest" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_index_updatelayoutpreferencesrequest" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_layoutpreferences_layoutpreferences" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_projectdtos_analysisresultsdto" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_projectdtos_buildinginsightsdto" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/projects.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_projects", + "target": "shared_projectdtos_storedanalysisconfigdto" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_helpers", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_api_projects" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_api_projects_projectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_helpers", + "target": "frontend_src_api_projects_projectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_api_projects_projectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_api_projects_projectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_api_projects_projectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_api_projects_projectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_api_projects_projectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "frontend_src_api_projects_projectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_api_projects_projectresponse" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_api_projects_createproject" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L137", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_mappage_mappage", + "target": "frontend_src_api_projects_createproject" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_api_projects_listprojects" + }, + { + "relation": "indirect_call", + "context": "collection", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analyticspage_analyticspage", + "target": "frontend_src_api_projects_listprojects" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_api_projects_listprojects" + }, + { + "relation": "indirect_call", + "context": "collection", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_dashboardpage_dashboardpage", + "target": "frontend_src_api_projects_listprojects" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_api_projects_listprojects" + }, + { + "relation": "indirect_call", + "context": "collection", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_projectspage_projectspage", + "target": "frontend_src_api_projects_listprojects" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_api_projects_getproject" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_api_projects_getproject" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata", + "target": "frontend_src_api_projects_getproject" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useworkbenchdata_useworkbenchdata", + "target": "frontend_src_api_projects_getproject" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_api_projects_getproject" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_mappage_mappage", + "target": "frontend_src_api_projects_getproject" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_api_projects_deleteproject" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "frontend_src_api_projects_savelayout" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_api_projects_saveanalysis" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analysispage_analysispage", + "target": "frontend_src_api_projects_saveanalysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_api_projects_savelayoutpreferences" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_api_projects_savelayoutpreferences" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_api_projects_requestpdfexporttoken" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "frontend_src_api_projects_getprojectforpdf" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_pdfpreviewpage_pdfpreviewpage", + "target": "frontend_src_api_projects_getprojectforpdf" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/quota.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_quota", + "target": "frontend_src_api_quota_getquota" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/quota.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_quota", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/quota.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_quota", + "target": "shared_quota_quotasummary" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usequota", + "target": "frontend_src_api_quota" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usequota", + "target": "frontend_src_api_quota_getquota" + }, + { + "relation": "indirect_call", + "context": "collection", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usequota_usequota", + "target": "frontend_src_api_quota_getquota" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/tariff.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_tariff", + "target": "frontend_src_api_tariff_gettariffconfig" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/tariff.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_tariff", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/api/tariff.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_api_tariff", + "target": "shared_index_tariffconfigresponse" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_api_tariff" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "frontend_src_api_tariff" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_api_tariff_gettariffconfig" + }, + { + "relation": "indirect_call", + "context": "collection", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_api_tariff_gettariffconfig" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "frontend_src_api_tariff_gettariffconfig" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_pdfpreviewpage_pdfpreviewpage", + "target": "frontend_src_api_tariff_gettariffconfig" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_analysis_analysissidebar_analysissidebar" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_analysis_analysissidebar_analysissidebarprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_analysis_sidebar_consumptioncontrols" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_analysis_sidebar_consumptioncontrols_consumptioncontrols" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_analysis_sidebar_lifecyclecontrols" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_analysis_sidebar_lifecyclecontrols_lifecyclecontrols" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_analysis_sidebar_systemmetacard" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_analysis_sidebar_systemmetacard_systemmetacard" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_analysis_sidebar_tariffcontrols" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_analysis_sidebar_tariffcontrols_tariffcontrols" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_hooks_useanalysisform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_hooks_useanalysisform_analysisformstate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "frontend_src_lib_buildinginsights_parsedbuildinginsights" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "shared_index_tariffrates" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/AnalysisSidebar.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_analysissidebar", + "target": "shared_paneltypes_panelmodel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_analysissidebar" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_analysissidebar_analysissidebar" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_analysis_billbreakdown_billbreakdown" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_analysis_billbreakdown_billbreakdownprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_analysis_billbreakdown_simulationmonth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_lib_analysis_presentation_month_labels" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_lib_billingengine" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_lib_billingengine_runannualsimulation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_lib_formatters_bill_tooltips" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billbreakdown", + "target": "frontend_src_lib_formatters_nem_tooltips" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_billbreakdown" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_billbreakdown_billbreakdown", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/BillBreakdown.tsx", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_billbreakdown_billbreakdown", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_billbreakdown_billbreakdown" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_analysis_billcomparisonchart_billcomparisonchart" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_analysis_billcomparisonchart_billcomparisonchartprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_analysis_charttooltipcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_hooks_usetheme" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_lib_constants_colors" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_billcomparisonchart", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_billcomparisonchart" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_billcomparisonchart_billcomparisonchart", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/BillComparisonChart.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_billcomparisonchart_billcomparisonchart", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_billcomparisonchart_billcomparisonchart" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/ChartTooltipContent.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_charttooltipcontent", + "target": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/ChartTooltipContent.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_charttooltipcontent", + "target": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontentprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/ChartTooltipContent.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_charttooltipcontent", + "target": "frontend_src_components_analysis_charttooltipcontent_tooltipentry" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/ChartTooltipContent.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_charttooltipcontent", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/ChartTooltipContent.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_charttooltipcontent", + "target": "frontend_src_lib_formatters_formattooltipcurrency" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_analysis_charttooltipcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_analysis_charttooltipcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_analysis_charttooltipcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_analysis_charttooltipcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_charttooltipcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_analysis_charttooltipcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_analysis_charttooltipcontent_charttooltipcontent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_analysis_financialroadmap_financialroadmap" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_analysis_financialroadmap_financialroadmapprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_analysis_financialroadmap_milestone" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_lib_analysis_config_inverterreplacement" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_lib_analysis_projections_normalizeinverterreplacements" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_financialroadmap", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_analysis_financialroadmap" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_financialroadmap" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_financialroadmap_financialroadmap", + "target": "frontend_src_lib_analysis_projections_normalizeinverterreplacements" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/FinancialRoadmap.tsx", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_financialroadmap_financialroadmap", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_analysis_financialroadmap_financialroadmap" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_financialroadmap_financialroadmap" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_analysis_monthtable_monthtable" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_analysis_monthtable_monthtableprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_lib_analysis_presentation_month_labels" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_lib_billingengine" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_lib_billingengine_runannualsimulation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_monthtable", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_analysis_monthtable" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_monthtable" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_monthtable_monthtable", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/MonthTable.tsx", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_monthtable_monthtable", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_analysis_monthtable_monthtable" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_monthtable_monthtable" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_analysis_netbenefitchart_netbenefitchart" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_analysis_netbenefitchart_netbenefitchartprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_analysis_netbenefitchart_year_ranges" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_analysis_netbenefitchart_yearrange" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenucontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenuradioitem" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_hooks_usetheme" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_lib_analysis_config_inverterreplacement" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_lib_analysis_projections_buildnetbenefitseries" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_lib_constants_colors" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_netbenefitchart", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_analysis_netbenefitchart" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_netbenefitchart" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_netbenefitchart_netbenefitchart", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_netbenefitchart_netbenefitchart", + "target": "frontend_src_lib_analysis_projections_buildnetbenefitseries" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_netbenefitchart_netbenefitchart", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/NetBenefitChart.tsx", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_netbenefitchart_netbenefitchart", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_analysis_netbenefitchart_netbenefitchart" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_netbenefitchart_netbenefitchart" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_analysis_roiverdict" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_analysis_roiverdict_getroicondition" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_analysis_solarverdict_solarverdict" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_analysis_solarverdict_solarverdictprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_analysis_solarverdict_starrating" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_lib_analysis_results_analysisresultsrecord" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_lib_analysis_results_classifynemfit" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_lib_analysis_results_computenemfitmetrics" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_solarverdict", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_analysis_solarverdict" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_solarverdict" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_solarverdict_solarverdict", + "target": "frontend_src_components_analysis_roiverdict_getroicondition" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_solarverdict_solarverdict", + "target": "frontend_src_lib_analysis_results_classifynemfit" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_solarverdict_solarverdict", + "target": "frontend_src_lib_analysis_results_computenemfitmetrics" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_solarverdict_solarverdict", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/SolarVerdict.tsx", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_solarverdict_solarverdict", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_analysis_solarverdict_solarverdict" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_solarverdict_solarverdict" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sortablecardcontainer", + "target": "frontend_src_components_analysis_sortablecardcontainer_carditem" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sortablecardcontainer", + "target": "frontend_src_components_analysis_sortablecardcontainer_loadorder" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sortablecardcontainer", + "target": "frontend_src_components_analysis_sortablecardcontainer_reconcile" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sortablecardcontainer", + "target": "frontend_src_components_analysis_sortablecardcontainer_saveorder" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sortablecardcontainer", + "target": "frontend_src_components_analysis_sortablecardcontainer_sortablecard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sortablecardcontainer", + "target": "frontend_src_components_analysis_sortablecardcontainer_sortablecardcontainer" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_sortablecardcontainer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sortablecardcontainer_sortablecardcontainer", + "target": "frontend_src_components_analysis_sortablecardcontainer_loadorder" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sortablecardcontainer_sortablecardcontainer", + "target": "frontend_src_components_analysis_sortablecardcontainer_saveorder" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SortableCardContainer.tsx", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sortablecardcontainer_sortablecardcontainer", + "target": "frontend_src_components_analysis_sortablecardcontainer_reconcile" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_sortablecardcontainer_sortablecardcontainer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_components_analysis_systemassumptions_systemassumptions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_components_analysis_systemassumptions_systemassumptionsprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_lib_analysis_presentation_azimuthtocompass" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemassumptions", + "target": "frontend_src_lib_analysis_presentation_layoutorientationsummary" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_systemassumptions" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/SystemAssumptions.tsx", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_systemassumptions_systemassumptions", + "target": "frontend_src_lib_analysis_presentation_azimuthtocompass" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_systemassumptions_systemassumptions" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_analysis_systemcostcard_segment" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_analysis_systemcostcard_segment_colors" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_analysis_systemcostcard_systemcostcard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_analysis_systemcostcard_systemcostcardprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_hooks_usetheme" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "shared_costmodel_costbreakdown" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "shared_costmodel_rooftype" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_systemcostcard", + "target": "shared_index" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_systemcostcard" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_systemcostcard_systemcostcard", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_systemcostcard_systemcostcard", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/SystemCostCard.tsx", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_systemcostcard_systemcostcard", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_systemcostcard_systemcostcard" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_analysis_tariffparametermodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_analysis_tariffparametermodal_formatdisplay" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_analysis_tariffparametermodal_parseinputtorate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_analysis_tariffparametermodal_tariff_fields" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_analysis_tariffparametermodal_tarifffield" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_analysis_tariffparametermodal_tariffparametermodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_analysis_tariffparametermodal_tariffparametermodalprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_dialog" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_dialog_dialogcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_dialog_dialogdescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_dialog_dialogfooter" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_dialog_dialogheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_dialog_dialogtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_input" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_input_input" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_label" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal", + "target": "shared_index_tariffrates" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/TariffParameterModal.tsx", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_tariffparametermodal_tariffparametermodal", + "target": "frontend_src_components_analysis_tariffparametermodal_formatdisplay" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_analysis_tariffparametermodal_tariffparametermodal" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/formatters.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_formatters", + "target": "frontend_src_lib_formatters" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/formatters.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_formatters", + "target": "frontend_src_lib_formatters_bill_tooltips" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/formatters.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_formatters", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/formatters.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_formatters", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/formatters.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_formatters", + "target": "frontend_src_lib_formatters_formattooltipcurrency" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/formatters.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_formatters", + "target": "frontend_src_lib_formatters_nem_tooltips" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_analysis_formatters" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/roiVerdict.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_roiverdict", + "target": "frontend_src_components_analysis_roiverdict_getroicondition" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/roiVerdict.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_roiverdict", + "target": "frontend_src_components_analysis_roiverdict_roicondition" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_components_analysis_sidebar_consumptioncontrols_consumptioncontrols" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_components_analysis_sidebar_consumptioncontrols_consumptioncontrolsprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_components_ui_imagepopup" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_components_ui_imagepopup_imagepopup" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_components_ui_input" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_components_ui_input_input" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_components_ui_label" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_hooks_useanalysisform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_hooks_useanalysisform_analysisformstate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_lib_analysis_config_consumptionprofile" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/ConsumptionControls.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_consumptioncontrols", + "target": "frontend_src_lib_analysis_presentation_seasonal_multipliers" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_analysis_sidebar_lifecyclecontrols_lifecyclecontrols" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_analysis_sidebar_lifecyclecontrols_lifecyclecontrolsprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenucontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenuradioitem" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_input" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_input_input" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_label" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_hooks_useanalysisform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_hooks_useanalysisform_analysisformstate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_lib_analysis_config_analysismode" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_lib_analysis_config_default_inverter_replacement" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/LifecycleControls.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_lifecyclecontrols", + "target": "frontend_src_lib_analysis_config_inverterreplacement" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_components_analysis_sidebar_systemmetacard_systemmetacard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_components_analysis_sidebar_systemmetacard_systemmetacardprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_lib_buildinginsights_parsedbuildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_systemmetacard", + "target": "shared_paneltypes_panelmodel" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/analysis/sidebar/SystemMetaCard.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_analysis_sidebar_systemmetacard_systemmetacard", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_analysis_sidebar_tariffcontrols_percentageinput" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_analysis_sidebar_tariffcontrols_tariffcontrols" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_analysis_sidebar_tariffcontrols_tariffcontrolsprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenucontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenuradioitem" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_input" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_input_input" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_label" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_hooks_useanalysisform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_hooks_useanalysisform_analysisformstate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "frontend_src_lib_analysis_config_connectionphase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "shared_costmodel_rooftype" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/analysis/sidebar/TariffControls.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_analysis_sidebar_tariffcontrols", + "target": "shared_index_tariffrates" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/auth/GoogleSignInButton.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_auth_googlesigninbutton", + "target": "frontend_src_components_auth_googlesigninbutton_googlesigninbutton" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/auth/GoogleSignInButton.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_auth_googlesigninbutton", + "target": "frontend_src_components_auth_googlesigninbutton_googlesigninbuttonprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/auth/GoogleSignInButton.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_auth_googlesigninbutton", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/auth/GoogleSignInButton.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_auth_googlesigninbutton", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/auth/GoogleSignInButton.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_auth_googlesigninbutton", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/auth/GoogleSignInButton.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_auth_googlesigninbutton", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_auth_googlesigninbutton" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_auth_googlesigninbutton" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/auth/GoogleSignInButton.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_auth_googlesigninbutton_googlesigninbutton", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_auth_googlesigninbutton_googlesigninbutton" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_auth_googlesigninbutton_googlesigninbutton" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatlauncher", + "target": "frontend_src_components_chat_chatlauncher_chatlauncher" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatlauncher", + "target": "frontend_src_components_chat_chatlauncher_chatlauncherprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatlauncher", + "target": "frontend_src_components_chat_chatpanel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatlauncher", + "target": "frontend_src_components_chat_chatpanel_chatpanel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatlauncher", + "target": "frontend_src_components_chat_chatprovider" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatlauncher", + "target": "frontend_src_components_chat_chatprovider_chatcontext" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatlauncher", + "target": "frontend_src_hooks_usechat" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatLauncher.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatlauncher", + "target": "frontend_src_hooks_usechat_chatlivestate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/__tests__/ChatLauncher.test.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_tests_chatlauncher_test", + "target": "frontend_src_components_chat_chatlauncher" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_chat_chatlauncher" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_chat_chatlauncher" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/__tests__/ChatLauncher.test.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_tests_chatlauncher_test", + "target": "frontend_src_components_chat_chatlauncher_chatlauncher" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_chat_chatlauncher_chatlauncher" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_chat_chatlauncher_chatlauncher" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_chat_chatpanel_chatpanel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_chat_chatpanel_chatpanelprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_chat_chatpanel_getpaybackyears" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_chat_chatprovider" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_chat_chatprovider_chatcontext" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_chat_messagebubble" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_chat_messagebubble_messagebubble" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_chat_suggestedquestions" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_chat_suggestedquestions_suggestedquestions" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_hooks_usechat" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_hooks_usechat_chatlivestate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel", + "target": "frontend_src_hooks_usechat_usechat" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatpanel_chatpanel", + "target": "frontend_src_components_chat_chatpanel_getpaybackyears" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/chat/ChatPanel.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_chat_chatpanel_chatpanel", + "target": "frontend_src_hooks_usechat_usechat" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatprovider", + "target": "frontend_src_components_chat_chatprovider_chatcontext" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatprovider", + "target": "frontend_src_components_chat_chatprovider_chatcontextvalue" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatprovider", + "target": "frontend_src_components_chat_chatprovider_chatmessage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatprovider", + "target": "frontend_src_components_chat_chatprovider_chatprovider" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatprovider", + "target": "frontend_src_components_chat_chatprovider_empty_chat_state" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatprovider", + "target": "frontend_src_components_chat_chatprovider_projectchatstate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatprovider", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_chatprovider", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/MessageBubble.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_messagebubble", + "target": "frontend_src_components_chat_chatprovider" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/__tests__/ChatLauncher.test.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_tests_chatlauncher_test", + "target": "frontend_src_components_chat_chatprovider" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/__tests__/ChatProvider.test.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_tests_chatprovider_test", + "target": "frontend_src_components_chat_chatprovider" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usechat_test", + "target": "frontend_src_components_chat_chatprovider" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_components_chat_chatprovider" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_components_chat_chatprovider" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_chat_chatprovider" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_chat_chatprovider" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/MessageBubble.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_messagebubble", + "target": "frontend_src_components_chat_chatprovider_chatmessage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_components_chat_chatprovider_chatmessage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/__tests__/ChatLauncher.test.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_tests_chatlauncher_test", + "target": "frontend_src_components_chat_chatprovider_chatcontext" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/__tests__/ChatProvider.test.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_tests_chatprovider_test", + "target": "frontend_src_components_chat_chatprovider_chatcontext" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_components_chat_chatprovider_chatcontext" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_chat_chatprovider_chatcontext" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_chat_chatprovider_chatcontext" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/chat/ChatProvider.tsx", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_chat_chatprovider_chatprovider", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/__tests__/ChatLauncher.test.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_tests_chatlauncher_test", + "target": "frontend_src_components_chat_chatprovider_chatprovider" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/__tests__/ChatProvider.test.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_tests_chatprovider_test", + "target": "frontend_src_components_chat_chatprovider_chatprovider" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usechat_test", + "target": "frontend_src_components_chat_chatprovider_chatprovider" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_components_chat_chatprovider_chatprovider" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/MessageBubble.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_messagebubble", + "target": "frontend_src_components_chat_messagebubble_messagebubble" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/MessageBubble.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_messagebubble", + "target": "frontend_src_components_chat_messagebubble_messagebubbleprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/MessageBubble.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_messagebubble", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/MessageBubble.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_messagebubble", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/chat/MessageBubble.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_chat_messagebubble_messagebubble", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/SuggestedQuestions.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_suggestedquestions", + "target": "frontend_src_components_chat_suggestedquestions_samplepool" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/SuggestedQuestions.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_suggestedquestions", + "target": "frontend_src_components_chat_suggestedquestions_suggestedquestions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/SuggestedQuestions.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_suggestedquestions", + "target": "frontend_src_components_chat_suggestedquestions_suggestedquestionsprops" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/SuggestedQuestions.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_suggestedquestions_suggestedquestions", + "target": "frontend_src_components_chat_suggestedquestions_samplepool" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/__tests__/ChatLauncher.test.tsx", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_tests_chatlauncher_test", + "target": "frontend_src_components_chat_tests_chatlauncher_test_renderlauncher" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/chat/__tests__/ChatProvider.test.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_chat_tests_chatprovider_test", + "target": "frontend_src_components_chat_tests_chatprovider_test_wrapper" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_components_dashboard_helpers" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_components_dashboard_helpers_formatrelativedate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_components_dashboard_projectcard_projectcard" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_components_ui_badge" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_components_ui_badge_badge" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_lib_projectstatus" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_projectcard", + "target": "frontend_src_lib_projectstatus_getprojectstatusconfig" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_dashboard_projectcard" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_dashboard_projectcard_projectcard", + "target": "frontend_src_components_dashboard_helpers_formatrelativedate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/dashboard/ProjectCard.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_dashboard_projectcard_projectcard", + "target": "frontend_src_lib_projectstatus_getprojectstatusconfig" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_dashboard_projectcard_projectcard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/StatCard.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_statcard", + "target": "frontend_src_components_dashboard_statcard_statcard" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_dashboard_statcard" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_dashboard_statcard_statcard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_helpers", + "target": "frontend_src_components_dashboard_helpers_aggregateportfolio" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_helpers", + "target": "frontend_src_components_dashboard_helpers_formatrelativedate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_helpers", + "target": "frontend_src_components_dashboard_helpers_portfoliostats" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/dashboard/helpers.ts", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_dashboard_helpers", + "target": "frontend_src_components_dashboard_helpers_projectroute" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_dashboard_helpers" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_dashboard_helpers" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_dashboard_helpers" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_dashboard_helpers_aggregateportfolio" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analyticspage_analyticspage", + "target": "frontend_src_components_dashboard_helpers_aggregateportfolio" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_dashboard_helpers_projectroute" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L234", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_dashboardpage_dashboardpage", + "target": "frontend_src_components_dashboard_helpers_projectroute" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_dashboard_helpers_projectroute" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L236", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_projectspage_projectspage", + "target": "frontend_src_components_dashboard_helpers_projectroute" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_dashboard_helpers_formatrelativedate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L242", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_dashboardpage_dashboardpage", + "target": "frontend_src_components_dashboard_helpers_formatrelativedate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_layout_apperrorboundary_apperrorboundary" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_layout_apperrorboundary_apperrorboundaryprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_layout_apperrorboundary_apperrorboundarystate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_layout_apperrorboundary_ischunkloaderror" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_components_layout_apperrorboundary" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary_apperrorboundary_componentdidcatch", + "target": "frontend_src_components_layout_apperrorboundary_ischunkloaderror" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary_apperrorboundary", + "target": "frontend_src_components_layout_apperrorboundary_apperrorboundary_componentdidcatch" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary_apperrorboundary", + "target": "frontend_src_components_layout_apperrorboundary_apperrorboundary_getderivedstatefromerror" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary_apperrorboundary", + "target": "frontend_src_components_layout_apperrorboundary_apperrorboundary_handledashboardredirect" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary_apperrorboundary", + "target": "frontend_src_components_layout_apperrorboundary_apperrorboundary_handlereload" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppErrorBoundary.tsx", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_apperrorboundary_apperrorboundary", + "target": "frontend_src_components_layout_apperrorboundary_apperrorboundary_render" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_components_layout_apperrorboundary_apperrorboundary" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppFooter.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appfooter", + "target": "frontend_src_components_layout_appfooter_appfooter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppFooter.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appfooter", + "target": "frontend_src_components_ui_logo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppFooter.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appfooter", + "target": "frontend_src_components_ui_logo_logo" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_applayout", + "target": "frontend_src_components_layout_appfooter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_components_layout_appfooter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_components_layout_appfooter" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_applayout", + "target": "frontend_src_components_layout_appfooter_appfooter" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_components_layout_appfooter_appfooter" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_components_layout_appfooter_appfooter" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_applayout", + "target": "frontend_src_components_layout_applayout_applayout" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_applayout", + "target": "frontend_src_components_layout_applayout_applayoutprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_applayout", + "target": "frontend_src_components_layout_appnav" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_applayout", + "target": "frontend_src_components_layout_appnav_appnav" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_applayout", + "target": "frontend_src_components_layout_appsidebar" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppLayout.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_applayout", + "target": "frontend_src_components_layout_appsidebar_appsidebar" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/DashboardLayout.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_dashboardlayout", + "target": "frontend_src_components_layout_applayout" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_layout_applayout" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_layout_applayout" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_layout_applayout" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/DashboardLayout.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_dashboardlayout", + "target": "frontend_src_components_layout_applayout_applayout" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_layout_applayout_applayout" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_layout_applayout_applayout" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_layout_applayout_applayout" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_layout_appnav_appnav" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_layout_appnav_crumb" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_layout_appnav_usebreadcrumbs" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_layout_languagetoggle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_layout_languagetoggle_languagetoggle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_layout_themetoggle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_layout_themetoggle_themetoggle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_ui_notificationpopover" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_components_ui_notificationpopover_notificationpopover" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_hooks_usequota" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav", + "target": "frontend_src_hooks_usequota_usequota" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appnav_appnav", + "target": "frontend_src_components_layout_appnav_usebreadcrumbs" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_layout_appnav_appnav", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/layout/AppNav.tsx", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_layout_appnav_appnav", + "target": "frontend_src_hooks_usequota_usequota" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appsidebar", + "target": "frontend_src_components_layout_appsidebar_appsidebar" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L120", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appsidebar", + "target": "frontend_src_components_layout_appsidebar_appsidebarprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L102", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appsidebar", + "target": "frontend_src_components_layout_appsidebar_nav_sections" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appsidebar", + "target": "frontend_src_components_layout_appsidebar_navitem" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appsidebar", + "target": "frontend_src_components_layout_appsidebar_navlink" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appsidebar", + "target": "frontend_src_components_layout_appsidebar_navsectiondef" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appsidebar", + "target": "frontend_src_components_layout_appsidebar_sectionheading" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appsidebar", + "target": "frontend_src_components_ui_logo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/AppSidebar.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_appsidebar", + "target": "frontend_src_components_ui_logo_logo" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/DashboardLayout.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_dashboardlayout", + "target": "frontend_src_components_layout_dashboardlayout_dashboardlayout" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_components_layout_languagetoggle_languagetoggle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_components_ui_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenucontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenuitem" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_hooks_uselocale" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_hooks_uselocale_uselocale" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_lib_i18n" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_lib_i18n_locale_labels" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_lib_i18n_supported_locales" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_languagetoggle", + "target": "frontend_src_lib_i18n_supportedlocale" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_components_layout_languagetoggle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_components_layout_languagetoggle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_layout_languagetoggle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_layout_languagetoggle" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/layout/LanguageToggle.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_layout_languagetoggle_languagetoggle", + "target": "frontend_src_hooks_uselocale_uselocale" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_components_layout_languagetoggle_languagetoggle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_components_layout_languagetoggle_languagetoggle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_layout_languagetoggle_languagetoggle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_layout_languagetoggle_languagetoggle" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/PageContainer.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_pagecontainer", + "target": "frontend_src_components_layout_pagecontainer_pagecontainer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/PageContainer.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_pagecontainer", + "target": "frontend_src_components_layout_pagecontainer_pagecontainerprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/PageContainer.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_pagecontainer", + "target": "frontend_src_components_layout_pagecontainer_variants" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/PageContainer.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_pagecontainer", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/PageContainer.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_pagecontainer", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_layout_pagecontainer" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_layout_pagecontainer" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_layout_pagecontainer" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_layout_pagecontainer" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_layout_pagecontainer" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_components_layout_pagecontainer" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_layout_pagecontainer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/layout/PageContainer.tsx", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_layout_pagecontainer_pagecontainer", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_layout_pagecontainer_pagecontainer" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_layout_pagecontainer_pagecontainer" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_layout_pagecontainer_pagecontainer" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_layout_pagecontainer_pagecontainer" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_layout_pagecontainer_pagecontainer" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_components_layout_pagecontainer_pagecontainer" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_layout_pagecontainer_pagecontainer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/PageHeaderCard.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_pageheadercard", + "target": "frontend_src_components_layout_pageheadercard_pageheadercard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/PageHeaderCard.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_pageheadercard", + "target": "frontend_src_components_layout_pageheadercard_pageheadercardprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/PageHeaderCard.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_pageheadercard", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/PageHeaderCard.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_pageheadercard", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_layout_pageheadercard" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_layout_pageheadercard" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_layout_pageheadercard" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_layout_pageheadercard" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_components_layout_pageheadercard" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/layout/PageHeaderCard.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_layout_pageheadercard_pageheadercard", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_layout_pageheadercard_pageheadercard" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_layout_pageheadercard_pageheadercard" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_layout_pageheadercard_pageheadercard" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_layout_pageheadercard_pageheadercard" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_components_layout_pageheadercard_pageheadercard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/ProtectedRoute.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_protectedroute", + "target": "frontend_src_components_layout_protectedroute_protectedroute" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/ProtectedRoute.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_protectedroute", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/ProtectedRoute.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_protectedroute", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/layout/ProtectedRoute.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_layout_protectedroute_protectedroute", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/ThemeToggle.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_themetoggle", + "target": "frontend_src_components_layout_themetoggle_themetoggle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/ThemeToggle.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_themetoggle", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/ThemeToggle.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_themetoggle", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/ThemeToggle.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_themetoggle", + "target": "frontend_src_hooks_usetheme" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/layout/ThemeToggle.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_layout_themetoggle", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_components_layout_themetoggle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_components_layout_themetoggle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_layout_themetoggle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_layout_themetoggle" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/layout/ThemeToggle.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_layout_themetoggle_themetoggle", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_components_layout_themetoggle_themetoggle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_components_layout_themetoggle_themetoggle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_layout_themetoggle_themetoggle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_layout_themetoggle_themetoggle" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_map_coveragenoticemodal_coveragenoticemodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_map_coveragenoticemodal_props" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_map_coveragenoticemodal_readcoveragenoticedismissed" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_map_coveragenoticemodal_writecoveragenoticedismissed" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_ui_dialog" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_ui_dialog_dialogcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_ui_dialog_dialogdescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_ui_dialog_dialogfooter" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_ui_dialog_dialogheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal", + "target": "frontend_src_components_ui_dialog_dialogtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_map_coveragenoticemodal" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_map_coveragenoticemodal_readcoveragenoticedismissed" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L292", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_mappage_mappage", + "target": "frontend_src_components_map_coveragenoticemodal_readcoveragenoticedismissed" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/CoverageNoticeModal.tsx", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_coveragenoticemodal_coveragenoticemodal", + "target": "frontend_src_components_map_coveragenoticemodal_writecoveragenoticedismissed" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_map_coveragenoticemodal_coveragenoticemodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_lowerresolutionconsentmodal", + "target": "frontend_src_components_map_lowerresolutionconsentmodal_lowerresolutionconsentmodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_lowerresolutionconsentmodal", + "target": "frontend_src_components_map_lowerresolutionconsentmodal_props" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_lowerresolutionconsentmodal", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_lowerresolutionconsentmodal", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_lowerresolutionconsentmodal", + "target": "frontend_src_components_ui_dialog" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_lowerresolutionconsentmodal", + "target": "frontend_src_components_ui_dialog_dialogcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_lowerresolutionconsentmodal", + "target": "frontend_src_components_ui_dialog_dialogdescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_lowerresolutionconsentmodal", + "target": "frontend_src_components_ui_dialog_dialogfooter" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_lowerresolutionconsentmodal", + "target": "frontend_src_components_ui_dialog_dialogheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/LowerResolutionConsentModal.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_lowerresolutionconsentmodal", + "target": "frontend_src_components_ui_dialog_dialogtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_map_lowerresolutionconsentmodal" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_map_lowerresolutionconsentmodal_lowerresolutionconsentmodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_manualcoordinatemodal", + "target": "frontend_src_components_map_manualcoordinatemodal_bounds" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_manualcoordinatemodal", + "target": "frontend_src_components_map_manualcoordinatemodal_manualcoordinatemodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_manualcoordinatemodal", + "target": "frontend_src_components_map_manualcoordinatemodal_props" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_manualcoordinatemodal", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_manualcoordinatemodal", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_manualcoordinatemodal", + "target": "frontend_src_components_ui_dialog" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_manualcoordinatemodal", + "target": "frontend_src_components_ui_dialog_dialogcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_manualcoordinatemodal", + "target": "frontend_src_components_ui_dialog_dialogdescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_manualcoordinatemodal", + "target": "frontend_src_components_ui_dialog_dialogheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/map/ManualCoordinateModal.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_map_manualcoordinatemodal", + "target": "frontend_src_components_ui_dialog_dialogtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_map_manualcoordinatemodal" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_map_manualcoordinatemodal_manualcoordinatemodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_pdffixedchrome", + "target": "frontend_src_components_pdf_pdffixedchrome_footerprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_pdffixedchrome", + "target": "frontend_src_components_pdf_pdffixedchrome_headerprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_pdffixedchrome", + "target": "frontend_src_components_pdf_pdffixedchrome_pdffixedfooter" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_pdffixedchrome", + "target": "frontend_src_components_pdf_pdffixedchrome_pdffixedheader" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_pdffixedchrome", + "target": "frontend_src_components_ui_logo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_pdffixedchrome", + "target": "frontend_src_components_ui_logo_logo" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_pdffixedchrome", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PdfFixedChrome.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_pdffixedchrome", + "target": "shared_index_imageryquality" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_components_pdf_pdffixedchrome" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_components_pdf_pdffixedchrome_pdffixedheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_components_pdf_pdffixedchrome_pdffixedfooter" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PdfPageShell.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_pdfpageshell", + "target": "frontend_src_components_pdf_pdfpageshell_pdfpageshell" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PdfPageShell.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_pdfpageshell", + "target": "frontend_src_components_pdf_pdfpageshell_props" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_components_pdf_pdfpageshell" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_pdfpageshell" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_components_pdf_pdfpageshell_pdfpageshell" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_pdfpageshell_pdfpageshell" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_components_pdf_printpage1workbench_printpage1workbench" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_components_pdf_printpage1workbench_props" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_components_pdf_printpage1workbench_stattile" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_lib_buildinginsights_parsepaneledits" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_lib_canvastransforms" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_lib_canvastransforms_createcanvasgeo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_lib_canvastransforms_latlngtopixel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "frontend_src_lib_canvastransforms_panelmeterstopixels" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage1workbench", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_components_pdf_printpage1workbench" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/__tests__/PrintPage1Workbench.test.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_tests_printpage1workbench_test", + "target": "frontend_src_components_pdf_printpage1workbench" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_printpage1workbench_printpage1workbench", + "target": "frontend_src_lib_buildinginsights_parsepaneledits" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_printpage1workbench_printpage1workbench", + "target": "frontend_src_lib_canvastransforms_createcanvasgeo" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_printpage1workbench_printpage1workbench", + "target": "frontend_src_lib_canvastransforms_latlngtopixel" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_printpage1workbench_printpage1workbench", + "target": "frontend_src_lib_canvastransforms_panelmeterstopixels" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/PrintPage1Workbench.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_printpage1workbench_printpage1workbench", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_components_pdf_printpage1workbench_printpage1workbench" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/__tests__/PrintPage1Workbench.test.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_tests_printpage1workbench_test", + "target": "frontend_src_components_pdf_printpage1workbench_printpage1workbench" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_analysis_pdfanalysischarts" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_analysis_pdfanalysischarts_pdfbillcomparisonchart" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_analysis_pdfanalysischarts_pdfcumulativesavingschart" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_analysis_pdfsummarycards" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_analysis_pdfsummarycards_summarycard" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_analysis_pdfsystemcost" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_analysis_pdfsystemcost_pdfsystemcost" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_printpage2analysis_printpage2analysis" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_pdf_printpage2analysis_props" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_hooks_usetheme" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_lib_analysis_analysis_disclaimer_keys" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_lib_analysis_presentation_azimuthtocompass" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_lib_analysis_presentation_month_labels" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printpage2analysis", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_components_pdf_printpage2analysis" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_printpage2analysis_printpage2analysis", + "target": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_printpage2analysis_printpage2analysis", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_printpage2analysis_printpage2analysis", + "target": "frontend_src_lib_analysis_presentation_azimuthtocompass" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_printpage2analysis_printpage2analysis", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/PrintPage2Analysis.tsx", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_printpage2analysis_printpage2analysis", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_components_pdf_printpage2analysis_printpage2analysis" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_components_pdf_printreport_printreport" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/PrintReport.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_printreport", + "target": "frontend_src_components_pdf_printreport_printreportprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "frontend_src_components_pdf_printreport" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "frontend_src_components_pdf_printreport_printreport" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_pdf_analysis_pdfanalysischarts_pdfbillcomparisonchart" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_pdf_analysis_pdfanalysischarts_pdfcumulativesavingschart" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_pdf_analysis_pdfanalysischarts_tooltipstyle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_lib_analysis_presentation_analysischartdatapoint" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_lib_constants_colors" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfAnalysisCharts.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysischarts", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSummaryCards.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsummarycards", + "target": "frontend_src_components_pdf_analysis_pdfsummarycards_summarycard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSummaryCards.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsummarycards", + "target": "frontend_src_components_pdf_analysis_pdfsummarycards_summarytile" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSummaryCards.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsummarycards", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSummaryCards.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsummarycards", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSummaryCards.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsummarycards", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_pdf_analysis_pdfsummarycards" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_pdf_analysis_pdfsummarycards_summarytile" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_pdf_analysis_pdfsystemcost_pdfsystemcost" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_pdf_analysis_pdfsystemcost_segment" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_pdf_analysis_pdfsystemcost_segment_colors" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "shared_costmodel_costbreakdown" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "shared_costmodel_rooftype" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfsystemcost", + "target": "shared_index" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/analysis/PdfSystemCost.tsx", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_analysis_pdfsystemcost_pdfsystemcost", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_pdfanalysisviewmodel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_config_analysismode" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_config_inverterreplacement" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_presentation_analysischartdatapoint" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_presentation_buildmonthlybillchartdata" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_presentation_layoutorientationsummary" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_presentation_summarizelayoutorientation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_projections_computedegradedsavings" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_projections_normalizeinverterreplacements" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_results_analysisresultsrecord" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_buildinginsights_parsebuildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "frontend_src_lib_buildinginsights_parsepaneledits" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "shared_costmodel_computesystemcost" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "shared_costmodel_costbreakdown" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "shared_costmodel_rooftype" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_presentation_buildmonthlybillchartdata" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_presentation_summarizelayoutorientation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_projections_computedegradedsavings" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel", + "target": "frontend_src_lib_analysis_projections_normalizeinverterreplacements" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel", + "target": "frontend_src_lib_buildinginsights_parsebuildinginsights" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel", + "target": "frontend_src_lib_buildinginsights_parsepaneledits" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel", + "target": "shared_costmodel_computesystemcost" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/pdf/analysis/pdfAnalysisViewModel.ts", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_pdf_analysis_pdfanalysisviewmodel_buildpdfanalysisviewmodel", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenu" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenucheckboxitem" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenucontent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenuitem" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenulabel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenuradioitem" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L159", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenuseparator" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L167", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenushortcut" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenusubcontent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenusubtrigger" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dropdownmenu", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_dropdownmenu" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_ui_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenu" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenucontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenucontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenuradioitem" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_ui_dropdownmenu_dropdownmenuradioitem" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/ui/DropdownMenu.tsx", + "source_location": "L168", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_ui_dropdownmenu_dropdownmenushortcut", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_guidedtour", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_guidedtour", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_guidedtour", + "target": "frontend_src_components_ui_guidedtour_getmodalposition" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_guidedtour", + "target": "frontend_src_components_ui_guidedtour_guidedtour" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_guidedtour", + "target": "frontend_src_components_ui_guidedtour_guidedtourmodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_guidedtour", + "target": "frontend_src_components_ui_guidedtour_tourstep" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbenchTour.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbenchtour", + "target": "frontend_src_components_ui_guidedtour" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_guidedtour" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_ui_guidedtour" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_guidedtour" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbenchTour.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbenchtour", + "target": "frontend_src_components_ui_guidedtour_tourstep" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_guidedtour_tourstep" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/GuidedTour.tsx", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_guidedtour_guidedtourmodal", + "target": "frontend_src_components_ui_guidedtour_getmodalposition" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_guidedtour_guidedtour" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_ui_guidedtour_guidedtour" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_guidedtour_guidedtour" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/ImagePopup.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_imagepopup", + "target": "frontend_src_components_ui_imagepopup_imagepopup" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/ImagePopup.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_imagepopup", + "target": "frontend_src_components_ui_imagepopup_imagepopupprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_imagepopup" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_imagepopup_imagepopup" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/InfoTooltip.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_infotooltip", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/InfoTooltip.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_infotooltip", + "target": "frontend_src_components_ui_tooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/InfoTooltip.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_infotooltip", + "target": "frontend_src_components_ui_tooltip_tooltipcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/InfoTooltip.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_infotooltip", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/InfoTooltip.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_infotooltip", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_infotooltip" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/ui/InfoTooltip.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_ui_infotooltip_infotooltip", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_infotooltip_infotooltip" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/LoadingOverlay.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_loadingoverlay", + "target": "frontend_src_components_ui_loadingoverlay_default_hints" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/LoadingOverlay.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_loadingoverlay", + "target": "frontend_src_components_ui_loadingoverlay_loadingoverlay" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_loadingoverlay" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_ui_loadingoverlay" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_loadingoverlay" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_loadingoverlay_loadingoverlay" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_ui_loadingoverlay_loadingoverlay" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_loadingoverlay_loadingoverlay" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/Logo.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_logo", + "target": "frontend_src_components_ui_logo_logo" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/Logo.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_logo", + "target": "frontend_src_components_ui_logo_logoprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/Logo.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_logo", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/Logo.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_logo", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_components_ui_logo" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_components_ui_logo" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_ui_logo" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_ui_logo" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/ui/Logo.tsx", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_ui_logo_logo", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_components_ui_logo_logo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_components_ui_logo_logo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_ui_logo_logo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_ui_logo_logo" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_notificationpopover", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_notificationpopover", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_notificationpopover", + "target": "frontend_src_components_ui_notificationpopover_notification" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_notificationpopover", + "target": "frontend_src_components_ui_notificationpopover_notificationpopover" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_notificationpopover", + "target": "frontend_src_components_ui_notificationpopover_usenotifications" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_notificationpopover", + "target": "frontend_src_lib_notificationstore" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_notificationpopover", + "target": "frontend_src_lib_notificationstore_notificationstore" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_components_ui_notificationpopover" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_notificationstore", + "target": "frontend_src_components_ui_notificationpopover_notification" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_components_ui_notificationpopover_notification" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/NotificationPopover.tsx", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_notificationpopover_notificationpopover", + "target": "frontend_src_components_ui_notificationpopover_usenotifications" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_badge", + "target": "frontend_src_components_ui_badge_badge" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_badge", + "target": "frontend_src_components_ui_badge_badgeprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_badge", + "target": "frontend_src_components_ui_badge_badgevariants" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_badge", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_badge", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_badge" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_badge_badge", + "target": "frontend_src_components_ui_badge_badgevariants" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/ui/badge.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_ui_badge_badge", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_badge_badge" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/button.tsx", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_button", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/button.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_button", + "target": "frontend_src_components_ui_button_buttonprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/button.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_button", + "target": "frontend_src_components_ui_button_buttonvariants" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/button.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_button", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/button.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_button", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/NotFoundPage.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_notfoundpage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/NotFoundPage.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_notfoundpage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_button_button" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_card", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_card", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_card", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_card", + "target": "frontend_src_components_ui_card_cardfooter" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_card", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_card", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_card", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/card.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_card", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_card_card" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_card_cardheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_card_cardtitle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_card_carddescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_card_cardcontent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dialog", + "target": "frontend_src_components_ui_dialog_dialogcontent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dialog", + "target": "frontend_src_components_ui_dialog_dialogdescription" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dialog", + "target": "frontend_src_components_ui_dialog_dialogfooter" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dialog", + "target": "frontend_src_components_ui_dialog_dialogheader" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dialog", + "target": "frontend_src_components_ui_dialog_dialogoverlay" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dialog", + "target": "frontend_src_components_ui_dialog_dialogtitle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dialog", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_dialog", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_dialog" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_dialog" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_dialog" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_dialog_dialogcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_dialog_dialogcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_dialog_dialogcontent" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_ui_dialog_dialogheader", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_dialog_dialogheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_dialog_dialogheader" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_dialog_dialogheader" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/ui/dialog.tsx", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_ui_dialog_dialogfooter", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_dialog_dialogfooter" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_dialog_dialogfooter" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_dialog_dialogfooter" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_dialog_dialogtitle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_dialog_dialogtitle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_dialog_dialogtitle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_dialog_dialogdescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_dialog_dialogdescription" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_dialog_dialogdescription" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/input.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_input", + "target": "frontend_src_components_ui_input_input" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/input.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_input", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/input.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_input", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_input" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_ui_input" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_input" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_ui_input" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_ui_input" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_input_input" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_components_ui_input_input" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_input_input" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_ui_input_input" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_ui_input_input" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/label.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_label", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/label.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_label", + "target": "frontend_src_components_ui_label_labelvariants" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/label.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_label", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/label.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_label", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_label" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_label" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_label" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_label" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_ui_label" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_ui_label" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_components_ui_label_label" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/separator.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_separator", + "target": "frontend_src_components_ui_separator_separator" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/separator.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_separator", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/separator.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_separator", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/skeleton.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_skeleton", + "target": "frontend_src_components_ui_skeleton_skeleton" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/skeleton.tsx", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_skeleton", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/skeleton.tsx", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_skeleton", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_skeleton" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/ui/skeleton.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_ui_skeleton_skeleton", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_skeleton_skeleton" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/slider.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_slider", + "target": "frontend_src_components_ui_slider_slider" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/slider.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_slider", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/slider.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_slider", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_slider" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_slider" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_ui_slider_slider" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_ui_slider_slider" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/toastConfig.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_toastconfig", + "target": "frontend_src_components_ui_toastconfig_base_style" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/toastConfig.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_toastconfig", + "target": "frontend_src_components_ui_toastconfig_baseoptions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/toastConfig.tsx", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_toastconfig", + "target": "frontend_src_components_ui_toastconfig_notify" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/toastConfig.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_toastconfig", + "target": "frontend_src_lib_notificationstore" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/toastConfig.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_toastconfig", + "target": "frontend_src_lib_notificationstore_notificationstore" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_components_ui_toastconfig" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useauth", + "target": "frontend_src_components_ui_toastconfig" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_components_ui_toastconfig" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useoverlayimages", + "target": "frontend_src_components_ui_toastconfig" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "frontend_src_components_ui_toastconfig" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_toastconfig" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_ui_toastconfig" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_toastconfig" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_components_ui_toastconfig_notify" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useauth", + "target": "frontend_src_components_ui_toastconfig_notify" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_components_ui_toastconfig_notify" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useoverlayimages", + "target": "frontend_src_components_ui_toastconfig_notify" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "frontend_src_components_ui_toastconfig_notify" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_components_ui_toastconfig_notify" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_components_ui_toastconfig_notify" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_components_ui_toastconfig_notify" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/tooltip.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_tooltip", + "target": "frontend_src_components_ui_tooltip_tooltipcontent" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/tooltip.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_tooltip", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/ui/tooltip.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_ui_tooltip", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_ui_tooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbutton", + "target": "frontend_src_components_ui_tooltip" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_tooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbutton", + "target": "frontend_src_components_ui_tooltip_tooltipcontent" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_components_ui_tooltip_tooltipcontent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_canvascontrols_canvascontrols" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_canvascontrols_canvascontrolsprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbaricons" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbaricons_collapseicon" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbaricons_deleteicon" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbaricons_expandicon" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbaricons_layersicon" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbaricons_marqueeicon" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbaricons_redoicon" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbaricons_rotateicon" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbaricons_snapicon" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbaricons_undoicon" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbutton" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbutton_swatchbutton" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbutton_toolbutton" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_components_workbench_toolbutton_tooltipstate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_lib_constants_colors" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvascontrols", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_canvascontrols" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/workbench/CanvasControls.tsx", + "source_location": "L183", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_workbench_canvascontrols_canvascontrols", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_canvascontrols_canvascontrols" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvaslegends", + "target": "frontend_src_components_workbench_canvaslegends_canvaslegends" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvaslegends", + "target": "frontend_src_components_workbench_canvaslegends_canvaslegendsprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvaslegends", + "target": "frontend_src_components_workbench_canvaslegends_segmenthull" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvaslegends", + "target": "frontend_src_hooks_useoverlayimages" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvaslegends", + "target": "frontend_src_hooks_useoverlayimages_overlaymode" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvaslegends", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/CanvasLegends.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_canvaslegends", + "target": "frontend_src_lib_constants_colors" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_canvaslegends" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_canvaslegends_canvaslegends" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/GroupRotationHandle.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_grouprotationhandle", + "target": "frontend_src_components_workbench_grouprotationhandle_grouppanel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/GroupRotationHandle.tsx", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_grouprotationhandle", + "target": "frontend_src_components_workbench_grouprotationhandle_grouprotationhandle" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/GroupRotationHandle.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_grouprotationhandle", + "target": "frontend_src_components_workbench_grouprotationhandle_grouprotationhandleprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/GroupRotationHandle.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_grouprotationhandle", + "target": "frontend_src_lib_workbench_handlemetrics" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/GroupRotationHandle.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_grouprotationhandle", + "target": "frontend_src_lib_workbench_handlemetrics_group_rotation_handle_metrics" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_grouprotationhandle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_grouprotationhandle_grouprotationhandle" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_irradianceglow", + "target": "frontend_src_components_workbench_irradianceglow_irradianceglow" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_irradianceglow", + "target": "frontend_src_components_workbench_irradianceglow_irradianceglowprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_irradianceglow", + "target": "frontend_src_components_workbench_irradianceglow_month_labels" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_irradianceglow", + "target": "frontend_src_components_workbench_irradianceglow_monthly_azimuth" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/IrradianceGlow.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_irradianceglow", + "target": "frontend_src_components_workbench_irradianceglow_monthly_irradiance" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useIrradiance.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useirradiance", + "target": "frontend_src_components_workbench_irradianceglow" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_irradianceglow" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_irradianceglow_month_labels" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useIrradiance.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useirradiance", + "target": "frontend_src_components_workbench_irradianceglow_monthly_irradiance" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useIrradiance.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useirradiance", + "target": "frontend_src_components_workbench_irradianceglow_monthly_azimuth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_irradianceglow_monthly_azimuth" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_workbench_layoutpresetmodal_billlabel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_workbench_layoutpresetmodal_goal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_workbench_layoutpresetmodal_layoutpresetmodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_components_workbench_layoutpresetmodal_layoutpresetmodalprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "shared_layoutpreferences_bill_range_to_kwh_per_month" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "shared_layoutpreferences_billrange" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "shared_layoutpreferences_layoutpreferences" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "shared_layoutpreferences_roofdirection" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal", + "target": "shared_layoutpreferences_sizinggoal" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_layoutpresetmodal" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_layoutpresetmodal_layoutpresetmodal", + "target": "frontend_src_components_workbench_layoutpresetmodal_billlabel" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/workbench/LayoutPresetModal.tsx", + "source_location": "L246", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_workbench_layoutpresetmodal_layoutpresetmodal", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_layoutpresetmodal_layoutpresetmodal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_panellayer_getpanelcolorbyratio" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_panellayer_panelannualenergy" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_panellayer_panellayer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_panellayer_panellayerprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_panellayer_renderpanel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_panelrect" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_panelrect_panelrect" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_rotationhandle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_components_workbench_rotationhandle_rotationhandle" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_hooks_usepanelstate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_hooks_usepanelstate_workbenchpanelstate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer", + "target": "frontend_src_lib_buildinginsights_annualenergyfrommonthly" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_panellayer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer_panelannualenergy", + "target": "frontend_src_lib_buildinginsights_annualenergyfrommonthly" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer_panellayer", + "target": "frontend_src_components_workbench_panellayer_panelannualenergy" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelLayer.tsx", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panellayer_panellayer", + "target": "frontend_src_components_workbench_panellayer_getpanelcolorbyratio" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_panellayer_panellayer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "frontend_src_components_workbench_panelmodeldrawer_model_cell_colors" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "frontend_src_components_workbench_panelmodeldrawer_modelcard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "frontend_src_components_workbench_panelmodeldrawer_panelmodeldrawer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "frontend_src_components_workbench_panelmodeldrawer_panelmodeldrawerprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "frontend_src_components_workbench_panelmodeldrawer_panelpreview3d" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "shared_panelmodels_panel_models" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelmodeldrawer", + "target": "shared_paneltypes_panelmodel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_workbench_panelmodeldrawer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_workbench_panelmodeldrawer_panelmodeldrawer", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "references", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_workbench_panelmodeldrawer_panelmodeldrawer", + "target": "shared_panelmodels_panel_models" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_workbench_panelmodeldrawer_panelmodeldrawer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/workbench/PanelModelDrawer.tsx", + "source_location": "L120", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_workbench_panelmodeldrawer_modelcard", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelPreview3D.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelpreview3d", + "target": "frontend_src_components_workbench_panelpreview3d_panelmesh" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelPreview3D.tsx", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelpreview3d", + "target": "frontend_src_components_workbench_panelpreview3d_panelpreview3d" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelPreview3D.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelpreview3d", + "target": "frontend_src_components_workbench_panelpreview3d_panelpreview3dprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelRect.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelrect", + "target": "frontend_src_components_workbench_panelrect_getcursor" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelRect.tsx", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelrect", + "target": "frontend_src_components_workbench_panelrect_panelrect" + }, + { + "relation": "indirect_call", + "confidence": "INFERRED", + "source_file": "frontend/src/components/workbench/PanelRect.tsx", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast", + "context": "argument", + "confidence_score": 0.5, + "source": "frontend_src_components_workbench_panelrect", + "target": "frontend_src_components_workbench_panelrect_panelrectinternal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelRect.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelrect", + "target": "frontend_src_components_workbench_panelrect_panelrectprops" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/PanelRect.tsx", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_panelrect_panelrectinternal", + "target": "frontend_src_components_workbench_panelrect_getcursor" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/RotationHandle.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_rotationhandle", + "target": "frontend_src_components_workbench_rotationhandle_rotationhandle" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/RotationHandle.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_rotationhandle", + "target": "frontend_src_components_workbench_rotationhandle_rotationhandleprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/RotationHandle.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_rotationhandle", + "target": "frontend_src_lib_workbench_handlemetrics" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/RotationHandle.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_rotationhandle", + "target": "frontend_src_lib_workbench_handlemetrics_rotation_handle_metrics" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbutton", + "target": "frontend_src_components_workbench_toolbutton_swatchbutton" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbutton", + "target": "frontend_src_components_workbench_toolbutton_swatchbuttonprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbutton", + "target": "frontend_src_components_workbench_toolbutton_toolbutton" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbutton", + "target": "frontend_src_components_workbench_toolbutton_toolbuttonprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbutton", + "target": "frontend_src_components_workbench_toolbutton_tooltipstate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbutton", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbutton", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_workbench_toolbutton_toolbutton", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/workbench/ToolButton.tsx", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_workbench_toolbutton_swatchbutton", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbaricons", + "target": "frontend_src_components_workbench_toolbaricons_collapseicon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbaricons", + "target": "frontend_src_components_workbench_toolbaricons_deleteicon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbaricons", + "target": "frontend_src_components_workbench_toolbaricons_expandicon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L120", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbaricons", + "target": "frontend_src_components_workbench_toolbaricons_layersicon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbaricons", + "target": "frontend_src_components_workbench_toolbaricons_marqueeicon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbaricons", + "target": "frontend_src_components_workbench_toolbaricons_redoicon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbaricons", + "target": "frontend_src_components_workbench_toolbaricons_rotateicon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbaricons", + "target": "frontend_src_components_workbench_toolbaricons_snapicon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbaricons", + "target": "frontend_src_components_workbench_toolbaricons_svgprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/ToolbarIcons.tsx", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_toolbaricons", + "target": "frontend_src_components_workbench_toolbaricons_undoicon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchhintoverlay", + "target": "frontend_src_components_workbench_workbenchhintoverlay_props" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchhintoverlay", + "target": "frontend_src_components_workbench_workbenchhintoverlay_readpermanentdismiss" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchhintoverlay", + "target": "frontend_src_components_workbench_workbenchhintoverlay_workbenchhintoverlay" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchhintoverlay", + "target": "frontend_src_components_workbench_workbenchhintoverlay_writepermanentdismiss" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_workbenchhintoverlay" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchhintoverlay_workbenchhintoverlay", + "target": "frontend_src_components_workbench_workbenchhintoverlay_readpermanentdismiss" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchHintOverlay.tsx", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchhintoverlay_workbenchhintoverlay", + "target": "frontend_src_components_workbench_workbenchhintoverlay_writepermanentdismiss" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_workbenchhintoverlay_workbenchhintoverlay" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_workbench_workbenchsidebar_selectedpaneldata" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_workbench_workbenchsidebar_uimessage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_workbench_workbenchsidebar_workbenchsidebar" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_components_workbench_workbenchsidebar_workbenchsidebarprops" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_hooks_usepanelstate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_hooks_usepanelstate_batchrecomputestatus" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_lib_formatters" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_lib_utils" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "shared_index_imageryquality" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_components_workbench_workbenchsidebar", + "target": "shared_paneltypes_panelmodel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_workbenchsidebar" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L137", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_workbench_workbenchsidebar_workbenchsidebar", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/components/workbench/WorkbenchSidebar.tsx", + "source_location": "L194", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_components_workbench_workbenchsidebar_workbenchsidebar", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_components_workbench_workbenchsidebar_workbenchsidebar" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usechat_test", + "target": "frontend_src_hooks_tests_usechat_test_buildsseresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usechat_test", + "target": "frontend_src_hooks_tests_usechat_test_getsessionmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usechat_test", + "target": "frontend_src_hooks_tests_usechat_test_installfetchmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usechat_test", + "target": "frontend_src_hooks_tests_usechat_test_wrapper" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usechat_test", + "target": "frontend_src_hooks_usechat" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/useChat.test.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usechat_test", + "target": "frontend_src_hooks_usechat_usechat" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/usePanelState.test.tsx", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usepanelstate_test", + "target": "frontend_src_hooks_tests_usepanelstate_test_roofsegments" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/usePanelState.test.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usepanelstate_test", + "target": "frontend_src_hooks_tests_usepanelstate_test_solarpanels" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/usePanelState.test.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usepanelstate_test", + "target": "frontend_src_hooks_usepanelstate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/usePanelState.test.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usepanelstate_test", + "target": "frontend_src_hooks_usepanelstate_usepanelstate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/usePanelStateUndoRedo.test.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usepanelstateundoredo_test", + "target": "frontend_src_hooks_tests_usepanelstateundoredo_test_roofsegments" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/usePanelStateUndoRedo.test.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usepanelstateundoredo_test", + "target": "frontend_src_hooks_tests_usepanelstateundoredo_test_setup" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/usePanelStateUndoRedo.test.tsx", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usepanelstateundoredo_test", + "target": "frontend_src_hooks_tests_usepanelstateundoredo_test_solarpanels" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/usePanelStateUndoRedo.test.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usepanelstateundoredo_test", + "target": "frontend_src_hooks_usepanelstate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/usePanelStateUndoRedo.test.tsx", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usepanelstateundoredo_test", + "target": "frontend_src_hooks_usepanelstate_usepanelstate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/__tests__/usePanelStateUndoRedo.test.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_tests_usepanelstateundoredo_test_setup", + "target": "frontend_src_hooks_usepanelstate_usepanelstate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_hooks_useanalysisform_analysisformstate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_hooks_useanalysisform_chartdatapoint" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_hooks_useanalysisform_useanalysisform" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_analysis_config_analysisconfig" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_analysis_config_parsesavedanalysisconfig" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_analysis_presentation_aggregatemonthlygeneration" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_analysis_presentation_applyperformanceratio" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_analysis_presentation_applyseasonalprofile" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_analysis_presentation_buildmonthlybillchartdata" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_analysis_results_buildanalysisresults" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_analysis_results_buildthresholdwarnings" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_billingengine" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_billingengine_runannualsimulation" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_buildinginsights_parsebuildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "frontend_src_lib_buildinginsights_parsepaneledits" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "shared_costmodel_computesystemcost" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "shared_layoutpreferences_bill_range_to_kwh_per_month" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysisform", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_hooks_useanalysisform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_hooks_useanalysisform_analysisformstate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_lib_analysis_config_parsesavedanalysisconfig" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_lib_analysis_presentation_aggregatemonthlygeneration" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_lib_analysis_presentation_applyperformanceratio" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L201", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_lib_analysis_presentation_applyseasonalprofile" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L225", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_lib_analysis_presentation_buildmonthlybillchartdata" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L212", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_lib_analysis_results_buildanalysisresults" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L229", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_lib_analysis_results_buildthresholdwarnings" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L207", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_lib_billingengine_runannualsimulation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_lib_buildinginsights_parsebuildinginsights" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "frontend_src_lib_buildinginsights_parsepaneledits" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "shared_costmodel_computesystemcost" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisForm.ts", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysisform_useanalysisform", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_hooks_useanalysisform_useanalysisform" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analysispage_analysispage", + "target": "frontend_src_hooks_useanalysisform_useanalysisform" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_hooks_useanalysispdf_buildpdffilename" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_hooks_useanalysispdf_sanitizefilename" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_hooks_useanalysispdf_triggerdownload" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_hooks_useanalysispdf_useanalysispdf" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_hooks_uselocale" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_hooks_uselocale_uselocale" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_hooks_usetheme" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_hooks_useanalysispdf" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useanalysispdf_buildpdffilename", + "target": "frontend_src_hooks_useanalysispdf_sanitizefilename" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysispdf_useanalysispdf", + "target": "frontend_src_hooks_uselocale_uselocale" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAnalysisPdf.ts", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useanalysispdf_useanalysispdf", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_hooks_useanalysispdf_useanalysispdf" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L137", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analysispage_analysispage", + "target": "frontend_src_hooks_useanalysispdf_useanalysispdf" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useauth", + "target": "frontend_src_hooks_useauth_authcontext" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useauth", + "target": "frontend_src_hooks_useauth_authcontextvalue" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useauth", + "target": "frontend_src_hooks_useauth_authprovider" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useauth", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useauth", + "target": "frontend_src_lib_supabase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useauth", + "target": "frontend_src_lib_supabase_getsupabase" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usequota", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_hooks_useauth" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useAuth.tsx", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useauth_authprovider", + "target": "frontend_src_lib_supabase_getsupabase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_hooks_useauth_authprovider" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_uselocale_localeprovider", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usequota", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usequota_usequota", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_dashboardpage_dashboardpage", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_landingpage_landingpage", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_settingspage_settingspage", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_signinpage_signinpage", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_signuppage_signuppage", + "target": "frontend_src_hooks_useauth_useauth" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_hooks_usecanvasinteractions_getplacementerrormessage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractionsoptions" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_hooks_usepanelstate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_hooks_usepanelstate_workbenchpanelstate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_hooks_useworkbenchdata" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_hooks_useworkbenchdata_decodedroofmask" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_buildinginsights_roofsegment" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_buildinginsights_solarpanel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_canvasgeo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_createcanvasgeo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_getrectaabb" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_getrotatedrectpoints" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_isaabbinsidestage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_ispolygoninsiderastermask" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_latlngtopixel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_obbsoverlap" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_obbsoverlapwithminseparation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_panelmeterstopixels" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_pixeltolatlng" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_segmentvisualization" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_segmentvisualization_computesegmenthulls" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_snapalignment" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_snapalignment_computeoverlapsnap" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_snapalignment_computesnap" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_snapalignment_resolvegroupoverlapescape" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_snapalignment_resolveoverlapescape" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "frontend_src_lib_snapalignment_snapguide" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "shared_panelmodels_panel_models" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvasinteractions", + "target": "shared_paneltypes_panelmodel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usecanvasinteractions" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_createcanvasgeo" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L168", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_latlngtopixel" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractions", + "target": "frontend_src_lib_canvastransforms_panelmeterstopixels" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L195", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractions", + "target": "frontend_src_lib_segmentvisualization_computesegmenthulls" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useCanvasInteractions.ts", + "source_location": "L328", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractions", + "target": "frontend_src_lib_snapalignment_computesnap" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractions" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L218", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_hooks_usecanvasinteractions_usecanvasinteractions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useCanvasZoom.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usecanvaszoom", + "target": "frontend_src_hooks_usecanvaszoom_usecanvaszoom" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usecanvaszoom" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usecanvaszoom_usecanvaszoom" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L249", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_hooks_usecanvaszoom_usecanvaszoom" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_buildauthheaders" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_buildhistory" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_chatevent" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_chatlivestate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_chatpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_drainssebuffer" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_haslivestate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_normaliselanguage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_parsesseeventblock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_readerrormessage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_samplepool" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_usechat" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_hooks_usechat_usechatreturn" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_lib_supabase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "frontend_src_lib_supabase_getsupabase" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "shared_layoutpreferences_layoutpreferences" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "shared_projectdtos_analysisresultsdto" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat", + "target": "shared_projectdtos_storedanalysisconfigdto" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_hooks_usechat" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usechat" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_hooks_usechat_chatlivestate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usechat_chatlivestate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L226", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat_usechat", + "target": "frontend_src_hooks_usechat_haslivestate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L263", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat_usechat", + "target": "frontend_src_hooks_usechat_samplepool" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat_drainssebuffer", + "target": "frontend_src_hooks_usechat_parsesseeventblock" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L307", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat_usechat", + "target": "frontend_src_hooks_usechat_parsesseeventblock" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L300", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat_usechat", + "target": "frontend_src_hooks_usechat_drainssebuffer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat_buildauthheaders", + "target": "frontend_src_lib_supabase_getsupabase" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L217", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat_usechat", + "target": "frontend_src_hooks_usechat_buildauthheaders" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L223", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat_usechat", + "target": "frontend_src_hooks_usechat_normaliselanguage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat_usechat", + "target": "frontend_src_hooks_usechat_buildhistory" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useChat.ts", + "source_location": "L239", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usechat_usechat", + "target": "frontend_src_hooks_usechat_readerrormessage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useGoogleMaps.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usegooglemaps", + "target": "frontend_src_hooks_usegooglemaps_ensureloaded" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useGoogleMaps.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usegooglemaps", + "target": "frontend_src_hooks_usegooglemaps_loader" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useGoogleMaps.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usegooglemaps", + "target": "frontend_src_hooks_usegooglemaps_usegooglemaps" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_hooks_usegooglemaps" + }, + { + "relation": "references", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useGoogleMaps.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usegooglemaps_ensureloaded", + "target": "frontend_src_hooks_usegooglemaps_loader" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useGoogleMaps.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usegooglemaps_usegooglemaps", + "target": "frontend_src_hooks_usegooglemaps_ensureloaded" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_hooks_usegooglemaps_usegooglemaps" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_mappage_mappage", + "target": "frontend_src_hooks_usegooglemaps_usegooglemaps" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useIrradiance.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useirradiance", + "target": "frontend_src_hooks_useirradiance_useirradiance" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useirradiance" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useirradiance_useirradiance" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_hooks_useirradiance_useirradiance" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_hooks_uselocale_localecontext" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_hooks_uselocale_localecontextvalue" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_hooks_uselocale_localeprovider" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_hooks_uselocale_readinitiallocale" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_hooks_uselocale_uselocale" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_lib_i18n" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_lib_i18n_issupportedlocale" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_lib_i18n_supportedlocale" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_lib_supabase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale", + "target": "frontend_src_lib_supabase_getsupabase" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_hooks_uselocale" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale_localeprovider", + "target": "frontend_src_hooks_uselocale_readinitiallocale" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_uselocale_readinitiallocale", + "target": "frontend_src_lib_i18n_issupportedlocale" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_uselocale_localeprovider", + "target": "frontend_src_lib_i18n_issupportedlocale" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useLocale.tsx", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_uselocale_localeprovider", + "target": "frontend_src_lib_supabase_getsupabase" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_hooks_uselocale_localeprovider" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useoverlayimages", + "target": "frontend_src_hooks_useoverlayimages_overlaymode" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useoverlayimages", + "target": "frontend_src_hooks_useoverlayimages_useloadedimage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useoverlayimages", + "target": "frontend_src_hooks_useoverlayimages_useoverlayimages" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useoverlayimages" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useOverlayImages.ts", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useoverlayimages_useoverlayimages", + "target": "frontend_src_hooks_useoverlayimages_useloadedimage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useoverlayimages_overlaymode" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useoverlayimages_useoverlayimages" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_hooks_useoverlayimages_useoverlayimages" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_hooks_usepanelstate_batchrecomputestatus" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_hooks_usepanelstate_getpanelannualenergy" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_hooks_usepanelstate_getsortedpanelids" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_hooks_usepanelstate_undoredosnapshot" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_hooks_usepanelstate_usepanelstate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_hooks_usepanelstate_usepanelstateargs" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_hooks_usepanelstate_workbench_config" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_hooks_usepanelstate_workbenchpanelstate" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_hooks_useundoredo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_hooks_useundoredo_useundoredo" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_lib_buildinginsights_annualenergyfrommonthly" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_lib_buildinginsights_getinitialpanelrotation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_lib_buildinginsights_normalizerotation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_lib_buildinginsights_parsepaneledits" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_lib_buildinginsights_roofsegment" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_lib_buildinginsights_solarpanel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_lib_workbench_roofdirection" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "frontend_src_lib_workbench_roofdirection_segmentmatchesroofdirection" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "shared_layoutpreferences_roofdirection" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usepanelstate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usepanelstate_batchrecomputestatus" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usepanelstate_getpanelannualenergy", + "target": "frontend_src_lib_buildinginsights_annualenergyfrommonthly" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate_getsortedpanelids", + "target": "frontend_src_hooks_usepanelstate_getpanelannualenergy" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L266", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate_usepanelstate", + "target": "frontend_src_hooks_usepanelstate_getpanelannualenergy" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate_getsortedpanelids", + "target": "frontend_src_lib_workbench_roofdirection_segmentmatchesroofdirection" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usepanelstate_usepanelstate", + "target": "frontend_src_hooks_usepanelstate_getsortedpanelids" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L147", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usepanelstate_usepanelstate", + "target": "frontend_src_hooks_useundoredo_useundoredo" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usepanelstate_usepanelstate", + "target": "frontend_src_lib_buildinginsights_getinitialpanelrotation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L182", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usepanelstate_usepanelstate", + "target": "frontend_src_lib_buildinginsights_normalizerotation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/usePanelState.ts", + "source_location": "L153", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usepanelstate_usepanelstate", + "target": "frontend_src_lib_buildinginsights_parsepaneledits" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usepanelstate_usepanelstate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L169", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_hooks_usepanelstate_usepanelstate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usequota", + "target": "frontend_src_hooks_usequota_formatreset" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usequota", + "target": "frontend_src_hooks_usequota_usequota" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usequota", + "target": "frontend_src_lib_notificationstore" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usequota", + "target": "frontend_src_lib_notificationstore_notificationstore" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usequota", + "target": "shared_index" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_hooks_usequota" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_hooks_usequota" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_hooks_usequota" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useQuota.ts", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usequota_usequota", + "target": "frontend_src_hooks_usequota_formatreset" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_hooks_usequota_usequota" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_dashboardpage_dashboardpage", + "target": "frontend_src_hooks_usequota_usequota" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_hooks_usequota_usequota" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_projectspage_projectspage", + "target": "frontend_src_hooks_usequota_usequota" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_hooks_usequota_usequota" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_settingspage_settingspage", + "target": "frontend_src_hooks_usequota_usequota" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useStageSize.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usestagesize", + "target": "frontend_src_hooks_usestagesize_usestagesize" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usestagesize" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_usestagesize_usestagesize" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_hooks_usestagesize_usestagesize" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usetheme", + "target": "frontend_src_hooks_usetheme_getsystemtheme" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usetheme", + "target": "frontend_src_hooks_usetheme_resolvetheme" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usetheme", + "target": "frontend_src_hooks_usetheme_theme" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usetheme", + "target": "frontend_src_hooks_usetheme_themecontext" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usetheme", + "target": "frontend_src_hooks_usetheme_themecontextvalue" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usetheme", + "target": "frontend_src_hooks_usetheme_themeprovider" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usetheme", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_hooks_usetheme" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_hooks_usetheme" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_hooks_usetheme" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_hooks_usetheme" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usetheme_resolvetheme", + "target": "frontend_src_hooks_usetheme_getsystemtheme" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usetheme_themeprovider", + "target": "frontend_src_hooks_usetheme_getsystemtheme" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_usetheme_themeprovider", + "target": "frontend_src_hooks_usetheme_resolvetheme" + }, + { + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "frontend/src/hooks/useTheme.tsx", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_usetheme_themeprovider", + "target": "services_pdf_service_api_pdf_export_handler" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_hooks_usetheme_themeprovider" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analysispage_analysispage", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analyticspage_analyticspage", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_settingspage_settingspage", + "target": "frontend_src_hooks_usetheme_usetheme" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useUndoRedo.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useundoredo", + "target": "frontend_src_hooks_useundoredo_undoredocontrols" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useUndoRedo.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useundoredo", + "target": "frontend_src_hooks_useundoredo_undoredooptions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useUndoRedo.ts", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useundoredo", + "target": "frontend_src_hooks_useundoredo_useundoredo" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata", + "target": "frontend_src_hooks_useworkbenchdata_decodebase64" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata", + "target": "frontend_src_hooks_useworkbenchdata_decodedroofmask" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata", + "target": "frontend_src_hooks_useworkbenchdata_useworkbenchdata" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata", + "target": "frontend_src_lib_buildinginsights_parsebuildinginsights" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useworkbenchdata" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchdata_useworkbenchdata", + "target": "frontend_src_hooks_useworkbenchdata_decodebase64" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/hooks/useWorkbenchData.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_hooks_useworkbenchdata_useworkbenchdata", + "target": "frontend_src_lib_buildinginsights_parsebuildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useworkbenchdata_useworkbenchdata" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_hooks_useworkbenchdata_useworkbenchdata" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchKeyboard.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchkeyboard", + "target": "frontend_src_hooks_useworkbenchkeyboard_istypinginelement" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchKeyboard.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchkeyboard", + "target": "frontend_src_hooks_useworkbenchkeyboard_useworkbenchkeyboard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchKeyboard.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchkeyboard", + "target": "frontend_src_hooks_useworkbenchkeyboard_useworkbenchkeyboardoptions" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useworkbenchkeyboard" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useworkbenchkeyboard_useworkbenchkeyboard" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L251", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_hooks_useworkbenchkeyboard_useworkbenchkeyboard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "frontend_src_hooks_useworkbenchsave_useworkbenchsave" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "frontend_src_hooks_useworkbenchsave_useworkbenchsaveoptions" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/hooks/useWorkbenchSave.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_hooks_useworkbenchsave", + "target": "shared_paneltypes_panelmodel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useworkbenchsave" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_hooks_useworkbenchsave_useworkbenchsave" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L240", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_hooks_useworkbenchsave_useworkbenchsave" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_analysis_config_parsesavedanalysisconfig" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_analysis_presentation_aggregatemonthlygeneration" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_analysis_presentation_applyperformanceratio" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_analysis_presentation_summarizelayoutorientation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_analysis_projections_computedegradedsavings" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_analysis_results_buildanalysisresults" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_analysis_results_buildthresholdwarnings" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_analysis_results_classifynemfit" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_analysis_results_computenemfitmetrics" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_billingengine" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_billingengine_annualsimulationresult" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_billingengine_nemmonthresult" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_buildinginsights_roofsegment" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_buildinginsights_solarpanel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L349", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_tests_analysis_test_baselinesimulation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "frontend_src_lib_tests_analysis_test_monthresult" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/analysis.test.ts", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_analysis_test", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/billingEngine.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_billingengine_test", + "target": "frontend_src_lib_billingengine" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/billingEngine.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_billingengine_test", + "target": "frontend_src_lib_billingengine_billingconfig" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/billingEngine.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_billingengine_test", + "target": "frontend_src_lib_billingengine_computebill" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/billingEngine.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_billingengine_test", + "target": "frontend_src_lib_billingengine_computenemmonth" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/billingEngine.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_billingengine_test", + "target": "frontend_src_lib_billingengine_lookupeeirebate" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/billingEngine.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_billingengine_test", + "target": "frontend_src_lib_billingengine_runannualsimulation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/billingEngine.test.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_billingengine_test", + "target": "frontend_src_lib_tests_billingengine_test_config" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/buildingInsights.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_buildinginsights_test", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/buildingInsights.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_buildinginsights_test", + "target": "frontend_src_lib_buildinginsights_annualenergyfrommonthly" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/buildingInsights.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_buildinginsights_test", + "target": "frontend_src_lib_buildinginsights_getinitialpanelrotation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/buildingInsights.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_buildinginsights_test", + "target": "frontend_src_lib_buildinginsights_normalizerotation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/buildingInsights.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_buildinginsights_test", + "target": "frontend_src_lib_buildinginsights_parsebuildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/buildingInsights.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_buildinginsights_test", + "target": "frontend_src_lib_buildinginsights_parsepaneledits" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_aabbsoverlap" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_createcanvasgeo" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_getrectaabb" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_getrotatedrectpoints" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_isaabbinsidestage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_ispolygoninsiderastermask" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_latlngtopixel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_obbsoverlap" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_obbsoverlapwithminseparation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_panelmeterstopixels" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_canvastransforms_pixeltolatlng" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/canvasTransforms.test.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_canvastransforms_test", + "target": "frontend_src_lib_tests_canvastransforms_test_imagegeotransform" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/costModel.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_costmodel_test", + "target": "shared_costmodel_computesystemcost" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/costModel.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_costmodel_test", + "target": "shared_index" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/projectStatus.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_projectstatus_test", + "target": "frontend_src_lib_projectstatus" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/projectStatus.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_projectstatus_test", + "target": "frontend_src_lib_projectstatus_getprojectstatusconfig" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/projectStatus.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_projectstatus_test", + "target": "frontend_src_lib_projectstatus_getprojectstatuslabel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/projectStatus.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_projectstatus_test", + "target": "frontend_src_lib_projectstatus_getprojectstatustooltip" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/projectStatus.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_projectstatus_test", + "target": "frontend_src_lib_projectstatus_getprojectstatusvariant" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/projectStatus.test.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_projectstatus_test", + "target": "frontend_src_lib_tests_projectstatus_test_all_statuses" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/projectStatus.test.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_projectstatus_test", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/projectStatus.test.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_projectstatus_test", + "target": "shared_index_projectstatus" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_canvastransforms" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_canvastransforms_getrectaabb" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_canvastransforms_getrotatedrectpoints" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_canvastransforms_isaabbinsidestage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_canvastransforms_obbsoverlap" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_snapalignment" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_snapalignment_computeoverlapsnap" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_snapalignment_computesnap" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_snapalignment_resolvegroupoverlapescape" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_snapalignment_resolveoverlapescape" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test", + "target": "frontend_src_lib_tests_snapalignment_test_snap" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/__tests__/snapAlignment.test.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_tests_snapalignment_test_snap", + "target": "frontend_src_lib_snapalignment_computesnap" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_analysis_disclaimer_keys" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_analysisdisclaimerkey" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_config" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_config_analysisconfig" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_config_analysismode" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_config_connectionphase" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_config_consumptionprofile" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_config_default_inverter_replacement" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_config_inverterreplacement" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_config_parsesavedanalysisconfig" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_aggregatemonthlygeneration" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_analysischartdatapoint" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_applyperformanceratio" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_applyseasonalprofile" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_azimuthtocompass" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_buildmonthlybillchartdata" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_isseasonalprofile" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_layoutorientationsummary" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_month_labels" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_seasonal_multipliers" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_presentation_summarizelayoutorientation" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_projections" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_projections_buildnetbenefitseries" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_projections_computedegradedsavings" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_projections_netbenefitpoint" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_projections_normalizeinverterreplacements" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_results" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_results_analysisresultsrecord" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_results_buildanalysisresults" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_results_buildthresholdwarnings" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_results_classifynemfit" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_results_computenemfitmetrics" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_results_nemfit" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_results_nemfitclassification" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis", + "target": "frontend_src_lib_analysis_results_nemfitmetrics" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_analysis" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_analysis_analysis_disclaimer_keys" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_analysisconfig" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_analysismode" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_connectionphase" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_consumptionprofile" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_default_inverter_replacement" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_getconnectionphase" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_getconsumptionprofile" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_getnumber" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_getrooftype" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_gettariffratesoverride" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_inverterreplacement" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_isrecord" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_parseinverterreplacements" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_parsesavedanalysisconfig" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_round2" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "frontend_src_lib_analysis_config_tariff_rate_keys" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "shared_costmodel_rooftype" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config", + "target": "shared_index_tariffrates" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_config" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections", + "target": "frontend_src_lib_analysis_config" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_config" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections", + "target": "frontend_src_lib_analysis_config_analysismode" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_config_analysismode" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_config_consumptionprofile" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections", + "target": "frontend_src_lib_analysis_config_inverterreplacement" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_config_inverterreplacement" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_analysis_config_analysisconfig" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_parseinverterreplacements", + "target": "frontend_src_lib_analysis_config_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_gettariffratesoverride", + "target": "frontend_src_lib_analysis_config_isrecord" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_parseinverterreplacements", + "target": "frontend_src_lib_analysis_config_isrecord" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_parsesavedanalysisconfig", + "target": "frontend_src_lib_analysis_config_isrecord" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L102", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_parseinverterreplacements", + "target": "frontend_src_lib_analysis_config_getnumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_parsesavedanalysisconfig", + "target": "frontend_src_lib_analysis_config_getnumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_parsesavedanalysisconfig", + "target": "frontend_src_lib_analysis_config_getconnectionphase" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_parsesavedanalysisconfig", + "target": "frontend_src_lib_analysis_config_getrooftype" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_parsesavedanalysisconfig", + "target": "frontend_src_lib_analysis_config_getconsumptionprofile" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_parsesavedanalysisconfig", + "target": "frontend_src_lib_analysis_config_gettariffratesoverride" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/config.ts", + "source_location": "L149", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_config_parsesavedanalysisconfig", + "target": "frontend_src_lib_analysis_config_parseinverterreplacements" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_aggregatemonthlygeneration" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_analysischartdatapoint" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L153", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_applyperformanceratio" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_applyseasonalprofile" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_azimuthtocompass" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_buildmonthlybillchartdata" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_compass_8" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L185", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_isseasonalprofile" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_layoutorientationsummary" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_month_labels" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_round2" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_seasonal_multipliers" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_analysis_presentation_summarizelayoutorientation" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_billingengine" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_billingengine_nemmonthresult" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_buildinginsights_roofsegment" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "frontend_src_lib_buildinginsights_solarpanel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation_aggregatemonthlygeneration", + "target": "frontend_src_lib_analysis_presentation_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L154", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation_applyperformanceratio", + "target": "frontend_src_lib_analysis_presentation_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation_applyseasonalprofile", + "target": "frontend_src_lib_analysis_presentation_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation_buildmonthlybillchartdata", + "target": "frontend_src_lib_analysis_presentation_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/presentation.ts", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_presentation_summarizelayoutorientation", + "target": "frontend_src_lib_analysis_presentation_round2" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_analysis_presentation_summarizelayoutorientation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analysispage_analysispage", + "target": "frontend_src_lib_analysis_presentation_summarizelayoutorientation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections", + "target": "frontend_src_lib_analysis_projections_buildnetbenefitseries" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections", + "target": "frontend_src_lib_analysis_projections_computedegradedsavings" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections", + "target": "frontend_src_lib_analysis_projections_netbenefitpoint" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections", + "target": "frontend_src_lib_analysis_projections_normalizeinverterreplacements" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections", + "target": "frontend_src_lib_analysis_projections_round2" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_projections" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections_buildnetbenefitseries", + "target": "frontend_src_lib_analysis_projections_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections_computedegradedsavings", + "target": "frontend_src_lib_analysis_projections_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections_normalizeinverterreplacements", + "target": "frontend_src_lib_analysis_projections_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections_buildnetbenefitseries", + "target": "frontend_src_lib_analysis_projections_computedegradedsavings" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_projections_computedegradedsavings" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L249", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_lib_analysis_results_buildanalysisresults", + "target": "frontend_src_lib_analysis_projections_computedegradedsavings" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/projections.ts", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_projections_buildnetbenefitseries", + "target": "frontend_src_lib_analysis_projections_normalizeinverterreplacements" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_projections_normalizeinverterreplacements" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L221", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_lib_analysis_results_buildanalysisresults", + "target": "frontend_src_lib_analysis_projections_normalizeinverterreplacements" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_analysis_projections_buildnetbenefitseries" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L243", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analysispage_analysispage", + "target": "frontend_src_lib_analysis_projections_buildnetbenefitseries" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_analysisresultsrecord" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L196", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_buildanalysisresults" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L302", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_buildthresholdwarnings" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_classifynemfit" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_computelifecyclepaybackyears" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_computenemfitmetrics" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_computesimplepaybackyears" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_nemfit" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_nemfitclassification" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_nemfitmetrics" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_analysis_results_round2" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_billingengine" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_billingengine_annualsimulationresult" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "frontend_src_lib_billingengine_nemmonthresult" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results", + "target": "shared_index_tariffthresholds" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_analysis_results_analysisresultsrecord" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L228", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results_buildanalysisresults", + "target": "frontend_src_lib_analysis_results_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L181", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results_computelifecyclepaybackyears", + "target": "frontend_src_lib_analysis_results_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results_computenemfitmetrics", + "target": "frontend_src_lib_analysis_results_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results_computesimplepaybackyears", + "target": "frontend_src_lib_analysis_results_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L232", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results_buildanalysisresults", + "target": "frontend_src_lib_analysis_results_computesimplepaybackyears" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/analysis/results.ts", + "source_location": "L239", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_analysis_results_buildanalysisresults", + "target": "frontend_src_lib_analysis_results_computelifecyclepaybackyears" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "frontend_src_lib_billingengine_annualsimulationresult" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "frontend_src_lib_billingengine_billbreakdown" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "frontend_src_lib_billingengine_billingconfig" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "frontend_src_lib_billingengine_computebill" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "frontend_src_lib_billingengine_computenemmonth" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "frontend_src_lib_billingengine_lookupeeirebate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "frontend_src_lib_billingengine_nemmonthresult" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "frontend_src_lib_billingengine_round2" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "frontend_src_lib_billingengine_round5sen" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "frontend_src_lib_billingengine_runannualsimulation" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "shared_index_tariffrates" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine", + "target": "shared_index_tariffthresholds" + }, + { + "relation": "references", + "context": "field", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine_billingconfig", + "target": "shared_index_tariffrates" + }, + { + "relation": "references", + "context": "field", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine_billingconfig", + "target": "shared_index_tariffthresholds" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine_computebill", + "target": "frontend_src_lib_billingengine_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L193", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine_computenemmonth", + "target": "frontend_src_lib_billingengine_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine_runannualsimulation", + "target": "frontend_src_lib_billingengine_round2" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine_computebill", + "target": "frontend_src_lib_billingengine_round5sen" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine_computebill", + "target": "frontend_src_lib_billingengine_lookupeeirebate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L190", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine_computenemmonth", + "target": "frontend_src_lib_billingengine_computebill" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/billingEngine.ts", + "source_location": "L239", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_billingengine_runannualsimulation", + "target": "frontend_src_lib_billingengine_computenemmonth" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L229", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_annualenergyfrommonthly" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_boundingbox" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_getcoordinate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_getinitialpanelrotation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_getnumber" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_getpanelcenter" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_getstring" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_isrecord" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L204", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_normalizerotation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_parsebuildinginsights" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_parsedbuildinginsights" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L168", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_parsepaneledits" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_roofsegment" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "frontend_src_lib_buildinginsights_solarpanel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_segmentvisualization", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_buildinginsights" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_segmentvisualization", + "target": "frontend_src_lib_buildinginsights_roofsegment" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_segmentvisualization", + "target": "frontend_src_lib_buildinginsights_solarpanel" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_getcoordinate", + "target": "frontend_src_lib_buildinginsights_isrecord" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_getpanelcenter", + "target": "frontend_src_lib_buildinginsights_isrecord" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_parsebuildinginsights", + "target": "frontend_src_lib_buildinginsights_isrecord" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_parsepaneledits", + "target": "frontend_src_lib_buildinginsights_isrecord" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_getcoordinate", + "target": "frontend_src_lib_buildinginsights_getnumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_getpanelcenter", + "target": "frontend_src_lib_buildinginsights_getnumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_parsebuildinginsights", + "target": "frontend_src_lib_buildinginsights_getnumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L178", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_parsepaneledits", + "target": "frontend_src_lib_buildinginsights_getnumber" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_parsebuildinginsights", + "target": "frontend_src_lib_buildinginsights_getstring" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_parsepaneledits", + "target": "frontend_src_lib_buildinginsights_getstring" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_parsebuildinginsights", + "target": "frontend_src_lib_buildinginsights_getcoordinate" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_parsebuildinginsights", + "target": "frontend_src_lib_buildinginsights_getpanelcenter" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_parsepaneledits", + "target": "frontend_src_lib_buildinginsights_getpanelcenter" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/buildingInsights.ts", + "source_location": "L220", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_buildinginsights_getinitialpanelrotation", + "target": "frontend_src_lib_buildinginsights_normalizerotation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_buildinginsights_annualenergyfrommonthly" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage_getpanelannualenergy", + "target": "frontend_src_lib_buildinginsights_annualenergyfrommonthly" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_aabbsoverlap" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_canvasgeo" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_createcanvasgeo" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_getedgenormals" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L159", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_getrectaabb" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_getrotatedrectpoints" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L289", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_isaabbinsidestage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L328", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_ispolygoninsiderastermask" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_latlngtopixel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L230", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_minseparationresult" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L221", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_obbsoverlap" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L243", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_obbsoverlapwithminseparation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_panelmeterstopixels" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_pixelpoint" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_pixeltolatlng" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L301", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_pointinpolygon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_rastermask" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_rectaabb" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L182", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms", + "target": "frontend_src_lib_canvastransforms_satprojectionsoverlap" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_canvastransforms" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_canvastransforms_getrotatedrectpoints" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L299", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_computeoverlapescapevector", + "target": "frontend_src_lib_canvastransforms_getrotatedrectpoints" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L187", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_lib_snapalignment_computeoverlapsnap", + "target": "frontend_src_lib_canvastransforms_getrotatedrectpoints" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L210", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_getposepolygon", + "target": "frontend_src_lib_canvastransforms_getrotatedrectpoints" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L261", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_hasoverlapat", + "target": "frontend_src_lib_canvastransforms_getrotatedrectpoints" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L333", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms_ispolygoninsiderastermask", + "target": "frontend_src_lib_canvastransforms_getrectaabb" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_canvastransforms_getrectaabb" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L246", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_needsstageclamp", + "target": "frontend_src_lib_canvastransforms_getrectaabb" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms_obbsoverlap", + "target": "frontend_src_lib_canvastransforms_satprojectionsoverlap" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L222", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms_obbsoverlap", + "target": "frontend_src_lib_canvastransforms_getedgenormals" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms_obbsoverlapwithminseparation", + "target": "frontend_src_lib_canvastransforms_getedgenormals" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_canvastransforms_obbsoverlap" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L306", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_computeoverlapescapevector", + "target": "frontend_src_lib_canvastransforms_obbsoverlap" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L268", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_hasoverlapat", + "target": "frontend_src_lib_canvastransforms_obbsoverlap" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_canvastransforms_obbsoverlapwithminseparation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L308", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_computeoverlapescapevector", + "target": "frontend_src_lib_canvastransforms_obbsoverlapwithminseparation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L190", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_lib_snapalignment_computeoverlapsnap", + "target": "frontend_src_lib_canvastransforms_obbsoverlapwithminseparation" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_canvastransforms_isaabbinsidestage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L247", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_needsstageclamp", + "target": "frontend_src_lib_canvastransforms_isaabbinsidestage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/canvasTransforms.ts", + "source_location": "L350", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_canvastransforms_ispolygoninsiderastermask", + "target": "frontend_src_lib_canvastransforms_pointinpolygon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/constants.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_constants", + "target": "frontend_src_lib_constants_chart_tooltip_style" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/constants.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_constants", + "target": "frontend_src_lib_constants_colors" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/constants.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_constants", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/constants.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_constants", + "target": "frontend_src_lib_constants_thememode" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_constants" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_lib_constants_colors" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_constants_colors" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analysispage_analysispage", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analyticspage_analyticspage", + "target": "frontend_src_lib_constants_getcharttooltipstyle" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_formatters", + "target": "frontend_src_lib_formatters_bill_tooltips" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_formatters", + "target": "frontend_src_lib_formatters_currencyformatter" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_formatters", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_formatters", + "target": "frontend_src_lib_formatters_formatnumber" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_formatters", + "target": "frontend_src_lib_formatters_formattooltipcurrency" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_formatters", + "target": "frontend_src_lib_formatters_nem_tooltips" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_formatters", + "target": "frontend_src_lib_formatters_numberformatter" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_lib_formatters" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/formatters.ts", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_formatters_formattooltipcurrency", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L263", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analysispage_analysispage", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L369", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analyticspage_analyticspage", + "target": "frontend_src_lib_formatters_formatcurrency" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_i18n", + "target": "frontend_src_lib_i18n_issupportedlocale" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_i18n", + "target": "frontend_src_lib_i18n_locale_labels" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_i18n", + "target": "frontend_src_lib_i18n_locale_to_intl" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_i18n", + "target": "frontend_src_lib_i18n_resources" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_i18n", + "target": "frontend_src_lib_i18n_supported_locales" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/i18n.ts", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_i18n", + "target": "frontend_src_lib_i18n_supportedlocale" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_lib_i18n" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset_test", + "target": "frontend_src_lib_layoutpreset" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset_test", + "target": "frontend_src_lib_layoutpreset_billrangetoannualkwh" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset_test", + "target": "frontend_src_lib_layoutpreset_describelayoutpreset" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.test.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset_test", + "target": "frontend_src_lib_layoutpreset_infervisiblecount" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.test.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset_test", + "target": "frontend_src_lib_layoutpreset_test_panels" + }, + { + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_lib_layoutpreset_test_panels" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "frontend_src_lib_layoutpreset_billrangetoannualkwh" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L120", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "frontend_src_lib_layoutpreset_describelayoutpreset" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "frontend_src_lib_layoutpreset_filterbydirection" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "frontend_src_lib_layoutpreset_infervisiblecount" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "frontend_src_lib_layoutpreset_panelyieldentry" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "frontend_src_lib_layoutpreset_roofsegmententry" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "frontend_src_lib_layoutpreset_sizing_goal_offset" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "frontend_src_lib_workbench_roofdirection" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "frontend_src_lib_workbench_roofdirection_azimuthmatchesroofdirection" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "shared_layoutpreferences_bill_range_to_kwh_per_month" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "shared_layoutpreferences_billrange" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "shared_layoutpreferences_layoutpreferences" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "shared_layoutpreferences_roofdirection" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset", + "target": "shared_layoutpreferences_sizinggoal" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_layoutpreset" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset_infervisiblecount", + "target": "frontend_src_lib_layoutpreset_billrangetoannualkwh" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset_filterbydirection", + "target": "frontend_src_lib_workbench_roofdirection_azimuthmatchesroofdirection" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/layoutPreset.ts", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_layoutpreset_infervisiblecount", + "target": "frontend_src_lib_layoutpreset_filterbydirection" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_layoutpreset_infervisiblecount" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_lib_layoutpreset_infervisiblecount" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_layoutpreset_describelayoutpreset" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L347", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_lib_layoutpreset_describelayoutpreset" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_notificationstore", + "target": "frontend_src_lib_notificationstore_emit" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_notificationstore", + "target": "frontend_src_lib_notificationstore_listener" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_notificationstore", + "target": "frontend_src_lib_notificationstore_listeners" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_notificationstore", + "target": "frontend_src_lib_notificationstore_loadnotifications" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_notificationstore", + "target": "frontend_src_lib_notificationstore_notifications" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_notificationstore", + "target": "frontend_src_lib_notificationstore_notificationstore" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_notificationstore", + "target": "frontend_src_lib_notificationstore_savenotifications" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_lib_notificationstore" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/notificationStore.ts", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_notificationstore_emit", + "target": "frontend_src_lib_notificationstore_savenotifications" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_lib_notificationstore_notificationstore" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectdraftstorage", + "target": "frontend_src_lib_projectdraftstorage_canusesessionstorage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectdraftstorage", + "target": "frontend_src_lib_projectdraftstorage_clearnewprojectdraft" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectdraftstorage", + "target": "frontend_src_lib_projectdraftstorage_newprojectdraft" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectdraftstorage", + "target": "frontend_src_lib_projectdraftstorage_readnewprojectdraft" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectdraftstorage", + "target": "frontend_src_lib_projectdraftstorage_writenewprojectdraft" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_lib_projectdraftstorage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_lib_projectdraftstorage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_lib_projectdraftstorage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectdraftstorage_clearnewprojectdraft", + "target": "frontend_src_lib_projectdraftstorage_canusesessionstorage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectdraftstorage_readnewprojectdraft", + "target": "frontend_src_lib_projectdraftstorage_canusesessionstorage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectDraftStorage.ts", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectdraftstorage_writenewprojectdraft", + "target": "frontend_src_lib_projectdraftstorage_canusesessionstorage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_lib_projectdraftstorage_readnewprojectdraft" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_mappage_mappage", + "target": "frontend_src_lib_projectdraftstorage_readnewprojectdraft" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_lib_projectdraftstorage_writenewprojectdraft" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_lib_projectdraftstorage_writenewprojectdraft" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_mappage_mappage", + "target": "frontend_src_lib_projectdraftstorage_writenewprojectdraft" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_lib_projectdraftstorage_writenewprojectdraft" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_lib_projectdraftstorage_clearnewprojectdraft" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_mappage_mappage", + "target": "frontend_src_lib_projectdraftstorage_clearnewprojectdraft" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus", + "target": "frontend_src_lib_projectstatus_badgevariant" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus", + "target": "frontend_src_lib_projectstatus_getprojectstatusconfig" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus", + "target": "frontend_src_lib_projectstatus_getprojectstatuslabel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus", + "target": "frontend_src_lib_projectstatus_getprojectstatustooltip" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus", + "target": "frontend_src_lib_projectstatus_getprojectstatusvariant" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus", + "target": "frontend_src_lib_projectstatus_status_configs" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus", + "target": "frontend_src_lib_projectstatus_statusconfig" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus", + "target": "shared_index_projectstatus" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_lib_projectstatus" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus_getprojectstatuslabel", + "target": "frontend_src_lib_projectstatus_getprojectstatusconfig" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus_getprojectstatustooltip", + "target": "frontend_src_lib_projectstatus_getprojectstatusconfig" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/projectStatus.ts", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_projectstatus_getprojectstatusvariant", + "target": "frontend_src_lib_projectstatus_getprojectstatusconfig" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_lib_projectstatus_getprojectstatusconfig" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L229", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_dashboardpage_dashboardpage", + "target": "frontend_src_lib_projectstatus_getprojectstatusconfig" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_recentprojectactivity", + "target": "frontend_src_lib_recentprojectactivity_getprojectlastvisitedat" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_recentprojectactivity", + "target": "frontend_src_lib_recentprojectactivity_markprojectvisited" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_recentprojectactivity", + "target": "frontend_src_lib_recentprojectactivity_readentries" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_recentprojectactivity", + "target": "frontend_src_lib_recentprojectactivity_recentprojectactivity" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_recentprojectactivity" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_lib_recentprojectactivity" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_lib_recentprojectactivity" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_recentprojectactivity" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_recentprojectactivity_getprojectlastvisitedat", + "target": "frontend_src_lib_recentprojectactivity_readentries" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/recentProjectActivity.ts", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_recentprojectactivity_markprojectvisited", + "target": "frontend_src_lib_recentprojectactivity_readentries" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_lib_recentprojectactivity_markprojectvisited" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L159", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_analysispage_analysispage", + "target": "frontend_src_lib_recentprojectactivity_markprojectvisited" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_lib_recentprojectactivity_markprojectvisited" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_mappage_mappage", + "target": "frontend_src_lib_recentprojectactivity_markprojectvisited" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_recentprojectactivity_markprojectvisited" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_lib_recentprojectactivity_markprojectvisited" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_lib_recentprojectactivity_getprojectlastvisitedat" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L102", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_dashboardpage_dashboardpage", + "target": "frontend_src_lib_recentprojectactivity_getprojectlastvisitedat" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_segmentvisualization", + "target": "frontend_src_lib_segmentvisualization_azimuthcolor" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_segmentvisualization", + "target": "frontend_src_lib_segmentvisualization_computesegmenthulls" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_segmentvisualization", + "target": "frontend_src_lib_segmentvisualization_convexhull" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_segmentvisualization", + "target": "frontend_src_lib_segmentvisualization_segmenthull" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L154", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_segmentvisualization_computesegmenthulls", + "target": "frontend_src_lib_segmentvisualization_azimuthcolor" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/segmentVisualization.ts", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_segmentvisualization_computesegmenthulls", + "target": "frontend_src_lib_segmentvisualization_convexhull" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L218", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_clamptranslationtostage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L213", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_clampvalue" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L277", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_computeoverlapescapevector" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L181", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_computeoverlapsnap" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_computesnap" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L209", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_getposepolygon" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L251", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_hasoverlapat" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L237", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_needsstageclamp" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L203", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_normalizevector" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_overlapescaperesult" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_overlapsnapresult" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_panelinfo" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_pose" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L481", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_resolvegroupoverlapescape" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L446", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_resolveoverlapescape" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L387", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_resolveoverlaptranslation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_snap_config" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_snapguide" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_snapresult" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment", + "target": "frontend_src_lib_snapalignment_translation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L312", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_computeoverlapescapevector", + "target": "frontend_src_lib_snapalignment_normalizevector" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L296", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_computeoverlapescapevector", + "target": "frontend_src_lib_snapalignment_getposepolygon" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L259", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_hasoverlapat", + "target": "frontend_src_lib_snapalignment_getposepolygon" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L246", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_needsstageclamp", + "target": "frontend_src_lib_snapalignment_getposepolygon" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L232", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_clamptranslationtostage", + "target": "frontend_src_lib_snapalignment_clampvalue" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L420", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_resolveoverlaptranslation", + "target": "frontend_src_lib_snapalignment_clamptranslationtostage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L419", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_resolveoverlaptranslation", + "target": "frontend_src_lib_snapalignment_needsstageclamp" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L402", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_resolveoverlaptranslation", + "target": "frontend_src_lib_snapalignment_hasoverlapat" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L408", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_resolveoverlaptranslation", + "target": "frontend_src_lib_snapalignment_computeoverlapescapevector" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L489", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_resolvegroupoverlapescape", + "target": "frontend_src_lib_snapalignment_resolveoverlaptranslation" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/snapAlignment.ts", + "source_location": "L453", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_snapalignment_resolveoverlapescape", + "target": "frontend_src_lib_snapalignment_resolveoverlaptranslation" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/supabase.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_supabase", + "target": "frontend_src_lib_supabase_getsupabase" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/utils.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_utils", + "target": "frontend_src_lib_utils_cn" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbench/handleMetrics.ts", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbench_handlemetrics", + "target": "frontend_src_lib_workbench_handlemetrics_group_rotation_handle_metrics" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbench/handleMetrics.ts", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbench_handlemetrics", + "target": "frontend_src_lib_workbench_handlemetrics_rotation_handle_metrics" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbench_roofdirection", + "target": "frontend_src_lib_workbench_roofdirection_azimuthmatchesroofdirection" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbench_roofdirection", + "target": "frontend_src_lib_workbench_roofdirection_roof_direction_windows" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbench_roofdirection", + "target": "frontend_src_lib_workbench_roofdirection_segmentmatchesroofdirection" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbench_roofdirection", + "target": "frontend_src_lib_workbench_roofdirection_segmentwithazimuth" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbench_roofdirection", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbench_roofdirection", + "target": "shared_layoutpreferences_roofdirection" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbench/roofDirection.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbench_roofdirection_segmentmatchesroofdirection", + "target": "frontend_src_lib_workbench_roofdirection_azimuthmatchesroofdirection" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/lib/workbenchTour.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_lib_workbenchtour", + "target": "frontend_src_lib_workbenchtour_getworkbenchtoursteps" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_workbenchtour" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_lib_workbenchtour_getworkbenchtoursteps" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L320", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_lib_workbenchtour_getworkbenchtoursteps" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/main.tsx", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_main", + "target": "frontend_src_main_queryclient" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_pages_analysispage_analysispage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalysisPage.tsx", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analysispage", + "target": "frontend_src_pages_analysispage_buildsavepayload" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analysispage_test", + "target": "frontend_src_pages_analysispage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analysispage_test", + "target": "frontend_src_pages_analysispage_analysispage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_pages_analyticspage_analyticspage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_pages_analyticspage_comparisonmetric" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/AnalyticsPage.tsx", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_analyticspage", + "target": "frontend_src_pages_analyticspage_metric_formatters" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalyticsPage.test.tsx", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analyticspage_test", + "target": "frontend_src_pages_analyticspage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalyticsPage.test.tsx", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analyticspage_test", + "target": "frontend_src_pages_analyticspage_analyticspage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_pages_dashboardpage_dashboardpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_pages_dashboardpage_formatresettime" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage", + "target": "frontend_src_pages_dashboardpage_getgreeting" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_dashboardpage_test", + "target": "frontend_src_pages_dashboardpage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage_dashboardpage", + "target": "frontend_src_pages_dashboardpage_getgreeting" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/DashboardPage.tsx", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_dashboardpage_dashboardpage", + "target": "frontend_src_pages_dashboardpage_formatresettime" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_dashboardpage_test", + "target": "frontend_src_pages_dashboardpage_dashboardpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_pages_faqpage_countwords" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_pages_faqpage_faq_ids" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_pages_faqpage_faqcard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_pages_faqpage_faqcategory" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_pages_faqpage_faqitem" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage", + "target": "frontend_src_pages_faqpage_faqpage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/FAQPage.tsx", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_faqpage_faqcard", + "target": "frontend_src_pages_faqpage_countwords" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L847", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_faqitem" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L823", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_featurecard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L502", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_hero_profiles" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L494", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_heroprofile" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L575", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_herosubtitle" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_landingpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L777", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_pipelinemock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L618", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_pipelinesection" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L605", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_pipelinestep" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L871", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_pricingcard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L596", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_trustitem" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L540", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_useheroticker" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L462", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage", + "target": "frontend_src_pages_landingpage_usescrolly" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/LandingPage.test.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_landingpage_test", + "target": "frontend_src_pages_landingpage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage_landingpage", + "target": "frontend_src_pages_landingpage_useheroticker" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/LandingPage.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_landingpage_landingpage", + "target": "frontend_src_pages_landingpage_usescrolly" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/LandingPage.test.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_landingpage_test", + "target": "frontend_src_pages_landingpage_landingpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_pages_mappage_malaysia_center" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_pages_mappage_mappage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_pages_mappage_my_bounds" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "frontend_src_pages_mappage_phase" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/MapPage.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_mappage", + "target": "shared_index_imageryquality" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_mappage_test", + "target": "frontend_src_pages_mappage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_mappage_test", + "target": "frontend_src_pages_mappage_mappage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/NotFoundPage.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_notfoundpage", + "target": "frontend_src_pages_notfoundpage_notfoundpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "frontend_src_pages_pdfpreviewpage_applythemefromparam" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "frontend_src_pages_pdfpreviewpage_pdfpreviewpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "frontend_src_pages_pdfpreviewpage_window" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage", + "target": "shared_index_tariffconfigresponse" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PdfPreviewPage.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_pdfpreviewpage_pdfpreviewpage", + "target": "frontend_src_pages_pdfpreviewpage_applythemefromparam" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_pages_privacypage_privacypage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_pages_privacypage_section" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_pages_privacypage_section_order" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/PrivacyPage.tsx", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_privacypage", + "target": "frontend_src_pages_privacypage_sectionkey" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_pages_projectspage_formatresettime" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage", + "target": "frontend_src_pages_projectspage_projectspage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_projectspage_test", + "target": "frontend_src_pages_projectspage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/ProjectsPage.tsx", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_projectspage_projectspage", + "target": "frontend_src_pages_projectspage_formatresettime" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_projectspage_test", + "target": "frontend_src_pages_projectspage_projectspage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_pages_settingspage_settingcard" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_pages_settingspage_settingspage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_pages_settingspage_tour_keys" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage", + "target": "frontend_src_pages_settingspage_usenotifications" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SettingsPage.tsx", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_settingspage_settingspage", + "target": "frontend_src_pages_settingspage_usenotifications" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignInPage.tsx", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signinpage", + "target": "frontend_src_pages_signinpage_signinpage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signinpage_test", + "target": "frontend_src_pages_signinpage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signinpage_test", + "target": "frontend_src_pages_signinpage_signinpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/SignUpPage.tsx", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_signuppage", + "target": "frontend_src_pages_signuppage_signuppage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signuppage_test", + "target": "frontend_src_pages_signuppage" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signuppage_test", + "target": "frontend_src_pages_signuppage_signuppage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/WorkbenchPage.test.tsx", + "source_location": "L240", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_workbenchpage_test", + "target": "frontend_src_pages_workbenchpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_pages_workbenchpage_getpanelannualenergy" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "frontend_src_pages_workbenchpage_workbenchpage" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "shared_index" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "shared_layoutpreferences_layoutpreferences" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage", + "target": "shared_panelmodels_panel_models" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L312", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "frontend_src_pages_workbenchpage_getpanelannualenergy" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/WorkbenchPage.test.tsx", + "source_location": "L240", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_workbenchpage_test", + "target": "frontend_src_pages_workbenchpage_workbenchpage" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/src/pages/WorkbenchPage.tsx", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_src_pages_workbenchpage_workbenchpage", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analysispage_test", + "target": "frontend_src_pages_tests_analysispage_test_handleexportpdfmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analysispage_test", + "target": "frontend_src_pages_tests_analysispage_test_markprojectvisitedmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analysispage_test", + "target": "frontend_src_pages_tests_analysispage_test_navigatemock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analysispage_test", + "target": "frontend_src_pages_tests_analysispage_test_notifyerrormock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analysispage_test", + "target": "frontend_src_pages_tests_analysispage_test_notifysuccessmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analysispage_test", + "target": "frontend_src_pages_tests_analysispage_test_renderpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalysisPage.test.tsx", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analysispage_test", + "target": "frontend_src_pages_tests_analysispage_test_saveanalysismock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalyticsPage.test.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analyticspage_test", + "target": "frontend_src_pages_tests_analyticspage_test_listprojectsmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalyticsPage.test.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analyticspage_test", + "target": "frontend_src_pages_tests_analyticspage_test_navigatemock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/AnalyticsPage.test.tsx", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_analyticspage_test", + "target": "frontend_src_pages_tests_analyticspage_test_renderpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_dashboardpage_test", + "target": "frontend_src_pages_tests_dashboardpage_test_listprojectsmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_dashboardpage_test", + "target": "frontend_src_pages_tests_dashboardpage_test_navigatemock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_dashboardpage_test", + "target": "frontend_src_pages_tests_dashboardpage_test_renderpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_dashboardpage_test", + "target": "frontend_src_pages_tests_dashboardpage_test_useauthmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/DashboardPage.test.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_dashboardpage_test", + "target": "frontend_src_pages_tests_dashboardpage_test_usequotamock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/LandingPage.test.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_landingpage_test", + "target": "frontend_src_pages_tests_landingpage_test_renderpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/LandingPage.test.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_landingpage_test", + "target": "frontend_src_pages_tests_landingpage_test_useauthmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_mappage_test", + "target": "frontend_src_pages_tests_mappage_test_constructor" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_mappage_test", + "target": "frontend_src_pages_tests_mappage_test_createprojectmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_mappage_test", + "target": "frontend_src_pages_tests_mappage_test_getlocationstatusmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_mappage_test", + "target": "frontend_src_pages_tests_mappage_test_getprojectmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_mappage_test", + "target": "frontend_src_pages_tests_mappage_test_navigatemock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_mappage_test", + "target": "frontend_src_pages_tests_mappage_test_probelocationmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_mappage_test", + "target": "frontend_src_pages_tests_mappage_test_renderpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/MapPage.test.tsx", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_mappage_test", + "target": "frontend_src_pages_tests_mappage_test_resolvelocationmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_projectspage_test", + "target": "frontend_src_pages_tests_projectspage_test_deleteprojectmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_projectspage_test", + "target": "frontend_src_pages_tests_projectspage_test_listprojectsmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_projectspage_test", + "target": "frontend_src_pages_tests_projectspage_test_navigatemock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_projectspage_test", + "target": "frontend_src_pages_tests_projectspage_test_renderpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/ProjectsPage.test.tsx", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_projectspage_test", + "target": "frontend_src_pages_tests_projectspage_test_usequotamock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signinpage_test", + "target": "frontend_src_pages_tests_signinpage_test_navigatemock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signinpage_test", + "target": "frontend_src_pages_tests_signinpage_test_renderpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signinpage_test", + "target": "frontend_src_pages_tests_signinpage_test_setauth" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signinpage_test", + "target": "frontend_src_pages_tests_signinpage_test_signinmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignInPage.test.tsx", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signinpage_test", + "target": "frontend_src_pages_tests_signinpage_test_useauthmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signuppage_test", + "target": "frontend_src_pages_tests_signuppage_test_renderpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signuppage_test", + "target": "frontend_src_pages_tests_signuppage_test_setauth" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signuppage_test", + "target": "frontend_src_pages_tests_signuppage_test_signupmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/SignUpPage.test.tsx", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_signuppage_test", + "target": "frontend_src_pages_tests_signuppage_test_useauthmock" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/src/pages/__tests__/WorkbenchPage.test.tsx", + "source_location": "L242", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_src_pages_tests_workbenchpage_test", + "target": "frontend_src_pages_tests_workbenchpage_test_renderpage" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig", + "target": "frontend_tsconfig_compileroptions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig", + "target": "frontend_tsconfig_exclude" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig", + "target": "frontend_tsconfig_extends" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig", + "target": "frontend_tsconfig_include" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig", + "target": "frontend_tsconfig_json_ref_tsconfig_json" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig", + "target": "frontend_tsconfig_references" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions", + "target": "frontend_tsconfig_compileroptions_jsx" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions", + "target": "frontend_tsconfig_compileroptions_lib" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions", + "target": "frontend_tsconfig_compileroptions_noemit" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions", + "target": "frontend_tsconfig_compileroptions_paths" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions", + "target": "frontend_tsconfig_compileroptions_rootdir" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions", + "target": "frontend_tsconfig_compileroptions_types" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions_lib", + "target": "frontend_tsconfig_json_ref_es2020" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions_lib", + "target": "ref_dom" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions_lib", + "target": "ref_dom_iterable" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions_types", + "target": "ref_google_maps" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions_types", + "target": "ref_vite_client" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_compileroptions_paths", + "target": "frontend_tsconfig_paths_shared_types" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_paths_shared_types", + "target": "frontend_tsconfig_json_ref_shared_index_ts" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_include", + "target": "frontend_tsconfig_json_ref_src_ts" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_include", + "target": "ref_src_tsx" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_exclude", + "target": "frontend_tsconfig_json_ref_src_test_ts" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "frontend/tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "frontend_tsconfig_exclude", + "target": "ref_src_test_tsx" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package", + "target": "package_dependencies" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package", + "target": "package_devdependencies" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package", + "target": "package_engines" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package", + "target": "package_license" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package", + "target": "package_name" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package", + "target": "package_packagemanager" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package", + "target": "package_prisma" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package", + "target": "package_private" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package", + "target": "package_scripts" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_engines", + "target": "package_engines_node" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_prisma", + "target": "package_prisma_seed" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_build" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_db_migrate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_db_migrate_deploy" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_db_seed" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_dev" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_dev_backend" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_dev_frontend" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_format" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_heroku_postbuild" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_lint" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_prisma_generate" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_start" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_test" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_scripts", + "target": "package_scripts_typecheck" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_dependencies", + "target": "package_dependencies_prisma_client" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L29", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_dependencies_prisma_client", + "target": "package_json_prisma_client" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_concurrently" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_eslint" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_eslint_config_prettier" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_eslint_js" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_eslint_plugin_react_hooks" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_globals" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_prettier" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_prisma" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_typescript_eslint" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L32", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies_eslint_js", + "target": "eslint_js" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L33", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies_concurrently", + "target": "concurrently" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L34", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies_eslint", + "target": "eslint" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L35", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies_eslint_config_prettier", + "target": "package_json_eslint_config_prettier" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L36", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies_eslint_plugin_react_hooks", + "target": "eslint_plugin_react_hooks" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L37", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies_globals", + "target": "globals" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L38", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies_prettier", + "target": "prettier" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L39", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies_prisma", + "target": "package_json_prisma" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L40", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "package_devdependencies_typescript_eslint", + "target": "typescript_eslint" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "prisma_seed", + "target": "prisma_seed_dirname" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "prisma_seed", + "target": "prisma_seed_eei_table" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "prisma_seed", + "target": "prisma_seed_main" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "prisma_seed", + "target": "prisma_seed_prisma" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "prisma_seed", + "target": "prisma_seed_rates" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "prisma_seed", + "target": "prisma_seed_thresholds" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "prisma_seed", + "target": "shared_tariffdefaults" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "prisma_seed", + "target": "shared_tariffdefaults_tariffdefaults" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export", + "target": "services_pdf_service_api_pdf_export_bodyschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export", + "target": "services_pdf_service_api_pdf_export_handler" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export", + "target": "services_pdf_service_api_pdf_export_normalizeorigin" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export", + "target": "services_pdf_service_api_pdf_export_page_margin" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export", + "target": "services_pdf_service_api_pdf_export_parseallowedorigins" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export", + "target": "services_pdf_service_api_pdf_export_resolvecorsorigin" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export", + "target": "services_pdf_service_api_pdf_export_setcorsheaders" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export", + "target": "services_pdf_service_api_pdf_export_viewport" + }, + { + "relation": "references", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast", + "source": "services_pdf_service_api_pdf_export_handler", + "target": "services_pdf_service_api_pdf_export_bodyschema" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export_handler", + "target": "services_pdf_service_api_pdf_export_parseallowedorigins" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export_resolvecorsorigin", + "target": "services_pdf_service_api_pdf_export_normalizeorigin" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export_handler", + "target": "services_pdf_service_api_pdf_export_resolvecorsorigin" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/api/pdf-export.ts", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_api_pdf_export_handler", + "target": "services_pdf_service_api_pdf_export_setcorsheaders" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package", + "target": "services_pdf_service_package_dependencies" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package", + "target": "services_pdf_service_package_description" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package", + "target": "services_pdf_service_package_devdependencies" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package", + "target": "services_pdf_service_package_engines" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package", + "target": "services_pdf_service_package_license" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package", + "target": "services_pdf_service_package_name" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package", + "target": "services_pdf_service_package_private" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package", + "target": "services_pdf_service_package_scripts" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package", + "target": "services_pdf_service_package_type" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package", + "target": "services_pdf_service_package_version" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_engines", + "target": "services_pdf_service_package_engines_node" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_scripts", + "target": "services_pdf_service_package_scripts_deploy" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_scripts", + "target": "services_pdf_service_package_scripts_deploy_preview" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_scripts", + "target": "services_pdf_service_package_scripts_dev" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_scripts", + "target": "services_pdf_service_package_scripts_typecheck" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_dependencies", + "target": "services_pdf_service_package_dependencies_puppeteer_core" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_dependencies", + "target": "services_pdf_service_package_dependencies_sparticuz_chromium" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_dependencies", + "target": "services_pdf_service_package_dependencies_zod" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L18", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_dependencies_sparticuz_chromium", + "target": "sparticuz_chromium" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L19", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_dependencies_puppeteer_core", + "target": "puppeteer_core" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L20", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_dependencies_zod", + "target": "services_pdf_service_package_json_zod" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_devdependencies", + "target": "services_pdf_service_package_devdependencies_types_node" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_devdependencies", + "target": "services_pdf_service_package_devdependencies_typescript" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_devdependencies", + "target": "services_pdf_service_package_devdependencies_vercel_node" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L23", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_devdependencies_types_node", + "target": "services_pdf_service_package_json_types_node" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L24", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_devdependencies_vercel_node", + "target": "vercel_node" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/package.json", + "source_location": "L25", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_package_devdependencies_typescript", + "target": "services_pdf_service_package_json_typescript" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig", + "target": "services_pdf_service_tsconfig_compileroptions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig", + "target": "services_pdf_service_tsconfig_include" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_allowsyntheticdefaultimports" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_esmoduleinterop" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_isolatedmodules" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_lib" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_module" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_moduleresolution" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_noemit" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_nouncheckedindexedaccess" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_resolvejsonmodule" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_skiplibcheck" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_strict" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions", + "target": "services_pdf_service_tsconfig_compileroptions_target" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_compileroptions_lib", + "target": "ref_es2022" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/tsconfig.json", + "source_location": "L18", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_tsconfig_include", + "target": "ref_api_ts" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_vercel", + "target": "services_pdf_service_vercel_functions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_vercel", + "target": "services_pdf_service_vercel_schema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_vercel_functions", + "target": "services_pdf_service_vercel_functions_api_pdf_export_ts" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_vercel_functions_api_pdf_export_ts", + "target": "services_pdf_service_vercel_api_pdf_export_ts_maxduration" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/pdf-service/vercel.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "services_pdf_service_vercel_functions_api_pdf_export_ts", + "target": "services_pdf_service_vercel_api_pdf_export_ts_memory" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_computesystemcost" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_costbreakdown" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_costinputs" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_costmodeldefaults" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_electricalboscost" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_invertersku" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_permitcost" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_rooftype" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_scaffoldingcost" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_selectinverter" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel", + "target": "shared_costmodel_supplyphase" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_costmodel" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_costmodel_rooftype" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_costmodel_supplyphase" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_costmodel_costbreakdown" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_costmodel_costinputs" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel_computesystemcost", + "target": "shared_costmodel_permitcost" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel_computesystemcost", + "target": "shared_costmodel_electricalboscost" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel_computesystemcost", + "target": "shared_costmodel_scaffoldingcost" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "shared/costModel.ts", + "source_location": "L154", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_costmodel_computesystemcost", + "target": "shared_costmodel_selectinverter" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_costmodel_computesystemcost" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_createprojectrequest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_fluxrecomputebatchrequest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_fluxrecomputebatchresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_fluxrecomputerequest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_fluxrecomputeresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_healthresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_imageryquality" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_locationdataresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_locationstatus" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_locationstatusresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_probelocationresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_projectstatus" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_resolvelocationrequest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_resolvelocationresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_saveanalysisrequest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_savelayoutrequest" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L160", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_tariffconfigresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_tariffrates" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L146", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_tariffthresholds" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_index_updatelayoutpreferencesrequest" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences_bill_range_to_kwh_per_month" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences_billrange" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences_billrangeschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences_layoutpreferences" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences_layoutpreferencespartialschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences_layoutpreferencesschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences_roofdirection" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences_roofdirectionschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences_sizinggoal" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_layoutpreferences_sizinggoalschema" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_panelmodels" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_panelmodels_panel_models" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_paneltypes" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_paneltypes_paneleditschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L196", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_paneltypes_panelmodel" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_analysisconfigdto" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_analysisconfigschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_analysisresultsdto" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_analysisresultsschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_buildinginsightsdto" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_buildinginsightsschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_createprojectrequestschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_saveanalysisrequestschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_savelayoutrequestschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_storedanalysisconfigdto" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_storedanalysisconfigschema" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_projectdtos_updatelayoutpreferencesrequestschema" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_quota" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L203", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_quota_quotasummary" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_quota_tier_daily_limits" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L203", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_quota_usertier" + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L205", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_tariffdefaults" + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "shared/index.ts", + "source_location": "L206", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_index", + "target": "shared_tariffdefaults_tariffdefaults" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_layoutpreferences", + "target": "shared_layoutpreferences_bill_range_to_kwh_per_month" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_layoutpreferences", + "target": "shared_layoutpreferences_billrange" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_layoutpreferences", + "target": "shared_layoutpreferences_billrangeschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_layoutpreferences", + "target": "shared_layoutpreferences_layoutpreferences" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_layoutpreferences", + "target": "shared_layoutpreferences_layoutpreferencespartialschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_layoutpreferences", + "target": "shared_layoutpreferences_layoutpreferencesschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_layoutpreferences", + "target": "shared_layoutpreferences_roofdirection" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_layoutpreferences", + "target": "shared_layoutpreferences_roofdirectionschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_layoutpreferences", + "target": "shared_layoutpreferences_sizinggoal" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/layoutPreferences.ts", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_layoutpreferences", + "target": "shared_layoutpreferences_sizinggoalschema" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_layoutpreferences" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_layoutpreferences_layoutpreferencespartialschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package", + "target": "shared_package_devdependencies" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package", + "target": "shared_package_exports" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package", + "target": "shared_package_license" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package", + "target": "shared_package_main" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package", + "target": "shared_package_name" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package", + "target": "shared_package_private" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package", + "target": "shared_package_scripts" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package", + "target": "shared_package_type" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package", + "target": "shared_package_types" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package", + "target": "shared_package_version" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package_scripts", + "target": "shared_package_scripts_build" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package_scripts", + "target": "shared_package_scripts_dev" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package_devdependencies", + "target": "shared_package_devdependencies_typescript" + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "shared/package.json", + "source_location": "L21", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_package_devdependencies_typescript", + "target": "shared_package_json_typescript" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/panelModels.ts", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_panelmodels", + "target": "shared_panelmodels_getpanelmodel" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/panelModels.ts", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_panelmodels", + "target": "shared_panelmodels_panel_models" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "shared/panelModels.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_panelmodels", + "target": "shared_paneltypes" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "shared/panelModels.ts", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_panelmodels", + "target": "shared_paneltypes_panelmodel" + }, + { + "relation": "references", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "shared/panelModels.ts", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast", + "source": "shared_panelmodels_getpanelmodel", + "target": "shared_panelmodels_panel_models" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/panelTypes.ts", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_paneltypes", + "target": "shared_paneltypes_paneledit" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/panelTypes.ts", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_paneltypes", + "target": "shared_paneltypes_paneleditschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/panelTypes.ts", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_paneltypes", + "target": "shared_paneltypes_panelmodel" + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_paneltypes" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_paneltypes_paneleditschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L256", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_analysisconfigdto" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L153", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_analysisconfigschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L260", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_analysisresultsdto" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L193", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_analysisresultsschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_billbreakdownschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L254", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_buildinginsightsdto" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_buildinginsightsschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L223", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_createprojectrequestschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_inverterreplacementschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_latlngschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_monthlybreakdownschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L239", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_saveanalysisrequestschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L231", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_savelayoutrequestschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L258", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_storedanalysisconfigdto" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L182", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_storedanalysisconfigschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_tariffratesschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/projectDtos.ts", + "source_location": "L247", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_projectdtos", + "target": "shared_projectdtos_updatelayoutpreferencesrequestschema" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/quota.ts", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_quota", + "target": "shared_quota_quotasummary" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/quota.ts", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_quota", + "target": "shared_quota_tier_daily_limits" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/quota.ts", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_quota", + "target": "shared_quota_usertier" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/tariffDefaults.ts", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_tariffdefaults", + "target": "shared_tariffdefaults_tariffdefaults" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_tsconfig", + "target": "shared_tsconfig_compileroptions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_tsconfig", + "target": "shared_tsconfig_extends" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_tsconfig", + "target": "shared_tsconfig_include" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "shared/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_tsconfig", + "target": "shared_tsconfig_json_ref_tsconfig_json" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_tsconfig_compileroptions", + "target": "shared_tsconfig_compileroptions_composite" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_tsconfig_compileroptions", + "target": "shared_tsconfig_compileroptions_outdir" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "shared/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_tsconfig_compileroptions", + "target": "shared_tsconfig_compileroptions_rootdir" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "shared/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "shared_tsconfig_include", + "target": "ref_ts" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig", + "target": "tsconfig_compileroptions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig", + "target": "tsconfig_exclude" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_allowimportingtsextensions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_declaration" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_declarationmap" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_esmoduleinterop" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_forceconsistentcasinginfilenames" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_isolatedmodules" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_lib" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_module" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_moduleresolution" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_nouncheckedindexedaccess" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_paths" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_resolvejsonmodule" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_rewriterelativeimportextensions" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_skiplibcheck" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_sourcemap" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_strict" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions", + "target": "tsconfig_compileroptions_target" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions_lib", + "target": "tsconfig_json_ref_es2020" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_compileroptions_paths", + "target": "tsconfig_paths_shared_types" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L22", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_paths_shared_types", + "target": "tsconfig_json_ref_shared_index_ts" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L25", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_exclude", + "target": "ref_dist" + }, + { + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "tsconfig.json", + "source_location": "L25", + "weight": 1.0, + "context": "import", + "_origin": "ast", + "confidence_score": 1.0, + "source": "tsconfig_exclude", + "target": "ref_node_modules" + } + ], + "hyperedges": [], + "built_at_commit": "5c2af1aa08483460e48e17cc53a14fdf83d05a93" +} \ No newline at end of file From 464e8fd19b14a70aae5f32d74ab56e9147097c3f Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 29 Jul 2026 18:47:46 +0800 Subject: [PATCH 2/2] fix: exclude the generated graph from Prettier and document its refresh --- .prettierignore | 5 +++++ README.md | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/.prettierignore b/.prettierignore index c286e29..b2e7706 100644 --- a/.prettierignore +++ b/.prettierignore @@ -44,3 +44,8 @@ temp/ # Custom # =========== + +# Graphify knowledge graph (large generated artifact re-included by .gitignore +# negation; regenerated by `graphify update .`, never hand-formatted) +# ========================================================================== +graphify-out/ diff --git a/README.md b/README.md index ecf8f07..d866421 100644 --- a/README.md +++ b/README.md @@ -402,6 +402,10 @@ SolarSim/ +### Documentation Hygiene + +`graphify-out/graph.json` and `graphify-out/GRAPH_REPORT.md` are a generated knowledge graph of this codebase, committed so contributors don't have to rebuild it — do not hand-edit them. Refresh after code changes with `graphify update .` (code-only, no LLM, free). A change that deletes a lot of source can trip its shrink guard; re-run with `--force` if that happens. + ---