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

## Corpus Check
- 653 files · ~987,655 words
- Verdict: corpus is large enough that graph structure adds value.

## Summary
- 6540 nodes · 15201 edges · 355 communities (225 shown, 130 thin omitted)
- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 163 edges (avg confidence: 0.76)
- Token cost: 0 input · 0 output

## Graph Freshness
- Built from commit: `1f4f690d`
- 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
- waCloudUsinaRoutes.ts
- rcsApi.ts
- WA Filter Batch Storage
- Multi-BM Dashboard UI
- Toast UI Component
- BM Sender Storage
- Chip Activation Storage
- HubSpot Connection Storage
- use-atendimento-stream.ts
- API Token Storage
- scripts
- Error Boundary Component
- webhookTokenTimingSafe.test.ts
- Context Menu UI
- Dropdown Menu UI
- enviarMensagemCtaUrl
- Multi-BM Message Storage
- mediaLimits.ts
- dispatchParity.test.ts
- Multi-BM Template Cluster Tests
- registerRoutes
- ContactFilePreviewTable
- Activity Log Storage
- templateGenerator.ts
- Drawer UI Component
- Navigation Menu UI
- RcsContentEditor
- Account Service Balance Storage
- signals.ts
- dashboard.tsx
- cloudTemplateSync.ts
- AI Client Settings Storage
- Vendor Mask Exposure Tests
- loadtest-multibm.ts
- File Upload Hook
- Multi-BM Validated Template Storage
- usina-multibm-dashboard.tsx
- chatFormRoutes.ts
- AI Agent Safeguards Tests
- clientBusinessProfile.test.ts
- OTP Input UI Component
- waOnsmsReceptivo.test.ts
- vendor-mask.ts
- prohibitedTerms.ts
- 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
- cloudHealthSync.ts
- User & Service Queries
- Template Preset Storage
- Build Script Allowlist
- Credit Transactions
- freeform-send-guard.md
- messageGuard.ts
- Infobip Template Header Rule
- mailer.ts
- Production Deploy Script
- Dev Deploy Script
- Post-Merge Hook Script
- HubspotAlertState
- multibmCampaignCreationAtomic.test.ts
- permissions.ts
- Drizzle ORM Config
- AccountServiceBalance
- TemplateGeneratorConfig
- totvsModaAdapter.ts
- ProvidersTab
- urlSecurity.test.ts
- multibmRateLimitSharedAcrossCampaigns.test.ts
- drawer.tsx
- multibmPoolTruth.test.ts
- BmSender
- multibmDailyLimitByBm.test.ts
- usina-multibm-dashboard.tsx
- multibmHealthSyncBanDetection.test.ts
- fileSignatureValidation.test.ts
- moderationDispatchGuard.test.ts
- btnUrlSuffix.ts
- scheduledDispatchWorker.test.ts
- clientCallbackRetry.test.ts
- whatsapp-message-preview.tsx
- multibmSharedTierByMetaBm.test.ts
- section-status-badge.tsx
- RcsSender
- CompositorConfig
- multibmDistributionStrategy.test.ts
- scripts
- .attachSubmissions
- prohibitedTerms.ts
- senderProfiles.test.ts
- vendor-mask.ts
- mediaLimits.ts
- pages.ts
- ClientBusinessProfile
- messageGuard.ts
- cloudTemplateSync.ts
- .getUserById
- onboardingMotor.test.ts
- fmt
- aiMonthlyCap.ts
- sheet.tsx
- use-atendimento-stream.ts
- app-sidebar.tsx
- bmNotices.ts
- MultibmMessage
- multibmBalanceGuard.ts
- gupshupTemplateSync.ts
- scripts
- UpdateCampaign
- AccountServiceBalance
- campaignPreview.ts
- waOnsmsReceptivo.test.ts
- brPhoneMatchCandidates
- leadsOrigensEmptyState.test.ts
- TemplatePreset
- onboardingFila.test.ts
- sheet.tsx
- toast.tsx
- multibmBalanceGuard.ts
- templateNaming.test.ts
- ClientBlacklistTrigger
- multibmHideAndIgnore.test.ts
- ObjectUploader.tsx
- hubspotWorkflowAction.test.ts
- fileSignatureValidation.test.ts
- twoStageReport.test.ts
- scheduledDispatchWorker.test.ts
- section-status-badge.tsx
- waHouse.ts
- smsParts.ts
- multibmDailyLimitByBm.test.ts
- waHouse.ts
- templateUtils.ts
- templateAdminOnly.test.ts
- usina-multibm-dashboard.tsx
- waCloudFrota.test.ts
- segmented-control.tsx
- metaSignupExchange.test.ts
- permissions.ts
- GupshupNotice
- brandingPublicRoutes.test.ts
- hubspotWorkflowAction.test.ts
- multibmDispatchResume.test.ts
- templateMediaStorage.ts
- wa-cloud-send-result-contract.md
- deliveryStatsTiles.test.ts
- migrar-config-sinais.ts
- publicRoutes.ts
- CloudValidatedTemplate
- buildInfo.ts
- moderationSampleFallback.test.ts
- CloudConnectionAuthorization
- metaCapability.ts
- metaMessagingWorker.test.ts
- segmented-control.tsx
- f2CapiPagamento.test.ts
- webhookTokenTimingSafe.test.ts
- PageEditor
- slider.tsx
- legal-publico.tsx
- GupshupTemplateRequest
- multibmBalanceGuard.test.ts
- acesso-publico.tsx
- popover.tsx
- onboardingLembretes.test.ts
- whatsapp-message-preview.tsx
- optOutBlacklist.ts
- optOutBlacklist.ts
- KnowledgeBaseItem
- multibmBalanceGuard.ts
- MultibmTemplateRequest
- toggle-group.tsx
- Análise do App (Meta) — roteiro dos vídeos e da submissão
- RcsConfig
- section-status-badge.tsx
- metaTemplateRules.ts
- prontidao.ts
- SmsMessage
- multibmSyncReconciliation.test.ts
- waOnsmsReceptivo.test.ts
- InsertCampaign
- multibmTemplateSync.test.ts
- hover-card.tsx
- Central de Atendimento — regras de negócio e arquitetura
- sanitizeOutput.ts
- video1-enviar-hello.sh
- video2-criar-template.sh
- SmsReply
- templateMediaStorage.ts
- SmsReply
- multibmSignature.ts
- admin-services.tsx
- rolloutNaming.ts
- moderationSampleFallback.test.ts
- verify-coexistence-echo.ts
- centralAtendimentoRoutes.test.ts
- templateRequestAsync.test.ts
- MultibmTemplate
- moderationSampleFallback.test.ts
- clientCallback.ts
- leadAds.test.ts
- sanitizeOutput.ts
- workerWake.test.ts
- chatFormRoutes.test.ts
- prohibitedTerms.ts
- HubspotExecuteOutcome
- GupshupConfig
- BlocklistTerm
- ProhibitedTerm
- multibmValidatedTemplates.test.ts
- slider.tsx
- templateUsosMax.test.ts
- optOutBlacklist.ts
- registerShortenerRoutes
- gupshup-selfserve-teste.mts
- multibmDispatchPerContactParams.test.ts
- canSendAutomaticFreeForm
- clientBusinessProfile.test.ts
- aiMonthlyCap.ts
- smsParts.ts
- multibmDispatchMarketing.test.ts
- templateBankRoutes.test.ts
- multibmDistributionStrategy.test.ts
- waOnsmsReceptivo.test.ts
- multibmDispatchResume.test.ts
- linkDoLote.test.ts
- aiMonthlyCap.ts
- ColumnKeyword
- SmsReply
- scheduledDispatchWorker.test.ts
- hover-card.tsx
- SenderAssignment
- prohibitedTerms.ts
- pages.ts
- relatorioEstadoFinal.test.ts
- blocklist.ts
- brPhoneMatchCandidates
- ActivityLog
- waCloudCoexistence.test.ts
- registerShortenerRoutes
- AccountServiceBalance
- campanhaCloudLinkModes.test.ts
- gupshupBalanceGuard.test.ts
- MultibmValidatedTemplate
- templatesPageChannels.test.ts
- SenderProfile
- GupshupNotice
- GupshupBillingEvent
- SecurityEvent
- ClientBlacklistTrigger
- verify-coexistence-echo.ts
- onboardingAcrescentarCanal.test.ts
- CampaignTermConfirmation
- CannedResponse
- HubspotAlertState
- gupshupWebhook.test.ts
- leadsGetFormBySlug.test.ts
- MultibmAlertState
- TemplatePreset
- readAtDimension.test.ts
- verify-coexistence-echo.ts
- MetaWebhookQueueItem
- InsertMetaSignupSession
- CreditTransaction
- MultibmIgnoredWaba
- UpdateCampaign
- InsertCloudTemplate
- InsertGupshupTemplate
- permissions.ts
- multibmDispatchResume.test.ts
- buildInfo.ts
- webhookTokenTimingSafe.test.ts
- importar-oauth-hubspot.ts
- HubspotSmsQueueItem
- InsertHubspotSmsQueueItem
- instanceGuard.ts
- sanitizeOutput.ts

## God Nodes (most connected - your core abstractions)
1. `DatabaseStorage` - 590 edges
2. `IStorage` - 561 edges
3. `useToast()` - 183 edges
4. `apiRequest()` - 165 edges
5. `cn()` - 113 edges
6. `Button` - 90 edges
7. `storage` - 85 edges
8. `Badge()` - 75 edges
9. `Card` - 73 edges
10. `CardContent` - 71 edges

## Surprising Connections (you probably didn't know these)
- `Router()` --indirect_call--> `Branding`  [INFERRED]
  client/src/App.tsx → shared/schema.ts
- `InboxPanel()` --indirect_call--> `c()`  [INFERRED]
  client/src/components/atendimento/inbox-panel.tsx → tests/zipVariaveisManual.test.ts
- `ContactFilePreviewTable()` --indirect_call--> `c()`  [INFERRED]
  client/src/components/campaign-variable-mapping.tsx → tests/zipVariaveisManual.test.ts
- `RevenueClientSelect()` --indirect_call--> `c()`  [INFERRED]
  client/src/components/revenue-client-select.tsx → tests/zipVariaveisManual.test.ts
- `AdminTemplateBank()` --indirect_call--> `c()`  [INFERRED]
  client/src/pages/admin-template-bank.tsx → tests/zipVariaveisManual.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 (355 total, 130 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.04
Nodes (95): CentralHeader(), Props, BulkImportDialogProps, BulkImportResult, ErrorBoundaryProps, ErrorBoundaryState, FilterPillProps, LegacyWebhookMode() (+87 more)

### Community 4 - "Roles and Permissions"
Cohesion: 0.03
Nodes (79): RFC-4180, allRoles, brandingDir, brandingUpload, buildObservation(), buildWaOficialCsvRows(), buildZipForCampaign(), campaignRequiresModeration() (+71 more)

### Community 5 - "Schema Status Enums"
Cohesion: 0.01
Nodes (154): AccessInvite, bmClientAssignments, BmQuality, bmQualityEnum, BmStatus, bmStatusEnum, CampaignStatus, campaignStatusEnum (+146 more)

### Community 6 - "Accordion and Dialog UI"
Cohesion: 0.10
Nodes (33): main(), proof(), CloudHealthResult, daysUntil(), syncAllCloudConnectionsHealth(), syncCloudConnectionHealth(), authorizeDispatchSchema, effectiveOwnerId() (+25 more)

### Community 7 - "Account Management Page"
Cohesion: 0.16
Nodes (6): ICON, NoticeBannerProps, VARIANT, useNotices(), InsertSystemNotice, SystemNotice

### Community 8 - "Button and Alert Dialog UI"
Cohesion: 0.08
Nodes (4): MultibmPhysicalSubmission, MultibmTemplateSubmissionWithBm, InsertMultibmTemplateSubmission, MultibmTemplateSubmission

### Community 9 - "Reporting and Monitoring Types"
Cohesion: 0.04
Nodes (66): CampaignComposer(), CampaignComposerProps, composerErrorMessage(), ComposeResponse, DEFAULT_PERSONAS, GenerateResponse, Persona, PersonaOption (+58 more)

### Community 10 - "AI Panel and Tabs UI"
Cohesion: 0.06
Nodes (67): aplicarEventosDoSetup(), EVENTO_PARA_ESTADOS, exchangePublicoSchema, montarPrefill(), naoEncontrado(), PODE_CONECTAR, registerOnboardingConectarRoutes(), resolverServicoWaCloud() (+59 more)

### Community 11 - "App Routing and Auth Context"
Cohesion: 0.09
Nodes (38): GraphApiError, classifyDmError(), dmFetch(), DmSendParams, enviar(), fetchDmProfile(), graphHostFor(), graphVersion() (+30 more)

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

### Community 13 - "Build Tooling Dependencies"
Cohesion: 0.23
Nodes (15): sendRcsBatch(), ContactRenderCtx, dispatchRcsCampaign(), dispatchRcsCampaignInner(), finalizarCampanhaRcs(), inFlightCampaigns, parseContactParams(), RcsDispatchOptions (+7 more)

### Community 14 - "Template Utilities and Form UI"
Cohesion: 0.06
Nodes (50): BlockEditor(), Field(), Patch, QuizRow, TagList(), addBlock(), blankConfig(), BLOCK_LABEL (+42 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 16 - "Sender Profile and Notices UI"
Cohesion: 0.07
Nodes (41): BaseLiberacao, BusinessManager, countVars(), EditorForm, emptyForm, HeaderChoice, statusBadge(), ValidatedButton (+33 more)

### Community 17 - "Infobip Sender Storage"
Cohesion: 0.05
Nodes (87): ConfigResponse, ConfigResponse, EndpointCard(), EndpointCardProps, CloudConnection, HandoffConfig, PageHeader(), PageHeaderProps (+79 more)

### Community 18 - "Sidebar Layout UI"
Cohesion: 0.10
Nodes (39): ROLE_ICON, ResizableHandle(), ResizablePanelGroup(), SheetContentProps, SheetDescription, SheetFooter(), SheetHeader(), SheetOverlay (+31 more)

### Community 19 - "Campaign Storage Methods"
Cohesion: 0.08
Nodes (32): buildComposeSystemPrompt(), buildGenerateSystemPrompt(), ComposerComposeResult, ComposerGenerateResult, ComposerMode, containsEmoji(), EMOJI_RE, EMOJI_STRIP_RE (+24 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.08
Nodes (42): registerRevenueDashboardRoutes(), activationBlockReason(), enterFromEvents(), enterFromSegment(), exitExecution(), insertExecutions(), parseSteps(), parseTrigger() (+34 more)

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

### Community 23 - "Auth Middleware and Checknumber"
Cohesion: 0.15
Nodes (9): onboardingEvents, platformLeads, condicoes(), corrente, dbFalso, filtrar(), Linha, snakeParaCamel() (+1 more)

### Community 24 - "HubSpot Auth and Timeline"
Cohesion: 0.05
Nodes (39): AgentTab(), ConfigResponse, MonthlyUsageResponse, AiProviderValue, ApiKeyPresence, IMAGE_MODELS, IMAGE_PROVIDERS, ProviderModelPicker() (+31 more)

### Community 25 - "AI Agent Orchestration"
Cohesion: 0.08
Nodes (35): ACCEPTED_MIMES, profileFormSchema, ProfileFormValues, ProfileResponse, SenderProfileSheetProps, FormControl, FormDescription, FormField() (+27 more)

### Community 26 - "admin-senders.tsx"
Cohesion: 0.08
Nodes (22): CANAL_LABEL, HeaderMode, ModoBotoes, ModoLink, PreviewResposta, Props, Service, SolicitarTemplateBancoDialog() (+14 more)

### Community 27 - "Server Bootstrap and Blocklist"
Cohesion: 0.10
Nodes (32): AiPanel(), Marco(), Props, quandoCurto(), ChatPanel(), diaLegivel(), hora(), MessageBubble() (+24 more)

### Community 28 - "Campaign Chat UI"
Cohesion: 0.21
Nodes (12): AppSidebar(), useBranding(), AppMode, emit(), listeners, read(), readAppMode(), subscribe() (+4 more)

### Community 29 - "Multi-BM Dispatch Logic"
Cohesion: 0.07
Nodes (55): buildFormBody(), classifyGupshupSendError(), CreateGupshupTemplateInput, createSubscription(), createTemplate(), deleteSubscription(), enviarCtaUrlGupshup(), enviarMidiaGupshup() (+47 more)

### Community 30 - "DB Cleanup and Seed Scripts"
Cohesion: 0.13
Nodes (23): criarContaCliente(), DadosNovaConta, gerarSenhaTemporaria(), gerarUsername(), hashPassword(), resolveAccountRootId(), converterSchema, conviteValido() (+15 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.12
Nodes (24): main(), [dono], graph(), loadConnection(), main(), proof(), readState(), retratoDestino() (+16 more)

### Community 34 - "Admin Logs UI"
Cohesion: 0.09
Nodes (33): main(), main(), bus, CentralConversationEvent, CentralEvent, centralListenerCount(), CentralMessageEvent, CentralTypingEvent (+25 more)

### Community 35 - "Media Storage Utilities"
Cohesion: 0.05
Nodes (46): runAllTotvsSyncs(), fetchGoogleSpend(), fetchMetaSpend(), SpendRow, syncAllAdSpend(), syncSpendForConnection(), upsertSnapshots(), ymd() (+38 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.11
Nodes (34): requireTermsAccepted(), assembleTemplate(), clearGupshupPauseRequest(), dispatchGupshupCampaign(), requestGupshupPause(), contactWithParamsSchema, createGupshupCampaignSchema, gateWhatsappRevrSuffixes() (+26 more)

### Community 42 - "Chart UI Component"
Cohesion: 0.06
Nodes (57): express, chamarHub(), registerAgentesRoutes(), semChave(), express-session, requireAdmin(), requireAuth(), SessionData (+49 more)

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

### Community 44 - "Branding Storage Methods"
Cohesion: 0.05
Nodes (44): classifyPhoneCell(), COLUMN_ALIASES, CPF_HEADERS, cpfChecksumOk(), CsvParseResult, findColumns(), norm(), parseDate() (+36 more)

### Community 45 - "Button, Calendar, Pagination UI"
Cohesion: 0.08
Nodes (47): AiChatTurn, AiProvider, AiProviderError, apiKeyFor(), classifyGoogleImageError(), fetchWithTimeout(), generateAiReply(), generateAnthropic() (+39 more)

### Community 46 - "Multi-BM Template Storage"
Cohesion: 0.09
Nodes (41): buildProfileSection(), buildSystemPrompt(), cloudQuarantineMinutes(), conduzirConversaDm(), executeReplyFlush(), flushConversationReply(), handleInboundMessage(), isTwoStageNegativeReply() (+33 more)

### Community 48 - "WABA Message Storage"
Cohesion: 0.13
Nodes (22): dispatchInfobipCampaign(), dispatchInfobipCampaignInner(), DispatchOptions, DispatchResult, finalizarCampanhaInfobip(), inFlightCampaigns, isTerminalWabaStatus(), computeQuietHour() (+14 more)

### Community 49 - "Carousel UI Component"
Cohesion: 0.10
Nodes (39): flagConnectionFromError(), flagConnectionFromSendResult(), PAYMENT_ERROR_CODES, appSecretProof(), buildGraphButtons(), buildTemplateComponents(), BUSINESS_ERROR_CODES, classifyGraphSendError() (+31 more)

### Community 50 - "Chip Provisioning Clients"
Cohesion: 0.12
Nodes (10): buildApp(), createCalls, deleteCalls, infobipState, listCalls, sessionState, storageHandlers, storageState (+2 more)

### Community 51 - "Multi-BM Health Sync"
Cohesion: 0.07
Nodes (35): ContactOrigin, hashEmail(), PREFERENCE_KEYS, PURCHASE_KEYS, setAttribute(), SOURCE_RANK_PREFERENCE, SOURCE_RANK_PURCHASE, upsertContact() (+27 more)

### Community 52 - "Business Manager Storage"
Cohesion: 0.07
Nodes (39): InboundMessage, alertAdminsRecategorizacaoAlerta(), carimbarDimensoes(), frearLotes(), frearServicoInteiro(), gupshupWebhookRateLimiter, handleAccountEvent(), handleBillingEvent() (+31 more)

### Community 54 - "rcsApi.ts"
Cohesion: 0.16
Nodes (18): cnpjValido(), emailOk(), foneOk(), FormConfig, FormularioPublico(), lerCookie(), lerRastros(), mascararCnpj() (+10 more)

### Community 55 - "WA Filter Batch Storage"
Cohesion: 0.19
Nodes (19): ALLOWED_ROLES, camposChatSchema, configSchema, criarFormSchema, csvEscape(), editarFormSchema, effectiveOwnerId(), FUNIL_VAZIO (+11 more)

### Community 56 - "Multi-BM Dashboard UI"
Cohesion: 0.19
Nodes (14): GupshupRawTemplate, countTemplateVars(), GupshupRawButton, normalizeGupshupButtons(), normalizeGupshupHeaderType(), normalizeGupshupQuality(), normalizeGupshupTemplate(), parseContainerMeta() (+6 more)

### Community 57 - "Toast UI Component"
Cohesion: 0.10
Nodes (29): buscarLeadNaGraph(), CampoResposta, CAMPOS_PADRAO, carregarConfigLeadAds(), ConfigLeadAds, graphVersion(), jaProcessado(), LeadgenDetalhe (+21 more)

### Community 58 - "BM Sender Storage"
Cohesion: 0.18
Nodes (7): db, enviarMensagemTemplateMock, loadDispatch(), Msg, seedWabas(), storageHandlers, submissionFor()

### Community 59 - "Chip Activation Storage"
Cohesion: 0.20
Nodes (9): @esbuild-kit/esm-loader, license, name, optionalDependencies, bufferutil, overrides, drizzle-kit, type (+1 more)

### Community 60 - "HubSpot Connection Storage"
Cohesion: 0.28
Nodes (3): EnrichedAcceptance, InsertTermsAcceptance, TermsAcceptance

### Community 61 - "use-atendimento-stream.ts"
Cohesion: 0.06
Nodes (94): ConfigResponse, EMPTY_TERM_FORM, PERSONA_FIELDS, TermFormState, ContactPanel(), ENGAJAMENTO, moeda(), BulkImportDialog() (+86 more)

### Community 62 - "API Token Storage"
Cohesion: 0.17
Nodes (5): aiState, buildApp(), forwardCalls, storageHandlers, storageState

### Community 63 - "scripts"
Cohesion: 0.14
Nodes (22): Checklist(), Lane(), LANE_STYLE, LaneProps, Lanes(), Mark, MARK_STYLE, MetaItem (+14 more)

### Community 64 - "Error Boundary Component"
Cohesion: 0.14
Nodes (19): MySendersMultibm(), s(), main(), main(), InfobipSenderFromApi, diagnoseMultibmForService(), effectiveBmDailyLimit(), mapConnectionStatusToBanRestriction() (+11 more)

### Community 65 - "webhookTokenTimingSafe.test.ts"
Cohesion: 0.11
Nodes (38): botoesDescadastroAtivos(), descadastroEhPadrao(), midiaDaCategoria(), registrarUso(), rodapesAtivos(), textosDaCategoria(), AlvoConteudoBanco, construirBotoesClienteBanco() (+30 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.14
Nodes (18): vite, ALLOWED_RESULT_HOSTS, CheckNumberStatusResponse, CheckNumberTaskResponse, downloadWaFilterResults(), extractFileFromZip(), getWaFilterStatus(), parseCsv() (+10 more)

### Community 68 - "enviarMensagemCtaUrl"
Cohesion: 0.15
Nodes (23): assinar(), Blocklist, carregarBlocklist(), DISPOSABLE_DOMAINS, dominioDeEmail(), ehDescartavel(), emitirFormToken(), estaBloqueado() (+15 more)

### Community 69 - "Multi-BM Message Storage"
Cohesion: 0.06
Nodes (39): AccountAlertValue, AccountUpdateValue, BusinessCapabilityValue, drainMetaBatch(), drainMetaWebhookQueue(), EchoChangeValue, extractInboundText(), extractReplyId() (+31 more)

### Community 71 - "dispatchParity.test.ts"
Cohesion: 0.40
Nodes (3): cloud, gupshup, multibm

### 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 - "registerRoutes"
Cohesion: 0.05
Nodes (53): FilterPill(), StatusBadge(), StatusBadgeProps, StatusTone, TONE_CLASSES, Skeleton(), formatDate(), formatDateTimeSeconds() (+45 more)

### Community 75 - "Activity Log Storage"
Cohesion: 0.12
Nodes (24): getHubspotOAuthConfig(), getValidAccessToken(), HubSpotAuthError, hubspotRefreshLocks, buildEventTemplateDefinition(), buildOnsmsLink(), getDeveloperConfig(), getPublicBaseUrl() (+16 more)

### 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 79 - "RcsContentEditor"
Cohesion: 0.36
Nodes (6): updateProfilePhoto(), extFromMime(), getTemplateMediaDir(), PUBLIC_BASE_URL, templateMediaExists(), uploadTemplateMediaToObjectStorage()

### 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 81 - "signals.ts"
Cohesion: 0.24
Nodes (12): applySmsReplyEvent(), applySmsStatusEvent(), drainRcsBatch(), drainRcsEventQueue(), normalizeRcsStatus(), processRcsEvent(), processRcsReplyEvent(), processRcsStatusEvent() (+4 more)

### Community 82 - "dashboard.tsx"
Cohesion: 0.10
Nodes (20): ehCandidatoChamariz(), SolicitarTemplateDialog(), ButtonRef, CHAMARIZ_QRS, ehTemplateChamariz(), normalizarParaComparar(), removerRodapeDuplicadoDoCorpo(), resolverQrsChamariz() (+12 more)

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

### Community 84 - "AI Client Settings Storage"
Cohesion: 0.06
Nodes (18): AgentConfigResponse, ApiKeyPresence, CompositorConfigResponse, GeneratorConfigResponse, messageForTestError(), PROVIDER_CARDS, ProviderKey, ProvidersTab() (+10 more)

### 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 89 - "usina-multibm-dashboard.tsx"
Cohesion: 0.07
Nodes (67): aplicarPesos(), recalcularCalibracao(), estadoLeadAds(), salvarConfigLeadAds(), lerCampos(), formSchema, leadAdsSchema, ownerId() (+59 more)

### Community 90 - "chatFormRoutes.ts"
Cohesion: 0.07
Nodes (32): Progress, BmAssignment, BmDetail, BmDetailPanel(), BmSender, BmWithSenders, BusinessManager, clientLabel() (+24 more)

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

### Community 92 - "clientBusinessProfile.test.ts"
Cohesion: 0.16
Nodes (12): ButtonProps, buttonVariants, Calendar(), CalendarProps, Pagination(), PaginationContent, PaginationEllipsis(), PaginationItem (+4 more)

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

### Community 94 - "waOnsmsReceptivo.test.ts"
Cohesion: 0.07
Nodes (28): alertAdmins(), cache, reconcileCloudTemplate(), buscarStatusTemplate(), InfobipClientOptions, alertAdminsRecategorizacao(), BmParaGuard, cache (+20 more)

### Community 95 - "vendor-mask.ts"
Cohesion: 0.10
Nodes (9): AdminUserRow, AuthTrailDialog(), BaseTpl, ConexoesTab(), Conn, fmtDate(), PhysTpl, STATUS_TPL (+1 more)

### Community 96 - "prohibitedTerms.ts"
Cohesion: 0.31
Nodes (10): ESTILO, OnboardingChecklist(), ConexaoParaOnboarding, derivarOnboarding(), onboardingCompleto(), PassoEstado, PassoOnboarding, proximoPasso() (+2 more)

### Community 103 - "AI Conversation Messages"
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 105 - "Object Uploader Component"
Cohesion: 0.25
Nodes (8): buildCampaignPreview(), CampaignPreviewLinks, CampaignPreviewPayload, CampaignPreviewRcs, CampaignPreviewStage, CampaignPreviewTwoStage, ParamsSource, parseParams()

### Community 106 - "multibmDispatchPerContactParams.test.ts"
Cohesion: 0.02
Nodes (88): AccountServiceRow, BmAssignmentClientRow, MultibmBmFailureStat, MultibmBmMetrics, MultibmClientMetrics, MultibmMonitoring, MultibmVolumePoint, PaginatedResult (+80 more)

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

### Community 108 - "Sender Stats Queries"
Cohesion: 0.15
Nodes (12): Carousel, CarouselApi, CarouselContent, CarouselContext, CarouselContextProps, CarouselItem, CarouselNext, CarouselOptions (+4 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.18
Nodes (9): baseDeCliente, baseEtiquetado, baseSemEtiqueta, BM_A, criarTemplateMock, handleGenerateExamplesMock, sessionState, state (+1 more)

### Community 115 - "freeform-send-guard.md"
Cohesion: 0.20
Nodes (9): 1. A pergunta que abriu a análise, 2. O meio-termo pedido já é o estado atual, 3. Como o histórico chegaria (se fosse pedido), 4. Os cinco bloqueios do nosso lado, 5. O que fizemos em vez disso, 6. Se um dia for reaberto, 7. "E se o cliente conectar um número cheio de conversas?" — a IA responde algo antigo?, 8. Nota para auditoria (+1 more)

### Community 116 - "messageGuard.ts"
Cohesion: 0.12
Nodes (14): APP_A, APP_B, createTemplateMock, deleteStaticCampaignLinkMock, generateStaticCampaignLinkMock, handleGenerateExamplesMock, sessionState, sourceBase (+6 more)

### Community 118 - "mailer.ts"
Cohesion: 0.19
Nodes (16): clampDays(), engineKeyOk(), registerAdPerformanceRoutes(), withSpend(), spendByPlatform(), AD_EVENT_TYPES, AdCampaignRow, adPerformanceByCampaign() (+8 more)

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

### Community 124 - "permissions.ts"
Cohesion: 0.07
Nodes (29): main(), cleanupApiCampaignOrphanMedia(), CleanupReport, CleanupRow, MEDIA_DIR, safeUnlink(), defaultApiSettings, defaultColumnKeywords (+21 more)

### Community 126 - "Drizzle ORM Config"
Cohesion: 0.19
Nodes (8): CanalPublico, ConfigPublica, contrasteComBranco(), Dict, mascararCnpj(), mascararTelefone(), OnboardingPublico(), soDigitos()

### 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 131 - "TemplateGeneratorConfig"
Cohesion: 0.21
Nodes (11): AGUARDANDO, corSemaforo(), dataCurta(), ESPERAM_ALGUEM, FORNECEDORES_RCS, LeadsOnboarding(), Lembrete, MotorResposta (+3 more)

### Community 132 - "totvsModaAdapter.ts"
Cohesion: 0.07
Nodes (56): escolher(), fechou(), main(), sorteioRespostas(), TOTAL, VERDADE, calcularCalibracao(), DECIDIDOS (+48 more)

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

### Community 136 - "drawer.tsx"
Cohesion: 0.18
Nodes (18): assertPublicHost(), deleteMediaObject(), DownloadedMedia, downloadMediaBuffer(), downloadMediaFromUrl(), ensureMediaDir(), extFromMime(), getUploadDir() (+10 more)

### Community 138 - "BmSender"
Cohesion: 0.83
Nodes (3): AudioMessage(), mmss(), VELOCIDADES

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

### Community 140 - "usina-multibm-dashboard.tsx"
Cohesion: 0.07
Nodes (22): ContactEventType, chatFormConfigs, chatFormSessions, CAMPOS, chamar(), condicoes(), dbFalso, engine() (+14 more)

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

### Community 142 - "fileSignatureValidation.test.ts"
Cohesion: 0.19
Nodes (3): BusinessManagerWithStats, BusinessManager, InsertBusinessManager

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

### Community 145 - "scheduledDispatchWorker.test.ts"
Cohesion: 0.15
Nodes (15): buildFullRowContacts(), BuildFullRowContactsResult, buildMappedContacts(), BuildMappedContactsResult, ColumnMapping, ContactMappingError, FullRowReport, MappedContact (+7 more)

### Community 147 - "whatsapp-message-preview.tsx"
Cohesion: 0.25
Nodes (7): 🚨 CORREÇÃO DE 24/08/2026 — o mistério se dissolveu na medição, Limites honestos, O caminho das pedras — por que uma BM não sobe de tier, O que foi instrumentado (17/08/2026), O veredito [SUPERADO — ver correção acima], Os campos confirmados (doc oficial, 17/08/2026 — não é achismo), Receita legítima de maturação

### Community 148 - "multibmSharedTierByMetaBm.test.ts"
Cohesion: 0.50
Nodes (3): SectionStatus, SectionStatusBadge(), SectionStatusBadgeProps

### Community 149 - "section-status-badge.tsx"
Cohesion: 0.35
Nodes (13): ClusterSignature, computeSignature(), countQuickReplies(), countTemplateVars(), extractButtonUrlPrefix(), extractUrlButtonDynamic(), findUrlButton(), normalizeHeaderMarker() (+5 more)

### Community 150 - "RcsSender"
Cohesion: 0.40
Nodes (5): baixarCsv(), CONTACTS, get(), state, storageHandlers

### Community 151 - "CompositorConfig"
Cohesion: 0.12
Nodes (18): ChatFormConfig, ChatFormLite, Connection, ConsentDoc, FbLoginResponse, isFacebookOrigin(), MetaWhatsapp(), PublicConfig (+10 more)

### Community 152 - "multibmDistributionStrategy.test.ts"
Cohesion: 0.12
Nodes (25): buildSendComponents(), cancelPausedCloudCampaign(), CloudDispatchResult, cloudIntervalMs(), computeCloudFinalizationResults(), connectionNextSlotAt, dispatchCloudCampaign(), finalizarCampanhaCloud() (+17 more)

### Community 153 - "scripts"
Cohesion: 0.13
Nodes (21): buildRcsBatchBody(), mapCard(), mapMessage(), mapSuggestions(), RcsBatchResult, RcsMailingParams, RcsOutBase, RcsOutMessage (+13 more)

### Community 154 - ".attachSubmissions"
Cohesion: 0.19
Nodes (11): drainBatch(), drainHubspotSmsQueue(), enqueueHubspotSms(), EntradaHubspotSms, hashText(), ItemOutcome, processHubspotSmsItem(), publishSmsTimeline() (+3 more)

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

### Community 158 - "mediaLimits.ts"
Cohesion: 0.29
Nodes (5): buildApp(), enviarMensagemTemplateMockRef, sessionState, state, storageHandlers

### Community 161 - "messageGuard.ts"
Cohesion: 0.20
Nodes (10): app, http, httpServer, IncomingMessage, Issue, log(), pgPool, PgStore (+2 more)

### Community 162 - "cloudTemplateSync.ts"
Cohesion: 0.27
Nodes (10): banirLinksDoTemplate(), blockLinks(), canonicalizeLink(), gateBlockedLinks(), getBlockedSet(), invalidateBlockedLinksCache(), unblockLink(), BlockedLink (+2 more)

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

### Community 164 - "onboardingMotor.test.ts"
Cohesion: 0.16
Nodes (16): BmParaCapability, cache, CODIGOS_DE_CHAMADA, CorpoCapability, ehErroDeChamada(), fetchLiveCapabilityForBm(), fetchWabaCapabilityFromMeta(), findPhoneNumberId() (+8 more)

### Community 165 - "fmt"
Cohesion: 0.18
Nodes (15): DELIVERY_ERROR_LABELS, friendlyDeliveryError(), scrubVendor(), dispatchSmsCampaign(), dispatchSmsCampaignInner(), finalizarCampanhaSms(), inFlightCampaigns, SmsDispatchOptions (+7 more)

### Community 168 - "use-atendimento-stream.ts"
Cohesion: 0.03
Nodes (76): NoticeBanner(), StateCitySelect(), StateCitySelectProps, PasswordInput(), PasswordInputProps, PopoverContent, SelectContent, SelectItem (+68 more)

### Community 173 - "gupshupTemplateSync.ts"
Cohesion: 0.17
Nodes (8): db, enviarTemplateGupshupMock, loadDispatch(), Msg, physicalFor(), quietCtl, seedApps(), storageHandlers

### Community 174 - "scripts"
Cohesion: 0.38
Nodes (5): BmParaReplicacao, planejarReplicacaoDeToken(), ReplicacaoPlano, ReplicacaoRecusa, ORIGEM

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

### Community 176 - "AccountServiceBalance"
Cohesion: 0.33
Nodes (3): buildApp(), sessionState, st

### Community 177 - "campaignPreview.ts"
Cohesion: 0.07
Nodes (40): dispatchHubspotMessageStandalone(), DispatchStandaloneResult, ordenarSenders(), emitirOtp(), FALHA_LEGIVEL, FalhaOtp, gerarCodigo(), hashCodigo() (+32 more)

### Community 178 - "waOnsmsReceptivo.test.ts"
Cohesion: 0.29
Nodes (4): atomicState, buildApp(), sessionState, storageHandlers

### Community 179 - "brPhoneMatchCandidates"
Cohesion: 0.05
Nodes (27): xlsx, check(), main(), novoUser(), estado(), main(), assinar(), corpo (+19 more)

### Community 182 - "onboardingFila.test.ts"
Cohesion: 0.50
Nodes (3): cenario, pedidoValidado, settings

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

### Community 189 - "ObjectUploader.tsx"
Cohesion: 0.20
Nodes (5): TermsCurrentResponse, TermsCurrentResponse, TermsCurrentResponse, InsertTermsDocument, TermsDocument

### Community 190 - "hubspotWorkflowAction.test.ts"
Cohesion: 0.07
Nodes (47): balanceCache, BalanceCacheEntry, checkGupshupBalance(), getGupshupMinBalanceFloorUsd(), GupshupBalanceCheck, invalidateGupshupBalanceCache(), notifyAdminsLowGupshupBalance(), credDoApp() (+39 more)

### Community 191 - "fileSignatureValidation.test.ts"
Cohesion: 0.25
Nodes (3): BmNoticeTipo, MultibmBmNotice, multibmBmNotices

### 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 197 - "multibmDailyLimitByBm.test.ts"
Cohesion: 0.13
Nodes (12): CONN_A, CONN_B, createCloudTemplateMock, deleteStaticCampaignLinkMock, generateStaticCampaignLinkMock, handleGenerateExamplesMock, sessionState, sourceBase (+4 more)

### Community 198 - "waHouse.ts"
Cohesion: 0.06
Nodes (32): aplicarPrefixoData(), deriveRolloutTemplateName(), hojeAAAAMMDD(), rolloutNameCandidates(), rolloutNameWithDigits(), processarSolicitacoesTemplate(), TemplateRequestWorkerResult, onMobile (+24 more)

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

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

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

### Community 209 - "hubspotWorkflowAction.test.ts"
Cohesion: 0.29
Nodes (4): buildApp(), enviarCalls, EnviarMensagemArgs, storageState

### Community 214 - "migrar-config-sinais.ts"
Cohesion: 0.48
Nodes (6): APLICAR, cifrar(), decifrar(), impressao(), lerEnv(), main()

### Community 216 - "CloudValidatedTemplate"
Cohesion: 0.17
Nodes (11): Cicatrizes desta casa, Fontes oficiais, Modelo de apelação, Níveis 3 e 4 — portfólio e conta de anúncios, Nível 2 — WABA restrita (caminho oficial, PT-BR), O que a Onsms pode e o que NÃO pode (medido 24/08/2026), Os 4 níveis (identificar ANTES de agir), Prevenção (+3 more)

### Community 217 - "buildInfo.ts"
Cohesion: 0.03
Nodes (130): ClientsTab(), ServicesTab(), CompositorTab(), GeneratorTab(), TwoStageTab(), SenderProfileSheet(), CampaignHandoffCard(), BotaoConverter() (+122 more)

### Community 220 - "metaCapability.ts"
Cohesion: 0.25
Nodes (6): DrawerContent, DrawerDescription, DrawerFooter(), DrawerHeader(), DrawerOverlay, DrawerTitle

### Community 222 - "segmented-control.tsx"
Cohesion: 0.21
Nodes (11): ByTemplate, CrmDispatchesResponse, CrmDispatchItem, DedupEvent, DedupStats, EnviosCrm(), formatDateTime(), formatPhone() (+3 more)

### Community 225 - "PageEditor"
Cohesion: 0.09
Nodes (27): compartilhaToken(), DisplayNameResult, dominioDe(), GENERICOS, gerarSugestao(), normalizar(), RESERVADAS, STOPWORDS (+19 more)

### Community 227 - "legal-publico.tsx"
Cohesion: 0.40
Nodes (5): LegalPublico(), LegalSlug, parseSections(), PublicLegalDocument, Section

### Community 228 - "GupshupTemplateRequest"
Cohesion: 0.17
Nodes (10): activeConfig(), buildSmsBatchBody(), initMkomSmsAdapter(), mkomSmsAdapter, sendSmsBatch(), SmsBatchResult, registerSmsAdapter(), SmsNormalizedEvent (+2 more)

### Community 234 - "whatsapp-message-preview.tsx"
Cohesion: 0.14
Nodes (14): aviso, destino, placeholders, publicar(), q(), raiz, destino, publicar() (+6 more)

### Community 235 - "optOutBlacklist.ts"
Cohesion: 0.29
Nodes (4): buildApp(), dispatchInfobipCampaignMock, sessionState, storageHandlers

### Community 236 - "optOutBlacklist.ts"
Cohesion: 0.14
Nodes (11): useCarousel(), ChartConfig, ChartContainer, ChartContext, ChartContextProps, ChartLegendContent, ChartTooltipContent, THEMES (+3 more)

### Community 237 - "KnowledgeBaseItem"
Cohesion: 0.27
Nodes (3): MultibmTemplateWithSubmissions, InsertMultibmTemplate, MultibmTemplate

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

### 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 246 - "SmsMessage"
Cohesion: 0.20
Nodes (6): Router(), RunbookEntry, RUNBOOKS, RunbooksIndex(), RunbookOnboarding(), UsinaWaCloud()

### Community 247 - "multibmSyncReconciliation.test.ts"
Cohesion: 0.24
Nodes (3): UserWithServices, InsertService, Service

### Community 249 - "InsertCampaign"
Cohesion: 0.60
Nodes (5): checar(), evento(), main(), postSigned(), sleep()

### Community 250 - "multibmTemplateSync.test.ts"
Cohesion: 0.16
Nodes (4): ContaCriada, BmClientAssignment, InsertUser, User

### Community 251 - "hover-card.tsx"
Cohesion: 0.33
Nodes (4): adminBranding, buildApp(), revendaBranding, storageHandlers

### Community 252 - "Central de Atendimento — regras de negócio e arquitetura"
Cohesion: 0.15
Nodes (12): 0. Por que este módulo existe, 1. Estado da conversa (derivado, não persistido), 2. Transições bot ↔ humano, 3. Colaboração e anti-colisão, 4. Envio de mensagem (gates, na ordem), 4b. Black-list (opt-out) no atendimento — **[DONO, 2026-08-06]**, 5. Escopo por papel, 6. Tempo real (SSE) (+4 more)

### Community 256 - "SmsReply"
Cohesion: 0.20
Nodes (5): db, dispatch(), sendMock, storageHandlers, Sub

### Community 257 - "templateMediaStorage.ts"
Cohesion: 0.15
Nodes (12): 1. Black-list de links (`server/blockedLinks.ts`, migration 079), 2. Template recategorizado some da criação, 3. Avisos da Meta por BM (`server/bmNotices.ts`, migration 080), 4. Link novo a cada lote + template a pedido do cliente, Como funciona agora, Fontes de verdade (plugável), Gerar o token Meta (System User) — passo a passo por BM, Guard de categoria de template (Multi-BM) (+4 more)

### Community 258 - "SmsReply"
Cohesion: 0.17
Nodes (10): BM_A, criarTemplateMock, deleteStaticCampaignLinkMock, enviar(), generateStaticCampaignLinkMock, handleGenerateExamplesMock, sessionState, sourceBase (+2 more)

### Community 262 - "moderationSampleFallback.test.ts"
Cohesion: 0.10
Nodes (44): requireAdminOrOperator(), alternarAtivoBotao(), alternarAtivoMidia(), alternarAtivoRodape(), alternarAtivoTexto(), atualizarBotao(), atualizarCategoria(), atualizarRodape() (+36 more)

### Community 263 - "verify-coexistence-echo.ts"
Cohesion: 0.06
Nodes (50): bloco(), Dict, linhasMeta(), montarDossie(), camposObrigatoriosRcs(), completarRcsComTronco(), EDITAVEIS, empresaSchema (+42 more)

### Community 265 - "templateRequestAsync.test.ts"
Cohesion: 0.18
Nodes (11): BM_A, criarEnviado(), criarTemplateMock, handleGenerateAssetsMock, handleGenerateExamplesMock, pedido(), rodarWorker(), sessionState (+3 more)

### Community 266 - "MultibmTemplate"
Cohesion: 0.12
Nodes (9): ProfileResponse, ClientBusinessProfile, UpsertClientBusinessProfileInput, buildApp(), handlers, profiles, sessionState, UserRow (+1 more)

### Community 267 - "moderationSampleFallback.test.ts"
Cohesion: 0.22
Nodes (5): db, infobipState, sessionState, storageHandlers, Sub

### Community 272 - "chatFormRoutes.test.ts"
Cohesion: 0.29
Nodes (7): AssetsResult, CopyResult, DEFAULT_FORM, postJson(), STATUS_LABELS, STATUS_VARIANT, TemplateGenerator()

### Community 274 - "HubspotExecuteOutcome"
Cohesion: 0.20
Nodes (7): buildApp(), criarTemplateMock, listarSendersFromApiMock, listarTemplatesPorWabaMock, sessionState, state, storageHandlers

### Community 276 - "BlocklistTerm"
Cohesion: 0.20
Nodes (7): buildApp(), db, infobipState, sessionState, storageHandlers, Sub, Tpl

### Community 277 - "ProhibitedTerm"
Cohesion: 0.13
Nodes (23): AdminTemplateBank(), ClientsTab(), ClientCallbackContact, ClientCallbackPayload, sendClientCallback(), cancelPausedGupshupCampaign(), computeGupshupFinalizationResults(), finalizarCampanhaGupshup() (+15 more)

### Community 278 - "multibmValidatedTemplates.test.ts"
Cohesion: 0.22
Nodes (7): buildApp(), criarCalls, handlers, infobipState, sessionState, St, validBody

### Community 279 - "slider.tsx"
Cohesion: 0.04
Nodes (62): InfobipSendResult, balanceCache, BalanceCacheEntry, BalanceCheck, checkMultibmBalance(), getMinBalanceFloor(), invalidateBalanceCache(), notifyAdminsLowBalance() (+54 more)

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

### Community 282 - "registerShortenerRoutes"
Cohesion: 0.50
Nodes (4): baixarCsv(), CONTACTS, get(), storageHandlers

### Community 283 - "gupshup-selfserve-teste.mts"
Cohesion: 0.29
Nodes (5): corpo, destination, params, source, t0

### Community 284 - "multibmDispatchPerContactParams.test.ts"
Cohesion: 0.12
Nodes (9): db, dispatch(), storageHandlers, Sub, db, dispatch(), enviarMensagemTemplateMock, SendCall (+1 more)

### Community 285 - "canSendAutomaticFreeForm"
Cohesion: 0.30
Nodes (9): asBag(), Bag, extractPortalId(), HubspotSmsPayload, ParseFailureReason, parseHubspotSmsPayload(), ParseResult, propValue() (+1 more)

### Community 287 - "aiMonthlyCap.ts"
Cohesion: 0.33
Nodes (3): sessionState, state, storageHandlers

### Community 288 - "smsParts.ts"
Cohesion: 0.39
Nodes (6): SmsEncoding, smsEncodingOf(), smsLengthOf(), smsPartsInfo, smsPartsOf(), root

### Community 290 - "templateBankRoutes.test.ts"
Cohesion: 0.29
Nodes (5): bankMock, REAL_JPEG, REAL_MP4, sessionState, storageHandlers

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

### Community 295 - "aiMonthlyCap.ts"
Cohesion: 0.21
Nodes (3): InsertCampaign, InsertTwoStageConfig, TwoStageConfig

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

### Community 299 - "hover-card.tsx"
Cohesion: 0.50
Nodes (3): SegmentedControl(), SegmentedControlProps, SegmentedOption

### Community 301 - "prohibitedTerms.ts"
Cohesion: 0.14
Nodes (25): createCloudTemplate(), uploadTemplateMediaHandle(), bodyStartsOrEndsWithVariable(), ButtonLike, containsPlaceholder(), IMAGE_EXTENSIONS, isHttpUrl(), META_LIMITS (+17 more)

### Community 302 - "pages.ts"
Cohesion: 0.31
Nodes (10): ALLOWED_ROLES, effectiveOwnerId(), forward(), forwardText(), mediaUpload, parseIdParam(), registerPagesRoutes(), requireAdmin() (+2 more)

### Community 303 - "relatorioEstadoFinal.test.ts"
Cohesion: 0.32
Nodes (7): CAMPAIGN_FINAL_STATUSES, isCampaignFinalStatus(), baixar(), CONTACTS, get(), sess, state

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

### Community 305 - "brPhoneMatchCandidates"
Cohesion: 0.25
Nodes (8): scripts, build, check, db:push, dev, start, test, test:watch

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

### Community 310 - "campanhaCloudLinkModes.test.ts"
Cohesion: 0.25
Nodes (5): cloudTemplates, connection, sessionState, state, storageHandlers

### Community 329 - "gupshupWebhook.test.ts"
Cohesion: 0.20
Nodes (5): avisarTelegramMock, finalizarCampanhaGupshupMock, handleInboundMessageMock, state, storageHandlers

### Community 333 - "readAtDimension.test.ts"
Cohesion: 0.33
Nodes (4): NormalizedStatus, normalizeStatus(), STATUS_MAPPING_VALUES, semMapa

### Community 349 - "permissions.ts"
Cohesion: 0.33
Nodes (6): CREATABLE_ROLES, hasPermission(), Permission, PERMISSIONS, REQUIRED_PARENT_ROLES, requirePermission()

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

### Community 352 - "buildInfo.ts"
Cohesion: 0.33
Nodes (3): BuildInfo, cached, { commit: _commit, source: _source }

## Knowledge Gaps
- **1934 isolated node(s):** `ModoBotoes`, `HeaderMode`, `TipoTemplate`, `ModoLink`, `Service` (+1929 more)
  These have ≤1 connection - possible missing edges or undocumented components.
- **130 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 `IStorage` connect `Storage Interface Methods` to `Database Storage Implementation`, `Account Management Page`, `Button and Alert Dialog UI`, `WABA Template Storage`, `User and Sender Assignment Storage`, `Infobip Config Storage`, `waCloudUsinaRoutes.ts`, `HubSpot Connection Storage`, `mediaLimits.ts`, `templateGenerator.ts`, `AI Client Settings Storage`, `HubSpot Alert Config Storage`, `Multi-BM Alert Config Storage`, `Multi-BM Config Storage`, `whatsapp-template-preview.tsx`, `HubSpot Timeline Template Storage`, `multibmDispatchPerContactParams.test.ts`, `multibmCampaignCreationAtomic.test.ts`, `fileSignatureValidation.test.ts`, `prohibitedTerms.ts`, `pages.ts`, `ClientBusinessProfile`, `sheet.tsx`, `bmNotices.ts`, `MultibmMessage`, `multibmBalanceGuard.ts`, `templateNaming.test.ts`, `ObjectUploader.tsx`, `waHouse.ts`, `smsParts.ts`, `permissions.ts`, `GupshupNotice`, `multibmDispatchResume.test.ts`, `templateMediaStorage.ts`, `moderationSampleFallback.test.ts`, `CloudConnectionAuthorization`, `metaMessagingWorker.test.ts`, `f2CapiPagamento.test.ts`, `webhookTokenTimingSafe.test.ts`, `slider.tsx`, `popover.tsx`, `KnowledgeBaseItem`, `MultibmTemplateRequest`, `RcsConfig`, `section-status-badge.tsx`, `metaTemplateRules.ts`, `prontidao.ts`, `multibmSyncReconciliation.test.ts`, `waOnsmsReceptivo.test.ts`, `multibmTemplateSync.test.ts`, `multibmSignature.ts`, `admin-services.tsx`, `MultibmTemplate`, `clientCallback.ts`, `sanitizeOutput.ts`, `prohibitedTerms.ts`, `GupshupConfig`, `optOutBlacklist.ts`, `multibmDispatchMarketing.test.ts`, `multibmDistributionStrategy.test.ts`, `waOnsmsReceptivo.test.ts`, `multibmDispatchResume.test.ts`, `aiMonthlyCap.ts`, `ColumnKeyword`, `SmsReply`, `SenderAssignment`, `ActivityLog`, `AccountServiceBalance`, `SenderProfile`, `GupshupNotice`, `GupshupBillingEvent`, `SecurityEvent`, `ClientBlacklistTrigger`, `verify-coexistence-echo.ts`, `CampaignTermConfirmation`, `HubspotAlertState`, `MultibmAlertState`, `TemplatePreset`, `MetaWebhookQueueItem`, `InsertMetaSignupSession`, `CreditTransaction`, `MultibmIgnoredWaba`, `UpdateCampaign`, `InsertCloudTemplate`, `InsertGupshupTemplate`, `HubspotSmsQueueItem`, `InsertHubspotSmsQueueItem`?**
  _High betweenness centrality (0.108) - this node is a cross-community bridge._
- **Why does `DatabaseStorage` connect `Database Storage Implementation` to `Storage Interface Methods`, `Account Management Page`, `Button and Alert Dialog UI`, `WABA Template Storage`, `User and Sender Assignment Storage`, `Infobip Config Storage`, `waCloudUsinaRoutes.ts`, `HubSpot Connection Storage`, `mediaLimits.ts`, `templateGenerator.ts`, `AI Client Settings Storage`, `HubSpot Alert Config Storage`, `Multi-BM Alert Config Storage`, `Multi-BM Config Storage`, `whatsapp-template-preview.tsx`, `HubSpot Timeline Template Storage`, `multibmDispatchPerContactParams.test.ts`, `multibmCampaignCreationAtomic.test.ts`, `fileSignatureValidation.test.ts`, `prohibitedTerms.ts`, `pages.ts`, `ClientBusinessProfile`, `sheet.tsx`, `bmNotices.ts`, `MultibmMessage`, `multibmBalanceGuard.ts`, `templateNaming.test.ts`, `ObjectUploader.tsx`, `waHouse.ts`, `smsParts.ts`, `permissions.ts`, `GupshupNotice`, `multibmDispatchResume.test.ts`, `templateMediaStorage.ts`, `moderationSampleFallback.test.ts`, `CloudConnectionAuthorization`, `metaMessagingWorker.test.ts`, `f2CapiPagamento.test.ts`, `webhookTokenTimingSafe.test.ts`, `slider.tsx`, `popover.tsx`, `KnowledgeBaseItem`, `MultibmTemplateRequest`, `RcsConfig`, `section-status-badge.tsx`, `metaTemplateRules.ts`, `prontidao.ts`, `multibmSyncReconciliation.test.ts`, `waOnsmsReceptivo.test.ts`, `multibmTemplateSync.test.ts`, `multibmSignature.ts`, `admin-services.tsx`, `MultibmTemplate`, `clientCallback.ts`, `sanitizeOutput.ts`, `prohibitedTerms.ts`, `GupshupConfig`, `optOutBlacklist.ts`, `multibmDispatchMarketing.test.ts`, `multibmDistributionStrategy.test.ts`, `waOnsmsReceptivo.test.ts`, `multibmDispatchResume.test.ts`, `aiMonthlyCap.ts`, `ColumnKeyword`, `SmsReply`, `SenderAssignment`, `ActivityLog`, `AccountServiceBalance`, `MultibmValidatedTemplate`, `SenderProfile`, `GupshupNotice`, `GupshupBillingEvent`, `SecurityEvent`, `.getUserById`, `ClientBlacklistTrigger`, `verify-coexistence-echo.ts`, `.listAllSendersWithStats`, `CampaignTermConfirmation`, `CannedResponse`, `HubspotAlertState`, `MultibmAlertState`, `TemplatePreset`, `.listCentralInbox`, `MetaWebhookQueueItem`, `InsertMetaSignupSession`, `CreditTransaction`, `MultibmIgnoredWaba`, `.getSenderProfile`, `UpdateCampaign`, `InsertCloudTemplate`, `InsertGupshupTemplate`, `.getMultibmMonitoring`, `.getCampaigns`, `.getServices`, `.attachSubmissions`, `HubspotSmsQueueItem`, `InsertHubspotSmsQueueItem`?**
  _High betweenness centrality (0.087) - this node is a cross-community bridge._
- **Why does `useToast()` connect `buildInfo.ts` to `Badge and Card UI`, `TemplateGeneratorConfig`, `use-atendimento-stream.ts`, `Reporting and Monitoring Types`, `Sidebar and Branding Context`, `registerRoutes`, `optOutBlacklist.ts`, `Template Utilities and Form UI`, `Sender Profile and Notices UI`, `Infobip Sender Storage`, `dashboard.tsx`, `scheduledDispatchWorker.test.ts`, `HubSpot Auth and Timeline`, `AI Agent Orchestration`, `chatFormRoutes.ts`, `Server Bootstrap and Blocklist`, `use-atendimento-stream.ts`, `toast.tsx`?**
  _High betweenness centrality (0.029) - this node is a cross-community bridge._
- **What connects `ModoBotoes`, `HeaderMode`, `TipoTemplate` to the rest of the system?**
  _1938 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Storage Interface Methods` be split into smaller, more focused modules?**
  _Cohesion score 0.009569377990430622 - nodes in this community are weakly interconnected._
- **Should `Database Storage Implementation` be split into smaller, more focused modules?**
  _Cohesion score 0.010752688172043012 - nodes in this community are weakly interconnected._
- **Should `NPM Runtime Dependencies` be split into smaller, more focused modules?**
  _Cohesion score 0.023529411764705882 - nodes in this community are weakly interconnected._