Sonarist project

Sonarist / Design system

Documentation v1.0.0 · Work in progress · UI prototype with separate server foundations

Design system contents

Implementation

Source inventory and ownership

Trace documented components to their actual source files and the exact audited baseline.

On this page

Baseline

Source repository: ../makeable-helpdesk. Commit: 10f45d1377b591eba0ab2889504d8cbf8c11327c. Audit date: 2026-10-08. The file hashes include audited working-tree contents, so the commit alone is not sufficient if the source had local changes.

Audited source files

Audited source files
PathExported functions
app/(helpdesk)/[[...route]]/page.tsxHelpdeskPage
app/(helpdesk)/layout.tsxHelpdeskLayout
app/api/internal/jobs/drain/route.tsPOST
app/api/webhooks/brevo/inbound/route.tsPOST
app/api/webhooks/brevo/transactional/route.tsPOST
app/api/webhooks/stripe/route.tsPOST
app/globals.cssModule/configuration/contract
app/layout.tsxRootLayout
components/app-header.tsxAppHeader
components/helpdesk-app.tsxHelpdeskApp
components/inbox/composer.tsxComposer
components/inbox/contact-drawer.tsxContactDrawer
components/inbox/conversation-detail.tsxConversationDetail
components/inbox/conversation-details-dialog.tsxConversationDetailsDialog
components/inbox/conversation-list.tsxConversationList
components/inbox/follow-up-dialog.tsxFollowUpDialog
components/inbox/merge-dialog.tsxMergeDialog
components/inbox/message-details-dialog.tsxMessageDetailsDialog
components/inbox/new-message-view.tsxNewMessageView
components/inbox/queue-menu.tsxQueueMenu
components/inbox/thread-participants.tsxThreadParticipants
components/sidebar.tsxSidebar
components/sonarist-logo.tsxSonaristLogo
components/theme-toggle.tsxThemeToggle
components/ui/centered-subnav.tsxCenteredSubnav
components/ui/centered-view-header.tsxCenteredViewHeader
components/ui/dialog.tsxDialog
components/ui/email-address-field.tsxEmailAddressField
components/ui/icon.tsxIcon
components/ui/multi-email-address-field.tsxMultiEmailAddressField
components/ui/primitives.tsxButton, IconButton, Select, IconSelect, Avatar, Badge, EmptyState
components/views/billing-settings.tsxBillingSettings
components/views/email-domains-settings.tsxEmailDomainsSettings
components/views/people-view.tsxPeopleView
components/views/person-editor-dialog.tsxPersonEditorDialog
components/views/person-profile-view.tsxPersonProfileView
components/views/settings-editors.tsxCompanyEditor, ProductEditor, InboxEditor, SignatureEditor, KitConnectionEditor
components/views/settings-view.tsxSettingsView
components/views/team-view.tsxTeamView
db/migrations/0001_foundation.sqlModule/configuration/contract
db/migrations/0002_billing.sqlModule/configuration/contract
db/runtime-roles.sqlModule/configuration/contract
helpdesk-notes/Billing Infrastructure.mdModule/configuration/contract
helpdesk-notes/Email Domain Infrastructure.mdModule/configuration/contract
helpdesk-notes/Infrastructure Architecture.mdModule/configuration/contract
helpdesk-notes/Infrastructure Setup Runbook.mdModule/configuration/contract
helpdesk-notes/Project Brief.mdModule/configuration/contract
lib/brand.tsModule/configuration/contract
lib/helpers.tscn, getInbox, getProductByInbox, getCompanyByInbox, getAssignee, getConversationContact, conversationMatchesScope
lib/mock-data.tsModule/configuration/contract
lib/routes.tsisConversationState, isSettingsTab, queuePath, conversationPath, senderReviewPath, referenceConversationPath, viewPath, settingsPath
lib/server/billing/checkout.tscreateAnnualCheckoutSession, createBillingPortalSession, enqueueSeatSync
lib/server/billing/summary.tsgetBillingSummary
lib/server/config/env.tsgetAppConfig, getDatabaseConfig, getBrevoConfig, getStorageConfig, getWorkerConfig, getStripeConfig, getSecurityConfig
lib/server/db/client.tsgetPlatformSql, getTenantSql, tenantTransaction, assertUuid
lib/server/db/migrations.tsModule/configuration/contract
lib/server/email/domains.tsbeginDomainSetup, requestDomainVerification, queueSenderSetup, ensureInboxForwardingRoute
lib/server/email/outbound.tsqueueReply
lib/server/jobs/process-attachments.tsprocessInboundAttachment
lib/server/jobs/process-billing.tssyncWorkspaceSeatQuantity
lib/server/jobs/process-domain.tsprocessDomainProvision, processDomainVerification, processSenderProvision
lib/server/jobs/process-email.tsprocessOutboundEmail
lib/server/jobs/process-stripe-events.tsprocessStripeEvent
lib/server/jobs/process-webhooks.tsprocessInboundReceipt, processTransactionalReceipt
lib/server/jobs/queue.tsclaimJobs, completeJob, failJob, retryDelaySeconds
lib/server/jobs/worker.tsdrainJobs
lib/server/providers/billing/stripe.tsgetStripeClient, getBillingProvider
lib/server/providers/billing/types.tsModule/configuration/contract
lib/server/providers/email/brevo.tsgetEmailProvider
lib/server/providers/email/types.tsModule/configuration/contract
lib/server/providers/storage/b2.tsgetObjectStorage
lib/server/providers/storage/types.tsattachmentObjectKey
lib/server/security/crypto.tsencryptSecret, decryptSecret, activeRoutingHash, allRoutingHashes, constantTimeEqual
lib/server/security/http.tsrequireBearerToken, readBoundedJson, safeRouteError
lib/server/webhooks/brevo-schemas.tsparseBrevoInbound, parseBrevoTransactional, mailboxAddress, mailboxName, referenceIds
lib/server/webhooks/ingest.tsingestBrevoInbound, ingestBrevoTransactional
lib/server/webhooks/stripe-ingest.tsingestStripeEvent
lib/types.tsModule/configuration/contract
next.config.tsModule/configuration/contract
package.jsonModule/configuration/contract

Public versus internal components

ConversationGroup, MessageCard, CollapsedMessage, SenderReviewBar and domain setup helpers are internal compositions. Their documented behavior belongs to the exported parent; do not import them as if they were exported package APIs. Sidebar exists in the repository but the current HelpdeskApp mounts AppHeader instead.

Source references

Source references
FileResponsibility
components/helpdesk-app.tsxCurrent shell
components/sidebar.tsxLegacy alternate shell; not current applied capture

Reference downloads

Source audit: 2026-10-08 · Revision 10f45d1377b5 · Documentation v1.0.0