# Graph Report - portalonsms2  (2026-08-04)

## Corpus Check
- 426 files · ~616,302 words
- Verdict: corpus is large enough that graph structure adds value.

## Summary
- 4318 nodes · 10773 edges · 251 communities (160 shown, 91 thin omitted)
- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 126 edges (avg confidence: 0.77)
- Token cost: 0 input · 0 output

## Graph Freshness
- Built from commit: `01b45266`
- 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)
- Storage Interface Methods
- Database Storage Implementation
- NPM Runtime Dependencies
- Badge and Card UI
- Roles and Permissions
- Schema Status Enums
- Accordion and Dialog UI
- Account Management Page
- Button and Alert Dialog UI
- Reporting and Monitoring Types
- AI Panel and Tabs UI
- App Routing and Auth Context
- Infobip API Integration
- Build Tooling Dependencies
- Template Utilities and Form UI
- Project Memory Notes
- Sender Profile and Notices UI
- Infobip Sender Storage
- Sidebar Layout UI
- Campaign Storage Methods
- CLAUDE.md Documentation
- Multi-BM Validated Templates UI
- WABA Template Storage
- Auth Middleware and Checknumber
- HubSpot Auth and Timeline
- AI Agent Orchestration
- admin-senders.tsx
- Server Bootstrap and Blocklist
- Campaign Chat UI
- Multi-BM Dispatch Logic
- DB Cleanup and Seed Scripts
- Bug: sistema de auto-registro de webhook nunca funcionou
- User and Sender Assignment Storage
- Multi-BM Submission Storage
- Admin Logs UI
- Media Storage Utilities
- RCS API Client
- TypeScript Configuration
- Menubar UI Component
- Shadcn UI Config
- Sidebar and Branding Context
- Toast and Notice System
- Chart UI Component
- HubSpot Action Sync
- Branding Storage Methods
- Button, Calendar, Pagination UI
- Multi-BM Template Storage
- Infobip Config Storage
- WABA Message Storage
- Carousel UI Component
- Chip Provisioning Clients
- Multi-BM Health Sync
- Business Manager Storage
- HubSpot Dispatch Queue Storage
- AI Conversation Storage
- WA Filter Batch Storage
- Multi-BM Dashboard UI
- Toast UI Component
- BM Sender Storage
- Chip Activation Storage
- HubSpot Connection Storage
- RCS Sender Storage
- API Token Storage
- Multi-BM Webhook Tests
- Error Boundary Component
- utils.ts
- Context Menu UI
- Dropdown Menu UI
- Knowledge Base Storage
- Multi-BM Message Storage
- RCS Config Storage
- RCS Message Storage
- Multi-BM Template Cluster Tests
- scripts
- dispatch
- Activity Log Storage
- Breadcrumb UI Component
- Drawer UI Component
- Navigation Menu UI
- AiConversationMessage
- Account Service Balance Storage
- HubSpot Execute Diagnostics
- Blocklist Term Storage
- Status Mapping Storage
- AI Client Settings Storage
- Vendor Mask Exposure Tests
- loadtest-multibm.ts
- File Upload Hook
- Multi-BM Validated Template Storage
- vendor-mask.ts
- Template Media Storage
- AI Agent Safeguards Tests
- Multi-BM Marketing Dispatch Tests
- OTP Input UI Component
- Column Keyword Storage
- toggle-group.tsx
- AI Agent Config Storage
- HubSpot Alert Config Storage
- Multi-BM Alert Config Storage
- Multi-BM Config Storage
- multibmDispatchResume.test.ts
- vite.ts
- whatsapp-template-preview.tsx
- AI Conversation Messages
- HubSpot Timeline Template Storage
- Object Uploader Component
- multibmDispatchPerContactParams.test.ts
- HubSpot Action Registration
- Sender Stats Queries
- dispatch
- fileSignatureValidation.test.ts
- User & Service Queries
- Template Preset Storage
- Build Script Allowlist
- Credit Transactions
- freeform-send-guard.md
- segmented-control.tsx
- Infobip Template Header Rule
- mailer.ts
- Production Deploy Script
- Dev Deploy Script
- Post-Merge Hook Script
- HubspotAlertState
- multibmCampaignCreationAtomic.test.ts
- multibmPauseResumeCancel.test.ts
- AccountServiceBalance
- TemplateGeneratorConfig
- TemplatePreset
- ProvidersTab
- urlSecurity.test.ts
- multibmRateLimitSharedAcrossCampaigns.test.ts
- drawer.tsx
- ClientBusinessProfile
- multibmValidateGuard.test.ts
- multibmDailyLimitByBm.test.ts
- multibmDistributionStrategy.test.ts
- multibmHealthSyncBanDetection.test.ts
- ApiToken
- moderationDispatchGuard.test.ts
- btnUrlSuffix.ts
- scheduledDispatchWorker.test.ts
- clientCallbackRetry.test.ts
- SenderProfile
- multibmDispatchMarketing.test.ts
- Service
- multibmDispatchResume.test.ts
- CompositorConfig
- multibmDistributionStrategy.test.ts
- scheduledCampaignCreationGuard.test.ts
- quietHours.ts
- fmt
- senderProfiles.test.ts
- vendor-mask.ts
- mailer.ts
- ObjectUploader.tsx
- ClientBusinessProfile
- ClientBlacklistTrigger
- infobipDispatch.ts
- .getUserById
- .attachSubmissions
- metaCloudRoutes.ts
- blocklist.ts
- vendor-mask.ts
- app-sidebar.tsx
- normalizeBrPhone
- fileSignatureValidation.test.ts
- multibmBalanceGuard.ts
- ActivityLog
- UpdateCampaign
- multibmSyncReconciliation.test.ts
- .getBusinessManagers
- .getCampaigns
- cloudTemplateSync.ts
- TemplatePreset
- btnUrlSuffix.ts
- sheet.tsx
- toast.tsx
- MultibmAlertState
- Service
- sheet.tsx
- multibmHideAndIgnore.test.ts
- AccountServiceBalance
- hubspotWorkflowAction.test.ts
- multibmValidateGuard.test.ts
- twoStageReport.test.ts
- scheduledDispatchWorker.test.ts
- section-status-badge.tsx
- TemplatePreset
- vendor-mask.ts
- aiProvider.ts
- segmented-control.tsx
- templateUtils.ts
- templateAdminOnly.test.ts
- adPerformanceRoutes.ts
- waCloudFrota.test.ts
- segmented-control.tsx
- metaSignupExchange.test.ts
- MetaWebhookQueueItem
- multibmPauseResumeCancel.test.ts
- brandingPublicRoutes.test.ts
- InsertMetaSignupSession
- CampaignTermConfirmation
- CreditTransaction
- wa-cloud-send-result-contract.md
- MultibmIgnoredWaba
- InsertCloudTemplate
- sanitizeOutput.ts
- section-status-badge.tsx
- UpdateCampaign
- ClientBlacklistTrigger
- .getSenderProfile
- usina-multibm-dashboard.tsx
- PageEditor
- rcsLimits.ts
- legal-publico.tsx
- rcsApi.ts
- multibmBalanceGuard.test.ts
- hover-card.tsx
- popover.tsx
- slider.tsx
- whatsapp-message-preview.tsx
- blocklist.ts
- rcsEventWorker.ts
- clientBusinessProfile.test.ts
- multibmBalanceGuard.ts
- sheet.tsx
- toggle-group.tsx
- Análise do App (Meta) — roteiro dos vídeos e da submissão
- PALETTES
- cloudDispatch.test.ts
- webhookTokenTimingSafe.test.ts
- buildInfo.ts
- vendor-mask.ts
- sanitizeOutput.ts
- video1-enviar-hello.sh
- video2-criar-template.sh

## God Nodes (most connected - your core abstractions)
1. `DatabaseStorage` - 448 edges
2. `IStorage` - 433 edges
3. `registerRoutes()` - 190 edges
4. `useToast()` - 150 edges
5. `apiRequest()` - 127 edges
6. `cn()` - 110 edges
7. `Button` - 77 edges
8. `Badge()` - 66 edges
9. `Card` - 65 edges
10. `CardContent` - 64 edges

## Surprising Connections (you probably didn't know these)
- `registerRoutes()` --indirect_call--> `sender()`  [INFERRED]
  server/routes.ts → tests/multibmTemplateCluster.test.ts
- `registerRoutes()` --indirect_call--> `displayName()`  [INFERRED]
  server/routes.ts → client/src/lib/accountUtils.ts
- `CampaignDetail()` --references--> `jspdf`  [EXTRACTED]
  client/src/pages/campaign-detail.tsx → package.json
- `setupVite()` --references--> `express`  [EXTRACTED]
  server/vite.ts → package.json
- `registerPagesRoutes()` --indirect_call--> `res()`  [INFERRED]
  server/pages.ts → tests/infobipSendRetryTimeout.test.ts

## Import Cycles
- 3-file cycle: `client/src/hooks/use-auth.tsx -> client/src/lib/queryClient.ts -> client/src/lib/vendor-mask.ts -> client/src/hooks/use-auth.tsx`

## Communities (251 total, 91 thin omitted)

### Community 2 - "NPM Runtime Dependencies"
Cohesion: 0.02
Nodes (85): dependencies, archiver, bcrypt, class-variance-authority, clsx, cmdk, connect-pg-simple, date-fns (+77 more)

### Community 3 - "Badge and Card UI"
Cohesion: 0.21
Nodes (14): isSmtpConfigComplete(), parseRecipientsCsv(), sendAlertEmail(), SmtpConfig, actorKey(), clientIp(), CONFIRM_THRESHOLD, Counter (+6 more)

### Community 4 - "Roles and Permissions"
Cohesion: 0.02
Nodes (97): RFC-4180, xlsx, InfobipSubscriptionEvent, InfobipSubscriptionRecord, profileMatchesExpected(), CREATABLE_ROLES, hasPermission(), Permission (+89 more)

### Community 5 - "Schema Status Enums"
Cohesion: 0.02
Nodes (110): bmClientAssignments, BmQuality, bmQualityEnum, BmStatus, bmStatusEnum, CampaignStatus, campaignStatusEnum, ChipActivationStatus (+102 more)

### Community 6 - "Accordion and Dialog UI"
Cohesion: 0.13
Nodes (26): recordWabaCurrency(), appSecretProof(), buildGraphButtons(), buildTemplateComponents(), BUSINESS_ERROR_CODES, classifyGraphSendError(), CreateCloudTemplateInput, exchangeCodeForBusinessToken() (+18 more)

### Community 7 - "Account Management Page"
Cohesion: 0.06
Nodes (49): AiChatTurn, AiProvider, AiProviderError, apiKeyFor(), classifyGoogleImageError(), fetchWithTimeout(), generateAiReply(), generateAnthropic() (+41 more)

### Community 8 - "Button and Alert Dialog UI"
Cohesion: 0.03
Nodes (68): AccountServiceRow, BmAssignmentClientRow, MultibmBmFailureStat, MultibmBmMetrics, MultibmClientMetrics, MultibmMonitoring, MultibmVolumePoint, PaginatedResult (+60 more)

### Community 9 - "Reporting and Monitoring Types"
Cohesion: 0.06
Nodes (37): ProtectedRoute(), ThemeToggle(), AuthContext, AuthContextType, AuthProvider(), AuthUser, canManageAccounts(), canManageCredits() (+29 more)

### Community 10 - "AI Panel and Tabs UI"
Cohesion: 0.08
Nodes (28): StatusBadge(), StatusBadgeProps, StatusTone, TONE_CLASSES, ScrollArea, ScrollBar, ActivityLogs(), ORIGIN_META (+20 more)

### Community 11 - "App Routing and Auth Context"
Cohesion: 0.20
Nodes (6): db, dispatch(), sender(), sendMock, storageHandlers, Sub

### Community 12 - "Infobip API Integration"
Cohesion: 0.07
Nodes (61): buildAuthHeaders(), buildButtonsArray(), buildCarouselCard(), buildHeaderComponent(), buildHeaders(), buildOnsmsSubscriptionId(), buildSendButtonsPayload(), buscarRelatorio() (+53 more)

### Community 13 - "Build Tooling Dependencies"
Cohesion: 0.09
Nodes (23): devDependencies, autoprefixer, drizzle-kit, esbuild, postcss, @replit/vite-plugin-cartographer, @replit/vite-plugin-dev-banner, @replit/vite-plugin-runtime-error-modal (+15 more)

### Community 14 - "Template Utilities and Form UI"
Cohesion: 0.10
Nodes (13): BlockEditor(), Field(), ImageField(), Patch, QuizRow, TagList(), LeadformBlock, LinksBlock (+5 more)

### Community 15 - "Project Memory Notes"
Cohesion: 0.09
Nodes (8): The AI agent's prompt is composed from exactly two account-scoped sources, Tone of voice / extra instructions count as content on their own, Every automatic free-form send must pass the shared guard, Inbound API-service campaigns require a template, Multi-BM monitoring & alerts (Task #337), Templates Validados: validate on one BM, then rollout to the rest, Safe date formatting, SSRF guard for user-supplied URL fetches

### Community 18 - "Sidebar Layout UI"
Cohesion: 0.09
Nodes (40): ROLE_ICON, ResizableHandle(), ResizablePanelGroup(), SheetContent, SheetContentProps, SheetDescription, SheetFooter(), SheetHeader() (+32 more)

### Community 20 - "CLAUDE.md Documentation"
Cohesion: 0.05
Nodes (37): Agendamento de Campanhas, Agente de IA (Respostas Automáticas a Mensagens Recebidas / MO), Ambiente atual (Claude Code / servidor dedicado), API Token por Serviço (API de entrada), Armazenamento de mídia, Arquitetura, Atendimento × Disparo (permissão aditiva, não papel exclusivo), Atribuição por sender (não por BM) (+29 more)

### Community 21 - "Multi-BM Validated Templates UI"
Cohesion: 0.12
Nodes (28): activationBlockReason(), enterFromEvents(), enterFromSegment(), exitExecution(), insertExecutions(), parseSteps(), parseTrigger(), processDue() (+20 more)

### Community 22 - "WABA Template Storage"
Cohesion: 0.08
Nodes (4): InsertTemplateAccountPreset, InsertWabaTemplate, TemplateAccountPreset, WabaTemplate

### Community 23 - "Auth Middleware and Checknumber"
Cohesion: 0.12
Nodes (10): buildApp(), createCalls, deleteCalls, infobipState, listCalls, sessionState, storageHandlers, storageState (+2 more)

### Community 24 - "HubSpot Auth and Timeline"
Cohesion: 0.10
Nodes (27): getHubspotOAuthConfig(), getValidAccessToken(), HubSpotAuthError, hubspotRefreshLocks, buildEventTemplateDefinition(), buildOnsmsLink(), getDeveloperConfig(), getPublicBaseUrl() (+19 more)

### Community 25 - "AI Agent Orchestration"
Cohesion: 0.05
Nodes (58): buildProfileSection(), buildSystemPrompt(), executeReplyFlush(), flagCloudTransport(), flushConversationReply(), handleInboundMessage(), InboundMessage, isTwoStageNegativeReply() (+50 more)

### Community 26 - "admin-senders.tsx"
Cohesion: 0.10
Nodes (23): Action, ActionType, actionTypes, addToRemoveQueue(), dispatch(), genId(), listeners, memoryState (+15 more)

### Community 27 - "Server Bootstrap and Blocklist"
Cohesion: 0.11
Nodes (16): app, http, httpServer, IncomingMessage, Issue, log(), pgPool, PgStore (+8 more)

### Community 28 - "Campaign Chat UI"
Cohesion: 0.10
Nodes (29): groupByMetaBm(), metaBmGroupLabel(), BusinessManager, CATEGORIA_LABELS, ClusterSignature, countVars(), emptyForm, findUrlButton() (+21 more)

### Community 29 - "Multi-BM Dispatch Logic"
Cohesion: 0.11
Nodes (22): Avatar, AvatarFallback, AvatarImage, BmAssignment, BmDetail, BmDetailPanel(), BmSender, BmWithSenders (+14 more)

### Community 30 - "DB Cleanup and Seed Scripts"
Cohesion: 0.11
Nodes (20): main(), hashPassword(), cleanupApiCampaignOrphanMedia(), CleanupReport, CleanupRow, MEDIA_DIR, safeUnlink(), defaultApiSettings (+12 more)

### Community 31 - "Bug: sistema de auto-registro de webhook nunca funcionou"
Cohesion: 0.18
Nodes (10): Achado relacionado (não bloqueante, sem ação necessária agora), Bug: sistema de auto-registro de webhook nunca funcionou, Causa raiz: endpoint e schema errados, Como retomar isso numa sessão nova, Comparação: código atual vs. API real, Contexto / como foi descoberto, Eventos disponíveis por canal, Onde o código precisa mudar (+2 more)

### Community 33 - "Multi-BM Submission Storage"
Cohesion: 0.09
Nodes (4): MultibmPhysicalSubmission, MultibmTemplateSubmissionWithBm, InsertMultibmTemplateSubmission, MultibmTemplateSubmission

### Community 35 - "Media Storage Utilities"
Cohesion: 0.15
Nodes (21): assertPublicHost(), deleteMediaObject(), DownloadedMedia, downloadMediaBuffer(), downloadMediaFromUrl(), ensureMediaDir(), extFromMime(), getUploadDir() (+13 more)

### Community 36 - "RCS API Client"
Cohesion: 0.25
Nodes (11): apiGet(), getNumber(), GetNumberError, GetNumberResult, getStatus(), GetStatusResult, setStatus(), apiGet() (+3 more)

### Community 37 - "TypeScript Configuration"
Cohesion: 0.10
Nodes (19): compilerOptions, allowImportingTsExtensions, baseUrl, esModuleInterop, incremental, jsx, lib, module (+11 more)

### Community 38 - "Menubar UI Component"
Cohesion: 0.12
Nodes (11): Menubar, MenubarCheckboxItem, MenubarContent, MenubarItem, MenubarLabel, MenubarRadioItem, MenubarSeparator, MenubarShortcut() (+3 more)

### Community 39 - "Shadcn UI Config"
Cohesion: 0.12
Nodes (16): aliases, components, hooks, lib, ui, utils, rsc, $schema (+8 more)

### Community 40 - "Sidebar and Branding Context"
Cohesion: 0.14
Nodes (27): applyBrandColors(), applyPalette(), applyVars(), BrandingConfig, BrandingContext, BrandingContextValue, BrandingProvider(), DEFAULT_BRANDING (+19 more)

### Community 41 - "Toast and Notice System"
Cohesion: 0.16
Nodes (12): ButtonProps, buttonVariants, Calendar(), CalendarProps, Pagination(), PaginationContent, PaginationEllipsis(), PaginationItem (+4 more)

### Community 42 - "Chart UI Component"
Cohesion: 0.12
Nodes (14): useCarousel(), ChartConfig, ChartContainer, ChartContext, ChartContextProps, ChartLegendContent, ChartTooltipContent, THEMES (+6 more)

### Community 43 - "HubSpot Action Sync"
Cohesion: 0.19
Nodes (13): checkHubspotActionSync(), currentHash, HubspotActionSyncState, HubspotActionSyncStatus, state, buildExpectedCanonicalShape(), CanonicalActionShape, CanonicalDependency (+5 more)

### Community 45 - "Button, Calendar, Pagination UI"
Cohesion: 0.21
Nodes (12): CampaignClickStats, DeactivateCampaignLinksParams, fetchCampaignClickStats(), generateCampaignLinks(), GenerateCampaignLinksParams, headers(), isWhatsappUrl(), lookupRevrSlugs() (+4 more)

### Community 46 - "Multi-BM Template Storage"
Cohesion: 0.27
Nodes (3): MultibmTemplateWithSubmissions, InsertMultibmTemplate, MultibmTemplate

### Community 49 - "Carousel UI Component"
Cohesion: 0.15
Nodes (12): Carousel, CarouselApi, CarouselContent, CarouselContext, CarouselContextProps, CarouselItem, CarouselNext, CarouselOptions (+4 more)

### Community 50 - "Chip Provisioning Clients"
Cohesion: 0.23
Nodes (14): ALLOWED_RESULT_HOSTS, CheckNumberStatusResponse, CheckNumberTaskResponse, downloadWaFilterResults(), extractFileFromZip(), getWaFilterStatus(), parseCsv(), submitWaFilter() (+6 more)

### Community 51 - "Multi-BM Health Sync"
Cohesion: 0.17
Nodes (16): InfobipSenderFromApi, diagnoseMultibmForService(), effectiveBmDailyLimit(), mapConnectionStatusToBanRestriction(), MultibmDiagnosticItem, MultibmDiagnosticKind, MultibmDiagnosticsResult, MultibmHealthSyncResult (+8 more)

### Community 52 - "Business Manager Storage"
Cohesion: 0.19
Nodes (3): BusinessManagerWithStats, BusinessManager, InsertBusinessManager

### Community 53 - "HubSpot Dispatch Queue Storage"
Cohesion: 0.06
Nodes (64): ConfigResponse, MonthlyUsageResponse, ConfigResponse, ProviderModelPicker(), AgentConfigResponse, ApiKeyPresence, CompositorConfigResponse, GeneratorConfigResponse (+56 more)

### Community 62 - "API Token Storage"
Cohesion: 0.06
Nodes (16): buildApp(), enviarCalls, EnviarMensagemArgs, storageState, buildApp(), criarTemplateMock, listarSendersFromApiMock, listarTemplatesPorWabaMock (+8 more)

### Community 63 - "Multi-BM Webhook Tests"
Cohesion: 0.06
Nodes (46): ConfigResponse, EMPTY_TERM_FORM, PERSONA_FIELDS, TermFormState, ACCEPTED_MIMES, profileFormSchema, ProfileFormValues, ProfileResponse (+38 more)

### Community 65 - "utils.ts"
Cohesion: 0.15
Nodes (16): ContactEventType, EmitEventInput, emitEvents(), LandingTokenPayload, mintLandingToken(), secret(), verifyLandingToken(), allow() (+8 more)

### Community 66 - "Context Menu UI"
Cohesion: 0.20
Nodes (9): ContextMenuCheckboxItem, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut(), ContextMenuSubContent (+1 more)

### Community 67 - "Dropdown Menu UI"
Cohesion: 0.20
Nodes (9): DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut(), DropdownMenuSubContent (+1 more)

### Community 69 - "Multi-BM Message Storage"
Cohesion: 0.10
Nodes (22): AccountUpdateValue, drainMetaWebhookQueue(), extractInboundText(), handleAccountUpdate(), handleInboundMessages(), handlePhoneQuality(), handleStatuses(), handleTemplateUpdate() (+14 more)

### Community 72 - "Multi-BM Template Cluster Tests"
Cohesion: 0.18
Nodes (11): Como retomar isto numa sessão nova, ⚠️ CONFLITOS/LACUNAS mapeados no código atual (resolver na implementação), Contexto e decisão do dono (redesenho — substitui uma proposta anterior de, Guardrails, Modelo definido pelo dono, Multi-BM sidebar (CANCELADA) + HubSpot compatibility (pendente), Ordem recomendada de execução, PARTE A — UX: Multi-BM na barra lateral com sub-itens (+3 more)

### Community 73 - "scripts"
Cohesion: 0.06
Nodes (45): decryptSecret(), runAllTotvsSyncs(), fetchMetaSpend(), spendByPlatform(), SpendRow, syncAllAdSpend(), syncSpendForConnection(), upsertSnapshots() (+37 more)

### Community 74 - "dispatch"
Cohesion: 0.20
Nodes (5): TermsCurrentResponse, TermsCurrentResponse, TermsCurrentResponse, InsertTermsDocument, TermsDocument

### Community 75 - "Activity Log Storage"
Cohesion: 0.08
Nodes (11): getGlobalContactByPhone(), getContactCard(), getContactTimeline(), KIND_LABEL, TimelineEntry, brPhoneMatchCandidates(), ContactAttribute, contactAttributes (+3 more)

### Community 76 - "Breadcrumb UI Component"
Cohesion: 0.28
Nodes (3): EnrichedAcceptance, InsertTermsAcceptance, TermsAcceptance

### Community 77 - "Drawer UI Component"
Cohesion: 0.25
Nodes (7): Breadcrumb, BreadcrumbEllipsis(), BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator()

### Community 78 - "Navigation Menu UI"
Cohesion: 0.25
Nodes (7): NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle, NavigationMenuViewport

### Community 80 - "Account Service Balance Storage"
Cohesion: 0.18
Nodes (10): Achados da análise (já verificados no código — corrigir nesta ordem), ALTO, Como retomar isto numa sessão nova, Contexto, CRÍTICO, Entregável, Guardrails, MÉDIO (+2 more)

### Community 84 - "AI Client Settings Storage"
Cohesion: 0.13
Nodes (5): AdminUpsertAiClientSettingsInput, AiAgentConfig, AiClientSettings, AiMonthlyUsage, UpsertAiAgentConfigInput

### Community 85 - "Vendor Mask Exposure Tests"
Cohesion: 0.22
Nodes (5): buildApp(), EnviarFn, fetchCalls, HubSpotAuthError, storageState

### Community 87 - "File Upload Hook"
Cohesion: 0.38
Nodes (6): IMPORTANT: This function receives the UppyFile object from Uppy., IMPORTANT: Send JSON metadata, NOT the file itself., UploadMetadata, UploadResponse, useUpload(), UseUploadOptions

### Community 88 - "Multi-BM Validated Template Storage"
Cohesion: 0.29
Nodes (6): AI inbound (MO) attribution depends on dispatch-time ownership, MO attribution must cover BOTH dispatch tracks (WA OFICIAL + Multi-BM), MO dedupe must be DB-atomic, and empty ids must be null, Per-dispatch reply cap: conversation lookup must include LIMIT_REACHED, Persist the inbound BEFORE any no-send gate; exclude it from prompt history by row id, Window is measured from the DISPATCH (REVERSED 2026-07-14 — post-billing model)

### Community 91 - "AI Agent Safeguards Tests"
Cohesion: 0.24
Nodes (6): calls, optOutCalls, setupCta(), setupHappyPath(), setupTwoStage(), st

### Community 93 - "OTP Input UI Component"
Cohesion: 0.33
Nodes (5): InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, input-otp

### Community 95 - "toggle-group.tsx"
Cohesion: 0.33
Nodes (3): ProfileResponse, ClientBusinessProfile, UpsertClientBusinessProfileInput

### Community 102 - "whatsapp-template-preview.tsx"
Cohesion: 0.24
Nodes (3): UserWithServices, InsertService, Service

### Community 103 - "AI Conversation Messages"
Cohesion: 0.16
Nodes (3): BmClientAssignment, InsertUser, User

### Community 105 - "Object Uploader Component"
Cohesion: 0.16
Nodes (18): blankConfig(), clone(), draftFromPage(), draftFromTemplate(), draftToPayload(), draftToPreviewConfig(), duplicateBlock(), LinkItem (+10 more)

### Community 106 - "multibmDispatchPerContactParams.test.ts"
Cohesion: 0.25
Nodes (5): db, dispatch(), enviarMensagemTemplateMock, SendCall, storageHandlers

### Community 107 - "HubSpot Action Registration"
Cohesion: 0.50
Nodes (3): baseTrimmed, definition, isUpdate

### Community 108 - "Sender Stats Queries"
Cohesion: 0.05
Nodes (39): AiProviderValue, ApiKeyPresence, IMAGE_MODELS, IMAGE_PROVIDERS, ProviderModelPickerProps, TEXT_MODELS, TEXT_PROVIDERS, StateCitySelect() (+31 more)

### Community 109 - "dispatch"
Cohesion: 0.40
Nodes (4): A regra (comprovada ao vivo, 2026-07-14), Armadilha conhecida (custou uma tarde), Infobip: uma assinatura só — produção encaminha pro dev, O modelo vigente

### Community 111 - "User & Service Queries"
Cohesion: 0.40
Nodes (4): Multi-BM template fallback (T09) & per-second throttle (T01), Per-second throttle, Retry is intentionally absent, Template fallback resolution

### Community 112 - "Template Preset Storage"
Cohesion: 0.50
Nodes (3): Do NOT migrate to `exceljs` as a drop-in replacement, Remediating the `xlsx` (SheetJS) npm advisory, The fix

### Community 114 - "Credit Transactions"
Cohesion: 0.04
Nodes (76): balanceCache, BalanceCacheEntry, BalanceCheck, checkMultibmBalance(), getMinBalanceFloor(), invalidateBalanceCache(), notifyAdminsLowBalance(), activeRunCount() (+68 more)

### Community 115 - "freeform-send-guard.md"
Cohesion: 0.31
Nodes (10): ALLOWED_ROLES, effectiveOwnerId(), forward(), forwardText(), mediaUpload, parseIdParam(), registerPagesRoutes(), requireAdmin() (+2 more)

### Community 116 - "segmented-control.tsx"
Cohesion: 0.23
Nodes (11): buildMappedContacts(), BuildMappedContactsResult, ContactMappingError, MappedContact, BTN_URL_SUFFIX_ERROR_LABELS, BtnUrlSuffixResult, canonicalizeForCompare(), looksLikeUrl() (+3 more)

### Community 118 - "mailer.ts"
Cohesion: 0.05
Nodes (103): LegacyWebhookMode(), PageHeader(), PageHeaderProps, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter() (+95 more)

### Community 122 - "HubspotAlertState"
Cohesion: 0.20
Nodes (8): Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut()

### Community 123 - "multibmCampaignCreationAtomic.test.ts"
Cohesion: 0.05
Nodes (98): Router(), AgentTab(), ClientsTab(), ServicesTab(), CompositorTab(), GeneratorTab(), TwoStageTab(), SenderProfileSheet() (+90 more)

### Community 124 - "multibmPauseResumeCancel.test.ts"
Cohesion: 0.12
Nodes (27): isOptOutMessage(), normalizeOptOutText(), registrarOptOutSeGatilho(), getControlGroupPhoneSet(), isInControlGroup(), canSendTo(), capCache, capValueCache (+19 more)

### Community 130 - "AccountServiceBalance"
Cohesion: 0.10
Nodes (20): 1. Fluxograma do ciclo de vida, 2. Âncoras de código por etapa, 3. Walkthrough do exemplo: lote de 1.000 números · 1 BM · 10 senders · 100/dia cada, 4. Achados da auditoria, 5. Simulação executável (12/07/2026) — `tests/multibmDispatchSimulation.test.ts`, 6. Confirmação em dados reais (banco dev, 12/07/2026, somente SELECT), 7. Barragens — tabela consolidada e priorização, 8. Reforma implementada (12/07/2026) — R1/R2/R3 (+12 more)

### Community 132 - "TemplatePreset"
Cohesion: 0.18
Nodes (7): db, enviarMensagemTemplateMock, loadDispatch(), Msg, seedWabas(), storageHandlers, submissionFor()

### Community 135 - "multibmRateLimitSharedAcrossCampaigns.test.ts"
Cohesion: 0.25
Nodes (4): callTimestamps, db, enviarMensagemTemplateMock, storageHandlers

### Community 136 - "drawer.tsx"
Cohesion: 0.25
Nodes (6): DrawerContent, DrawerDescription, DrawerFooter(), DrawerHeader(), DrawerOverlay, DrawerTitle

### Community 138 - "multibmValidateGuard.test.ts"
Cohesion: 0.25
Nodes (8): buildCampaignPreview(), CampaignPreviewLinks, CampaignPreviewPayload, CampaignPreviewRcs, CampaignPreviewStage, CampaignPreviewTwoStage, ParamsSource, parseParams()

### Community 139 - "multibmDailyLimitByBm.test.ts"
Cohesion: 0.29
Nodes (4): sessionState, state, storageHandlers, templates

### Community 140 - "multibmDistributionStrategy.test.ts"
Cohesion: 0.07
Nodes (48): InfobipTemplateCreate, COMBINING_MARKS_RE, DEFAULT_PROHIBITED_TERMS, escapeRegex(), findProhibitedTermsInParams(), findTermsInText(), getProhibitedTerms(), invalidateProhibitedTermsCache() (+40 more)

### Community 141 - "multibmHealthSyncBanDetection.test.ts"
Cohesion: 0.40
Nodes (3): db, listarSendersFromApiMock, storageHandlers

### Community 143 - "moderationDispatchGuard.test.ts"
Cohesion: 0.40
Nodes (3): db, enviarMensagemTemplateMock, storageHandlers

### Community 148 - "multibmDispatchMarketing.test.ts"
Cohesion: 0.29
Nodes (4): db, dispatch(), storageHandlers, Sub

### Community 150 - "multibmDispatchResume.test.ts"
Cohesion: 0.29
Nodes (4): db, dispatch(), enviarMensagemTemplateMock, storageHandlers

### Community 152 - "multibmDistributionStrategy.test.ts"
Cohesion: 0.08
Nodes (25): check(), main(), novoUser(), db, pgPoolOptions, pool, poolMax, BackfillReport (+17 more)

### Community 153 - "scheduledCampaignCreationGuard.test.ts"
Cohesion: 0.13
Nodes (24): flagConnectionFromSendResult(), PAYMENT_ERROR_CODES, buildSendComponents(), CloudDispatchResult, cloudIntervalMs(), computeCloudFinalizationResults(), connectionNextSlotAt, dispatchCloudCampaign() (+16 more)

### Community 154 - "quietHours.ts"
Cohesion: 0.08
Nodes (30): ClientCallbackContact, ClientCallbackPayload, sendClientCallback(), dispatchHubspotMessageStandalone(), DispatchStandaloneResult, InfobipSendResult, ordenarSenders(), parseRetryAfterMs() (+22 more)

### Community 155 - "fmt"
Cohesion: 0.12
Nodes (18): AdminLogs(), fmt(), HubspotRow, HubspotTab(), InfobipRow, InfobipTab(), KIND_LABEL, LogSource (+10 more)

### Community 156 - "senderProfiles.test.ts"
Cohesion: 0.40
Nodes (3): sessionState, state, storageHandlers

### Community 158 - "mailer.ts"
Cohesion: 0.12
Nodes (12): AnyTemplateButton, getDynamicUrlButtonBase(), AccountPreset, CarouselCard, CarouselCardButton, CATEGORIAS, defaultCard(), defaultForm() (+4 more)

### Community 159 - "ObjectUploader.tsx"
Cohesion: 0.16
Nodes (19): requireAdmin(), requireAdminOrOperator(), requireTermsAccepted(), resolveAccountRootId(), authorizeDispatchSchema, effectiveOwnerId(), exchangeSchema, metaWebhookRateLimiter (+11 more)

### Community 160 - "ClientBusinessProfile"
Cohesion: 0.11
Nodes (17): @esbuild-kit/esm-loader, license, name, optionalDependencies, bufferutil, overrides, drizzle-kit, scripts (+9 more)

### Community 163 - ".getUserById"
Cohesion: 0.50
Nodes (3): baseBody, ENC_KEY, state

### Community 164 - ".attachSubmissions"
Cohesion: 0.08
Nodes (55): express, express-session, requireAuth(), requireModerationAccess(), requireUserManager(), SessionData, verifyPassword(), readSheetMatrix() (+47 more)

### Community 166 - "blocklist.ts"
Cohesion: 0.18
Nodes (15): describeNetworkError(), fetchInvoicesPage(), getToken(), mapInvoice(), resolveTotvsBase(), runTotvsDiagnostic(), runTotvsSync(), summarizeInvoicesForDiagnostic() (+7 more)

### Community 167 - "vendor-mask.ts"
Cohesion: 0.12
Nodes (8): SectionStatus, SectionStatusBadge(), SectionStatusBadgeProps, SegmentedControl(), SegmentedControlProps, SegmentedOption, HoverCardContent, Slider

### Community 174 - "ActivityLog"
Cohesion: 0.28
Nodes (4): inferActivityLogOrigin(), ActivityLog, ActivityLogOrigin, InsertActivityLog

### Community 175 - "UpdateCampaign"
Cohesion: 0.33
Nodes (6): buildApp(), get(), sessionState, statusNasDuasRotas(), storageHandlers, users

### Community 177 - "multibmSyncReconciliation.test.ts"
Cohesion: 0.15
Nodes (13): BLOCK_LABEL, BlockType, PageDraft, PageStatus, STATUS_LABEL, TEMPLATE_DESC, TEMPLATE_LABEL, TemplateId (+5 more)

### Community 178 - ".getBusinessManagers"
Cohesion: 0.10
Nodes (32): classifyPhoneCell(), COLUMN_ALIASES, CPF_HEADERS, cpfChecksumOk(), CsvParseResult, findColumns(), norm(), parseDate() (+24 more)

### Community 179 - ".getCampaigns"
Cohesion: 0.20
Nodes (7): buildApp(), db, infobipState, sessionState, storageHandlers, Sub, Tpl

### Community 184 - "toast.tsx"
Cohesion: 0.24
Nodes (10): Toast, ToastAction, ToastActionElement, ToastClose, ToastDescription, ToastProps, ToastTitle, toastVariants (+2 more)

### Community 186 - "Service"
Cohesion: 0.40
Nodes (3): vite, setupVite(), viteLogger

### Community 187 - "sheet.tsx"
Cohesion: 0.22
Nodes (7): buildApp(), criarCalls, handlers, infobipState, sessionState, St, validBody

### Community 190 - "hubspotWorkflowAction.test.ts"
Cohesion: 0.18
Nodes (11): BRL(), BRL0(), ComparativoGrupos(), CurvaReceita(), DashboardData, DEGRAUS, fmtDate(), fmtDia() (+3 more)

### Community 191 - "multibmValidateGuard.test.ts"
Cohesion: 0.29
Nodes (5): buildApp(), criarTemplateMock, sessionState, state, storageHandlers

### Community 192 - "twoStageReport.test.ts"
Cohesion: 0.50
Nodes (4): baixarCsv(), CONTACTS, get(), storageHandlers

### Community 193 - "scheduledDispatchWorker.test.ts"
Cohesion: 0.40
Nodes (3): sessionState, state, storageHandlers

### Community 196 - "vendor-mask.ts"
Cohesion: 0.29
Nodes (4): atomicState, buildApp(), sessionState, storageHandlers

### Community 197 - "aiProvider.ts"
Cohesion: 0.21
Nodes (13): computeQuietHour(), currentHourSaoPaulo(), isQuietNow(), isQuietNowCachedSync(), lastVerdict, loadConfig(), parseHour(), QuietConfig (+5 more)

### Community 198 - "segmented-control.tsx"
Cohesion: 0.29
Nodes (4): buildApp(), dispatchInfobipCampaignMock, sessionState, storageHandlers

### Community 200 - "templateUtils.ts"
Cohesion: 0.33
Nodes (4): buildApp(), sessionState, state, storageHandlers

### Community 202 - "adPerformanceRoutes.ts"
Cohesion: 0.22
Nodes (13): clampDays(), engineKeyOk(), registerAdPerformanceRoutes(), withSpend(), AD_EVENT_TYPES, adPerformanceByOrigin(), AdPerformanceRow, Attribution (+5 more)

### Community 205 - "metaSignupExchange.test.ts"
Cohesion: 0.40
Nodes (3): ENC_KEY, EXCHANGE_BODY, state

### Community 207 - "multibmPauseResumeCancel.test.ts"
Cohesion: 0.29
Nodes (5): buildApp(), enviarMensagemTemplateMockRef, sessionState, state, storageHandlers

### Community 208 - "brandingPublicRoutes.test.ts"
Cohesion: 0.33
Nodes (4): adminBranding, buildApp(), revendaBranding, storageHandlers

### Community 216 - "sanitizeOutput.ts"
Cohesion: 0.22
Nodes (9): main(), countTemplateVars(), MetaComponent, normalizeMetaTemplate(), encryptSecret(), getKey(), MetaTemplate, users (+1 more)

### Community 220 - "section-status-badge.tsx"
Cohesion: 0.05
Nodes (45): CampaignComposer(), CampaignComposerProps, composerErrorMessage(), ComposeResponse, DEFAULT_PERSONAS, GenerateResponse, Persona, PersonaOption (+37 more)

### Community 221 - "UpdateCampaign"
Cohesion: 0.28
Nodes (12): ContactRenderCtx, dispatchRcsCampaignInner(), finalizarCampanhaRcs(), inFlightCampaigns, parseContactParams(), RcsDispatchOptions, RcsDispatchResult, renderCard() (+4 more)

### Community 223 - ".getSenderProfile"
Cohesion: 0.19
Nodes (12): FilterPill(), FilterPillProps, Account, accountLabel(), buildDateRange(), CommittedParams, fmt(), PeriodPreset (+4 more)

### Community 224 - "usina-multibm-dashboard.tsx"
Cohesion: 0.28
Nodes (14): flagConnectionFromError(), syncCloudTemplates(), runConnectionSetup(), CloudTemplateButtonInput, createCloudTemplate(), applyClosingVariant(), cloudRolloutNameCandidates(), deriveCloudRolloutName() (+6 more)

### Community 225 - "PageEditor"
Cohesion: 0.20
Nodes (13): addBlock(), draftProblems(), moveBlock(), newBlock(), PageConfig, PageSummary, patchBlock(), patchHero() (+5 more)

### Community 226 - "rcsLimits.ts"
Cohesion: 0.19
Nodes (12): RCS_ALIGNMENTS, RCS_CARD_WIDTHS, RCS_MEDIA_HEIGHTS, RCS_ORIENTATIONS, RcsCard, RcsCardsPayload, RcsContentInput, RcsMediaHeight (+4 more)

### Community 228 - "rcsApi.ts"
Cohesion: 0.29
Nodes (10): buildRcsBatchBody(), mapCard(), mapMessage(), mapSuggestions(), RcsBatchResult, RcsMailingParams, RcsOutBase, RcsOutMessage (+2 more)

### Community 230 - "hover-card.tsx"
Cohesion: 0.22
Nodes (3): InsertCampaign, InsertTwoStageConfig, TwoStageConfig

### Community 232 - "popover.tsx"
Cohesion: 0.05
Nodes (85): BulkImportDialogProps, BulkImportResult, CampaignChatProps, ConversationPane(), ConversationRow, MessageBubble(), STATUS_LABEL, ErrorBoundaryProps (+77 more)

### Community 233 - "slider.tsx"
Cohesion: 0.24
Nodes (5): getSmsAdapter(), registerSmsAdapter(), SmsNormalizedEvent, SmsSendResult, SmsVendorAdapter

### Community 234 - "whatsapp-message-preview.tsx"
Cohesion: 0.27
Nodes (7): buttonKind(), defaultLabel(), normalizeButtons(), NormalizeButtonsOptions, PreviewButton, RawButton, WhatsappMessagePreviewProps

### Community 235 - "blocklist.ts"
Cohesion: 0.31
Nodes (8): applyBlocklist(), applySync(), CachedTerm, escapeRegex(), refreshCacheIfNeeded(), shouldSkipKey(), SKIP_KEYS, syncCache

### Community 236 - "rcsEventWorker.ts"
Cohesion: 0.29
Nodes (8): drainRcsEventQueue(), enqueueRcsEvent(), normalizeRcsStatus(), processRcsEvent(), processRcsReplyEvent(), processRcsStatusEvent(), RcsEvent, rcsEventQueue

### Community 237 - "clientBusinessProfile.test.ts"
Cohesion: 0.43
Nodes (7): ALLOWED_ROLES, effectiveOwnerId(), forward(), parseIdParam(), registerShortenerRoutes(), requireShortenerAccess(), revrFetch()

### Community 238 - "multibmBalanceGuard.ts"
Cohesion: 0.33
Nodes (3): AGORA, numeroOk, st

### Community 239 - "sheet.tsx"
Cohesion: 0.52
Nodes (6): CloudHealthResult, daysUntil(), syncAllCloudConnectionsHealth(), syncCloudConnectionHealth(), debugToken(), fetchPhoneNumbers()

### Community 240 - "toggle-group.tsx"
Cohesion: 0.33
Nodes (5): ToggleGroup, ToggleGroupContext, ToggleGroupItem, Toggle, toggleVariants

### Community 241 - "Análise do App (Meta) — roteiro dos vídeos e da submissão"
Cohesion: 0.29
Nodes (6): Antes de tudo: gerar o token temporário (24h), Análise do App (Meta) — roteiro dos vídeos e da submissão, Descrição escrita do serviço (colar na submissão), Submissão, Vídeo 1 — `whatsapp_business_messaging` (envio de mensagem), Vídeo 2 — `whatsapp_business_management` (criação de template)

### Community 242 - "PALETTES"
Cohesion: 0.50
Nodes (4): PALETTES, palettesForTemplate(), PageCard(), TemplateThumb()

### Community 249 - "vendor-mask.ts"
Cohesion: 0.83
Nodes (3): RESTRICTED_ROLES, scrubVendor(), scrubVendorForRole()

## Knowledge Gaps
- **1296 isolated node(s):** `ObjectUploaderProps`, `ConfigResponse`, `MonthlyUsageResponse`, `ConfigResponse`, `PERSONA_FIELDS` (+1291 more)
  These have ≤1 connection - possible missing edges or undocumented components.
- **91 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 `registerRoutes()` connect `Infobip API Integration` to `Badge and Card UI`, `Roles and Permissions`, `Schema Status Enums`, `Accordion and Dialog UI`, `Account Management Page`, `multibmValidateGuard.test.ts`, `App Routing and Auth Context`, `multibmDistributionStrategy.test.ts`, `Multi-BM Validated Templates UI`, `HubSpot Auth and Timeline`, `scheduledCampaignCreationGuard.test.ts`, `multibmDistributionStrategy.test.ts`, `Server Bootstrap and Blocklist`, `AI Agent Orchestration`, `quietHours.ts`, `DB Cleanup and Seed Scripts`, `ObjectUploader.tsx`, `Media Storage Utilities`, `.attachSubmissions`, `RCS API Client`, `Sidebar and Branding Context`, `HubSpot Action Sync`, `Button, Calendar, Pagination UI`, `Chip Provisioning Clients`, `Multi-BM Health Sync`, `.getBusinessManagers`, `utils.ts`, `scripts`, `adPerformanceRoutes.ts`, `sanitizeOutput.ts`, `UpdateCampaign`, `usina-multibm-dashboard.tsx`, `rcsLimits.ts`, `blocklist.ts`, `rcsEventWorker.ts`, `clientBusinessProfile.test.ts`, `Credit Transactions`, `freeform-send-guard.md`, `segmented-control.tsx`, `multibmCampaignCreationAtomic.test.ts`, `multibmPauseResumeCancel.test.ts`?**
  _High betweenness centrality (0.094) - this node is a cross-community bridge._
- **Why does `DatabaseStorage` connect `Database Storage Implementation` to `Storage Interface Methods`, `Button and Alert Dialog UI`, `Sender Profile and Notices UI`, `Infobip Sender Storage`, `Campaign Storage Methods`, `WABA Template Storage`, `User and Sender Assignment Storage`, `Multi-BM Submission Storage`, `Admin Logs UI`, `Branding Storage Methods`, `Multi-BM Template Storage`, `Infobip Config Storage`, `WABA Message Storage`, `Business Manager Storage`, `AI Conversation Storage`, `WA Filter Batch Storage`, `Multi-BM Dashboard UI`, `Toast UI Component`, `BM Sender Storage`, `Chip Activation Storage`, `HubSpot Connection Storage`, `RCS Sender Storage`, `Knowledge Base Storage`, `RCS Config Storage`, `RCS Message Storage`, `dispatch`, `Activity Log Storage`, `Breadcrumb UI Component`, `AiConversationMessage`, `HubSpot Execute Diagnostics`, `Blocklist Term Storage`, `Status Mapping Storage`, `AI Client Settings Storage`, `vendor-mask.ts`, `Template Media Storage`, `Multi-BM Marketing Dispatch Tests`, `Column Keyword Storage`, `toggle-group.tsx`, `AI Agent Config Storage`, `HubSpot Alert Config Storage`, `Multi-BM Alert Config Storage`, `Multi-BM Config Storage`, `whatsapp-template-preview.tsx`, `AI Conversation Messages`, `HubSpot Timeline Template Storage`, `fileSignatureValidation.test.ts`, `TemplateGeneratorConfig`, `ClientBusinessProfile`, `ApiToken`, `scheduledDispatchWorker.test.ts`, `SenderProfile`, `Service`, `CompositorConfig`, `infobipDispatch.ts`, `metaCloudRoutes.ts`, `clientBusinessProfile.test.ts`, `app-sidebar.tsx`, `normalizeBrPhone`, `fileSignatureValidation.test.ts`, `smsAdapter.ts`, `ActivityLog`, `multibmDailyLimitByBm.test.ts`, `cloudTemplateSync.ts`, `btnUrlSuffix.ts`, `MultibmAlertState`, `AccountServiceBalance`, `TemplatePreset`, `MetaWebhookQueueItem`, `InsertMetaSignupSession`, `CampaignTermConfirmation`, `CreditTransaction`, `.getDefaultAccountTemplatePreset`, `MultibmIgnoredWaba`, `InsertCloudTemplate`, `.getMultibmMonitoring`, `.getCampaigns`, `.getServices`, `ClientBlacklistTrigger`, `hover-card.tsx`, `.getCampaignWithContacts`, `buildInfo.ts`?**
  _High betweenness centrality (0.092) - this node is a cross-community bridge._
- **Why does `IStorage` connect `Storage Interface Methods` to `Database Storage Implementation`, `TemplateGeneratorConfig`, `Button and Alert Dialog UI`, `ClientBusinessProfile`, `ApiToken`, `Sender Profile and Notices UI`, `Infobip Sender Storage`, `scheduledDispatchWorker.test.ts`, `Campaign Storage Methods`, `SenderProfile`, `Service`, `WABA Template Storage`, `CompositorConfig`, `User and Sender Assignment Storage`, `Multi-BM Submission Storage`, `Admin Logs UI`, `metaCloudRoutes.ts`, `app-sidebar.tsx`, `normalizeBrPhone`, `fileSignatureValidation.test.ts`, `Branding Storage Methods`, `ActivityLog`, `Infobip Config Storage`, `Multi-BM Template Storage`, `WABA Message Storage`, `Business Manager Storage`, `cloudTemplateSync.ts`, `AI Conversation Storage`, `WA Filter Batch Storage`, `Multi-BM Dashboard UI`, `Toast UI Component`, `BM Sender Storage`, `Chip Activation Storage`, `HubSpot Connection Storage`, `RCS Sender Storage`, `AccountServiceBalance`, `btnUrlSuffix.ts`, `MultibmAlertState`, `TemplatePreset`, `Knowledge Base Storage`, `RCS Config Storage`, `RCS Message Storage`, `dispatch`, `Breadcrumb UI Component`, `MetaWebhookQueueItem`, `AiConversationMessage`, `HubSpot Execute Diagnostics`, `Blocklist Term Storage`, `CampaignTermConfirmation`, `InsertMetaSignupSession`, `Status Mapping Storage`, `AI Client Settings Storage`, `CreditTransaction`, `MultibmIgnoredWaba`, `vendor-mask.ts`, `Template Media Storage`, `InsertCloudTemplate`, `Multi-BM Marketing Dispatch Tests`, `ClientBlacklistTrigger`, `Column Keyword Storage`, `AI Agent Config Storage`, `toggle-group.tsx`, `HubSpot Alert Config Storage`, `Multi-BM Alert Config Storage`, `Multi-BM Config Storage`, `hover-card.tsx`, `whatsapp-template-preview.tsx`, `AI Conversation Messages`, `HubSpot Timeline Template Storage`, `fileSignatureValidation.test.ts`, `buildInfo.ts`?**
  _High betweenness centrality (0.066) - this node is a cross-community bridge._
- **Are the 14 inferred relationships involving `registerRoutes()` (e.g. with `displayName()` and `requireAdmin()`) actually correct?**
  _`registerRoutes()` has 14 INFERRED edges - model-reasoned connections that need verification._
- **What connects `ObjectUploaderProps`, `IMPORTANT: This receives the file object - use file.name, file.size, file.type`, `ConfigResponse` to the rest of the system?**
  _1300 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Storage Interface Methods` be split into smaller, more focused modules?**
  _Cohesion score 0.012345679012345678 - nodes in this community are weakly interconnected._
- **Should `Database Storage Implementation` be split into smaller, more focused modules?**
  _Cohesion score 0.014705882352941176 - nodes in this community are weakly interconnected._