Made Open

Service Reference — Made Open Hub

Complete inventory of all services instantiated in apps/hub/src/main.ts. Services are grouped by capability area and listed in startup order.

Count: 150+ service instances across 86 service directories. 9,180+ tests (6,158 hub + 3,022 web). 28 AI agent tools. 8 connector plugins. 8 context resolvers.


Core Platform

These services form the foundation required for the MVP demo (intelligent call router).

ServicePurposeKey MethodsDependenciesStatus
EventBusNATS JetStream client — publish/subscribe for all eventsconnect(), ensureStreams(), publish(), subscribe(), drain()NATS URLactive
DataServicePostgreSQL CRUD via Supabase client — all entity operationsquery(), getById(), insert(), update(), delete(), setLineageService()Supabase URL + keyactive
PrivacyEnginePII scanning, consent enforcement, data anonymisationscan(), enforce(), anonymise()DataService, EventBusactive
AuditServiceAppend-only audit log — subscribes to events, records all accessstart(), stop(), log()DataService, EventBusactive
PolicyServiceZero-trust access control — evaluates policies before every operationevaluate(), enforce(), checkAccess()DataService, PrivacyEngine, AuditServiceactive
SearchServiceMeilisearch indexing + full-text query with cache and circuit breakerensureIndexes(), bulkIndexEntities(), search()Meili URL + key, CacheService, CircuitBreakerServiceactive
PluginManagerV8 isolate sandbox — loads, runs, and monitors pluginsloadPlugin(), executePlugin(), getPluginHealth()plugins directory, EventBus, DataServiceactive
PluginRegistryServicePlugin catalog + ratings — seeds built-in pluginsseedBuiltinPlugins(), register(), search()DataService, PluginManager, EventBusactive
ETLServiceRaw connector data → unified entity model via event-driven pipelinestart(), stop(), transform()EventBus, DataService, PluginManageractive
EmbeddingPipelineServiceAuto-embed entities on data.Entity* events using AI modelsstart(), stop()EventBus, DataService, AI configactive
ChannelServiceBidirectional communication — routes calls/SMS through channel pluginsstart(), stop(), send(), route()EventBus, PluginManageractive
RulesServiceDSL evaluation engine — matches events against rules, fires actionsstart(), stop(), evaluate()EventBus, DataService, ChannelService, PolicyService, StreamProcessingService, RuleAnalyticsServiceactive
WorkflowServiceMulti-step workflow execution (definitions + runs)start(), stop(), execute()EventBus, DataService, ChannelServiceactive
IntentionsServiceFuture-plane: schedule and execute user intentions via pg-bossstart(), stop(), create()DataService, PgBoss, EventBusactive
ConnectorServiceSchedule + manage connector plugins (MS Graph, etc.)start(), stop()EventBus, PluginManager, PgBossactive

Present Plane

ServicePurposeKey MethodsDependenciesStatus
StreamProcessingServiceRedis-backed real-time event stream for present-plane processingstart(), stop(), process()EventBus, Redis (IORedis)active

Sovereign AI

ServicePurposeKey MethodsDependenciesStatus
DocumentIntelligenceServiceAI-powered document analysis (OCR, classification, extraction)analyse(), classify()DataService, EventBus, AgentConfigactive
ToolRegistryRegisters tools available to AI agents (search, docs, data)register(), getTool(), listTools()DataService, SearchService, DocumentIntelligenceService, ToolsServiceactive
AgentMemoryServicePersistent conversation memory for AI agentsstore(), recall(), summarise()DataServiceactive
MultiAgentOrchestratorCoordinates multiple specialised AI agents for complex tasksorchestrate(), delegate()AgentConfig, ToolRegistry, AgentMemoryServiceactive
AgentServicePrimary AI chat — LLM routing via OpenRouter/Ollama with RAGquery(), chat(), stream()AgentConfig, DataService, PolicyService, SearchService, ToolRegistry, AgentMemoryService, CacheServiceactive

Federation

ServicePurposeKey MethodsDependenciesStatus
DIDServiceDecentralised Identifier (DID) creation and resolutioncreate(), resolve(), update()DataService, HUB_URLactive
VCServiceVerifiable Credential issuance and verificationissue(), verify(), revoke()DataService, DIDServiceactive
DIDCommServiceDIDComm v2 encrypted messaging between DIDssend(), receive(), encrypt()DataService, DIDServiceactive
ActivityPubServiceActivityPub federation — inbox/outbox, follow, activitiessendActivity(), receiveActivity(), follow()DataService, EventBus, DIDService, HUB_URLactive
FederationServiceUnified federation facade — coordinates AP, DID, VC, DIDCommstart(), stop(), federate()ActivityPubService, DIDService, VCService, DIDCommServiceactive

Marketplace + Reputation

ServicePurposeKey MethodsDependenciesStatus
MarketplaceServiceData product marketplace — list, search, transactlist(), search(), purchase()DataService, EventBus, SearchService, PolicyServiceactive
DataProductBuilderCreate privacy-preserving data products from user databuild(), package()DataService, PolicyServiceactive
ReputationServiceMulti-domain trust scoring with VC-backed attestationsscore(), attest(), decay()DataService, EventBus, VCServiceactive
ResourceCoordinationServiceOffer/Need matching, sharing economy exchange workflowsoffer(), match(), exchange()DataService, EventBus, DIDCommServiceactive

Governance

ServicePurposeKey MethodsDependenciesStatus
TimeBankServiceTime-based credit system — earn, spend, transfer time creditscredit(), debit(), balance()DataService, EventBusactive
DisputeServiceDispute resolution workflow with VC-based evidencefile(), arbitrate(), resolve()DataService, EventBus, VCServiceactive
ModerationServiceCommunity content moderation — reports, actions, appealsreport(), moderate(), appeal()DataService, EventBusactive
DAOServiceDAO lifecycle — create, manage, membershipcreate(), join(), leave()DataService, EventBusactive
ProposalServiceProposal creation and lifecycle managementcreate(), advance(), close()DataService, EventBus, DAOServiceactive
VotingServiceVoting mechanics — cast, tally, quorumcast(), tally(), checkQuorum()DataService, EventBus, ProposalServiceactive

Web3

ServicePurposeKey MethodsDependenciesStatus
WalletServiceCrypto wallet management — key derivation, signingcreate(), sign(), getBalance()DataService, EventBuswired
TimeCreditBridgeServiceBridge time bank credits to on-chain tokens (Polygon/ETH)bridge(), withdraw(), sync()DataService, EventBus, TimeBankService, SmartContractConfigswired

WebRTC Calling + Federated Marketplace

ServicePurposeKey MethodsDependenciesStatus
TwilioCallingServiceWebRTC browser-to-phone calling via TwiliogenerateToken(), handleInbound(), dial()TwilioConfig, DataService, EventBusactive
FederatedMarketplaceServiceCross-instance marketplace federation via ActivityPubpublish(), discover(), transact()DataService, EventBus, MarketplaceService, ActivityPubServiceactive

Push Notifications + Webhooks

ServicePurposeKey MethodsDependenciesStatus
NotificationServicePush notifications (FCM) + in-app notificationsstart(), stop(), send(), subscribe()DataService, EventBus, FCM keyactive
OutboundWebhookServiceDeliver events to external webhook endpoints with retrystart(), stop(), register(), deliver()DataService, EventBusactive

Real-Time Collaboration

ServicePurposeKey MethodsDependenciesStatus
PresenceServiceUser online/offline presence via Supabase RealtimesetPresence(), getPresence(), subscribe()DataService, EventBus, Supabase URL + keyactive

Document Intelligence + Plugin Marketplace

ServicePurposeKey MethodsDependenciesStatus
(PluginRegistryService)(listed above in Core Platform — instantiated there for startup order)
(DocumentIntelligenceService)(listed above in Sovereign AI — instantiated there for agent dependency)

Scheduling + Advanced Rules

ServicePurposeKey MethodsDependenciesStatus
RuleAnalyticsServiceTrack rule execution metrics (hit counts, latency, outcomes)record(), query(), topRules()DataServiceactive
RuleTemplateServicePre-built rule templates — seed, browse, instantiateseedTemplates(), list(), instantiate()DataServiceactive
ScheduledJobServiceCron-like scheduled job execution (exports, emails, cleanup)start(), stop(), schedule(), run()DataService, EventBus, ExportService, EmailService, SessionServiceactive

Performance + Observability

ServicePurposeKey MethodsDependenciesStatus
CacheServiceIn-memory LRU cache with TTL and automatic pruningget(), set(), invalidate(), clear(), stopPruneTimer()config (ttlMs, maxSize)active
MetricsServicePrometheus-compatible metrics collectionincrement(), histogram(), gauge(), serialize()noneactive

Resilience

ServicePurposeKey MethodsDependenciesStatus
RateLimiterServicePer-endpoint rate limiting with configurable windowscheck(), consume(), reset()rate limit configsactive
CircuitBreakerServiceCircuit breaker pattern for external service callsregister(), execute(), getState()breaker configsactive

Event Sourcing

ServicePurposeKey MethodsDependenciesStatus
EventStoreServiceImmutable event store — append, replay, time-travel queriesappend(), replay(), getStream()DataServiceactive

Streaming + SSE

ServicePurposeKey MethodsDependenciesStatus
SseServiceServer-Sent Events — real-time push to browsers via NATS bridgestartHeartbeat(), stopHeartbeat(), connectToNats(), subscribe()EventBusactive
StreamingAgentServiceStream AI agent responses token-by-token via SSEstream(), cancel()AgentConfig, SseService, PolicyServiceactive
ActivityFeedServiceReal-time activity feed — aggregates events into user-facing feedstart(), stop(), getFeed()DataService, EventBus, SseServiceactive

Multi-Tenancy

ServicePurposeKey MethodsDependenciesStatus
OrgServiceOrganisation CRUD, membership, tenant isolationcreate(), addMember(), getOrg()DataServiceactive
UsageServicePer-org usage tracking and meteringrecord(), query(), summary()DataServiceactive

Developer API

ServicePurposeKey MethodsDependenciesStatus
OAuthServiceOAuth2 authorization server — app registration, token issuanceregisterApp(), authorize(), token(), revoke()DataServiceactive
ServicePurposeKey MethodsDependenciesStatus
VectorSearchServicepgvector-based semantic similarity searchsearch(), findSimilar()DataServiceactive
HybridSearchServiceCombines Meilisearch full-text + vector semantic searchsearch(), rank()SearchService, VectorSearchServiceactive
SavedSearchServicePersistent saved searches with SSE-powered live updatessave(), execute(), subscribe()DataService, HybridSearchService, SseServiceactive
RecommendationEngineAI-powered entity recommendations from vectors + plugin datarecommend(), train()DataService, VectorSearchService, PluginRegistryServiceactive

Data Portability

ServicePurposeKey MethodsDependenciesStatus
VCardFormatterFormat contacts as vCard (.vcf)format(), parse()noneactive
ICalFormatterFormat events as iCalendar (.ics)format(), parse()noneactive
CsvFormatterFormat entities as CSVformat(), parse()noneactive
ExportServiceOrchestrate data export in multiple formatsexport(), schedule()DataService, VCardFormatter, ICalFormatter, CsvFormatteractive
ImportServiceImport data from vCard, iCal, CSV with event publishingimport(), validate()DataService, VCardFormatter, ICalFormatter, CsvFormatter, EventBusactive

Preferences

ServicePurposeKey MethodsDependenciesStatus
UserPreferencesServiceUser settings — theme, locale, notification preferencesget(), set(), reset()DataServiceactive

Error Tracking + Email

ServicePurposeKey MethodsDependenciesStatus
ErrorTrackingServiceAggregate and query application errorstrack(), query(), acknowledge()DataServiceactive
EmailServiceTransactional email deliverysend(), queue(), retry()DataServiceactive

Billing + Feature Flags

ServicePurposeKey MethodsDependenciesStatus
BillingServiceStripe billing — subscriptions, invoices, webhookscreateCustomer(), subscribe(), handleWebhook()DataService, Stripe keyswired
FeatureFlagServiceFeature flag evaluation with seeded defaultsseedFlags(), isEnabled(), setFlag()DataServiceactive

Security + Analytics

ServicePurposeKey MethodsDependenciesStatus
JwtServiceJWT creation and verificationsign(), verify(), decode()JWT secretactive
RbacServiceRole-based access control evaluationcheck(), assign(), revoke()noneactive
SessionServiceUser session management — create, validate, revokecreate(), validate(), revoke()DataService, JwtServiceactive
AnalyticsServiceUser behaviour analytics — track events, query metricstrack(), query(), funnel()DataServiceactive

Data Lineage

ServicePurposeKey MethodsDependenciesStatus
LineageServiceField-level data provenance tracking across sourcesrecord(), trace(), getLineage()DataServiceactive
EntityMergeServiceDeduplicate and merge person/org recordsdetect(), merge(), split()DataService, LineageService, EventBusactive

Tools

ServicePurposeKey MethodsDependenciesStatus
ToolsServiceExecute tools/jobs requested by AI agentsexecute(), getStatus()DataService, EventBusactive

Audio Intelligence

ServicePurposeKey MethodsDependenciesStatus
AudioETLServiceTranscribe, analyse, and index audio via AI modelsstart(), stop(), transcribe()EventBus, DataService, Supabase config, Ollama/OpenRouteractive
VoiceCommandServiceInterpret voice commands and dispatch as jobsstart(), stop(), interpret()EventBus, Supabase config, PgBoss, Ollamaactive

Device Control

ServicePurposeKey MethodsDependenciesStatus
DeviceCommandServiceSend OS-level commands to connected devicesstart(), stop(), send(), getStatus()EventBus, Supabase config, PgBossactive

Unified Scheduling

ServicePurposeKey MethodsDependenciesStatus
SchedulerServiceOne-shot, cron, and iCal RRULE scheduling via pg-bossscheduleAt(), scheduleAfter(), scheduleRecurring(), scheduleRrule(), start(), stop()DataService, PgBoss, EventBusactive

Knowledge Graph

ServicePurposeKey MethodsDependenciesStatus
LightRAGBridgeServiceEvent-driven bridge forwarding entity text to LightRAG for knowledge graph extractionstart(), stop(), indexDocument(), query(), getGraphData(), backfill()EventBus, DataService, LightRAG URLactive
WikiServicePersistent compiled LLM wiki — pages, links, search and updatessearch(), get(), upsert(), link()DataServiceactive

Inventory

ServicePurposeKey MethodsDependenciesStatus
InventoryServiceInventory items, spaces, maintenance records, and inventory eventslistItems(), createItem(), listSpaces(), recordMaintenance()DataService, EventBusactive

Deep Communications

Nine services that form the unified communications layer — inbox materialisation, voice line management, voicemail, call transcription, full email compose/send, email AI intelligence, video meetings, contact timeline, and push delivery.

ServicePurposeKey MethodsDependenciesStatus
InboxServiceUnified inbox — materialises every call, SMS, email, and voicemail as a typed inbox_items row; handles read/star/archivestart(), stop(), getInbox(), getUnreadCount(), markRead(), markStarred(), archive(), materializeInboxItem(), getContactTimeline(), resolveContact()EventBus, DataServiceactive
PhoneLineServiceManage named Twilio phone lines per user — CRUD, DND schedule, VIP bypassstart(), stop(), listLines(), getLine(), createLine(), updateLine(), isDndActive(), isVipBypass()DataService, EventBusactive
VoicemailServiceStore Twilio voicemail webhooks as voicemails rows; manage call recordingsstart(), stop(), listVoicemails(), markListened(), handleVoicemailWebhook(), saveRecording(), getRecording(), listRecordingsForCall()DataService, EventBusactive
TranscriptionServicePost-call pipeline — stores transcripts and AI analyses; auto-triggers on communication.CallEndedstart(), stop(), saveTranscript(), getTranscriptBySession(), saveAnalysis(), getAnalysisBySession()DataService, EventBusactive
EmailServiceFull email client — folders, threads, compose/send/reply/forward, drafts, signatures, MS Graph integrationstart(), stop(), listFolders(), listThreads(), getThread(), sendEmail(), replyToEmail(), forwardEmail(), saveDraft(), moveMessages(), deleteMessage(), listSignatures(), createSignature(), updateSignature(), deleteSignature()EventBus, DataService, SearchService, PluginManageractive
EmailAIServiceLLM-powered email intelligence — thread summarisation, suggested replies, priority scoring, follow-up detectionstart(), stop(), summarizeThread(), suggestReplies(), scoreThreadPriority(), detectFollowUps()EventBus, DataService, llmCall fnactive
MeetingServiceVideo meeting lifecycle — create rooms, generate Twilio video tokens, manage participants, control recordingstart(), stop(), createMeeting(), getMeeting(), listMeetings(), joinMeeting(), endMeeting(), sendInvites(), getParticipants(), startRecording(), stopRecording(), getAnalysis()EventBus, DataService, TwilioCallingServiceactive
ContactTimelineServicePer-contact interaction timeline, notes CRUD, contact merging and merge suggestions, relationship labels, dashboard widgetsstart(), stop(), getTimeline(), createNote(), listNotes(), updateNote(), deleteNote(), mergeContacts(), getMergeSuggestions(), setRelationshipLabel(), getRecentContacts(), getMissedComms(), getCommStats()EventBus, DataServiceactive
PushNotificationServiceFCM device push delivery — token registration and targeted push on call, SMS, email, meeting, and voicemail eventsstart(), stop(), registerToken(), unregisterToken(), getActiveTokens(), sendToUser()DataService, EventBus, FCM server keyactive

Events — Deep Communications

Published:

EventPublisherPayload highlights
inbox.ItemCreatedInboxServiceinboxItemId, type, channelType, direction, contactId
inbox.ItemUpdatedInboxServiceinboxItemIds, changedFields
contact.ResolvedInboxServiceidentifier, identifierType, contactId
contact.SuggestionCreatedInboxServiceidentifier, identifierType, sourceEventType
data.EntityCreatedPhoneLineService, ContactTimelineServiceentityType, entityId
communication.VoicemailReceivedVoicemailServicevoicemailId, fromNumber, durationSeconds, phoneLineId
ai.CallAnalyzedTranscriptionServiceanalysisId, callSessionId, sentiment, actionItemCount, keyTopics
email.SentEmailServicemessageId, to, subject
email.DraftSavedEmailServicemessageId
ai.EmailSuggestedEmailAIServicethreadId, priority, followUps
video.MeetingCreatedMeetingServicemeetingId, title, roomName, scheduledStart
video.MeetingStartedMeetingServicemeetingId, roomName
video.MeetingEndedMeetingServicemeetingId, roomName
contact.MergedContactTimelineServiceprimaryId, mergedId, ownerId

Subscribed:

EventSubscriberAction
communication.CallReceivedInboxServiceMaterialise call inbox item
communication.CallEndedInboxService, TranscriptionServiceUpdate inbox item; trigger post-call pipeline
communication.MessageReceivedInboxServiceMaterialise SMS inbox item
communication.MessageSentInboxServiceMaterialise outbound SMS inbox item
email.ReceivedEmailAIService, PushNotificationServiceScore priority + detect follow-ups; send push
communication.CallIncomingPushNotificationServiceSend incoming-call push
communication.SmsReceivedPushNotificationServiceSend SMS push
video.MeetingStartedPushNotificationServiceSend meeting-starting push
communication.VoicemailReceivedPushNotificationServiceSend voicemail push

Unified Life Architecture

Foundation (5 services):

  • ObservationService — Universal observation spine. Every domain insert creates an observation indexed by time, location, source, and entity.
  • EntityRegistryService — Unified addressing with stable URIs for every entity (persons, devices, items, collections, dependents).
  • ContextEngineV2 — Derived context with confidence decay. Computes location, activity, social, physiological, environmental, temporal, digital, and availability dimensions.
  • ContextResolverService — Orchestrates 8 typed resolvers (TemporalResolver, LocationResolver, ActivityResolver, DigitalResolver, SocialResolver, PhysiologicalResolver, EnvironmentalResolver, AvailabilityResolver) that each hydrate a specific context dimension from the observation spine.
  • ReactionLogService — Append-only immutable log of all system actions with authorization chains and context snapshots.

Intentions & PM (3 services):

  • IntentionService — Declarative persistent goals (goal, aspiration, commitment, maintenance, consent). Progress tracking against observation metrics.
  • ProjectService — Projects, milestones, task management with status workflows, subtasks, dependencies, and time tracking.
  • HabitService — Recurring behavior tracking with streak management, completion logging, and reminder conditions.

Integration (3 services):

  • CorrelationEngine — Time-window queries across the observation spine. Cross-domain pattern detection.
  • RelationshipService — First-class relationships with event timelines and health scoring based on interaction frequency.
  • ConnectorBridgeService — Routes connector plugin results into the observation spine. Manages plugin lifecycle for Fitbit, Google Fit, Plaid, Nutritionix, USDA FoodData, and device sensor connectors.

Life Domains (13 services):

  • HealthService — Health metrics (heart rate, blood pressure, weight, etc.), symptoms, and sleep records.
  • FitnessService — Workout activities with GPS tracks, splits, heart rate zones, and aggregate stats.
  • NutritionService — Meals, meal items, water intake, daily nutrition summaries, dietary preferences.
  • FinanceService — Financial accounts, transactions, budgets, subscriptions with spending analysis.
  • CollectionService — Typed collections with templates (recipes, reading lists, wine cellar, plant care) and custom fields.
  • JournalService — Journal entries with mood tracking, energy levels, and mood history.
  • MediaService — Media consumption tracking (books, podcasts, movies, etc.) with progress and ratings.
  • KnowledgeService — Knowledge captures (notes, bookmarks, highlights, quotes, annotations).
  • EnvironmentService — Environmental readings (weather, air quality, noise, light) with current state.
  • HomeService — Home/IoT readings, utility bills, energy stats.
  • LearningService — Learning subjects, study sessions, certifications with progress tracking.
  • CaptureService — Computer activity capture with user-defined rules, screen captures, clipboard, input metrics.
  • DependentService — Dependents (children, pets, elderly) with entity registry integration.

Connector Plugins

Eight sandboxed V8-isolate connector plugins in apps/hub/plugins/connectors/. Each declares a plugin.json manifest with explicit network permissions and is routed by ConnectorBridgeService.

PluginSourceData Landed
ms-graphMicrosoft Exchange/Graphcontacts, calendar events, email threads
twilioTwilio REST APIcall logs, SMS history, recordings
fitbitFitbit Web APIactivity, heart rate, sleep, weight
google-fitGoogle Fit REST APIactivity sessions, step counts, heart rate
plaidPlaid Link APIfinancial accounts, transactions, balances
nutritionixNutritionix APIfood search, meal logging, nutrition data
usda-foodUSDA FoodData Centralfood database, nutritional values
deviceMade Open Android/Windows agentGPS location, sensor readings, device commands

AI Agent Tools (ToolRegistry)

Twenty-eight tools registered in ToolRegistry for use by AgentService and MultiAgentOrchestrator:

ToolPurpose
search_contactsFull-text search across contacts
get_contactRetrieve a single contact by ID
search_messagesSearch across messages and conversations
list_rulesList automation rules for the user
search_documentsSearch uploaded and indexed documents
analyze_documentAI-powered document analysis (OCR, extraction, classification)
search_entitiesSearch the entity registry by type and query
process_fileProcess a file using the ToolsService (PDF, image, etc.)
list_tool_capabilitiesList available ToolsService operations
search_wikiSearch compiled LLM wiki knowledge entries
update_wikiAdd or update a wiki entry
get_contact_timelineRetrieve interaction timeline for a contact
search_commsSearch across all communications (calls, SMS, email)
get_unread_countGet unread inbox item count per channel type
get_call_summaryGet AI-generated summary for a call session
send_messageSend an outbound message via a channel plugin
query_observationsQuery the observation spine with flexible filters
get_time_windowFetch observations in a time window across domains
link_observationsCreate relationships between observations
log_observationLog a new observation on behalf of the user
get_current_contextGet the latest resolved context snapshot for the user
get_context_historyGet context snapshots over a time range
list_intentionsList active intentions with progress status
check_intention_progressCheck metric progress toward a specific intention
find_correlationsRun cross-domain correlation queries
get_daily_timelineGet ordered observation timeline for a day
get_habit_statusGet streak and completion status for a habit
get_health_summaryAggregate health metrics summary for a period

Startup Order

Services must start in dependency order. The startup sequence in main.ts:

  1. Infrastructure — CacheService, MetricsService, RateLimiterService, CircuitBreakerService
  2. Event Bus — EventBus.connect() + ensureStreams()
  3. Job Queue — PgBoss.start() (if DATABASE_URL set)
  4. Data Service — DataService (Supabase client)
  5. Policy Layer — PrivacyEngine → AuditService.start() → PolicyService
  6. Search — SearchService.ensureIndexes() + backfill
  7. Plugin Manager — PluginManager + load conditional plugins (MS Graph, Twilio)
  8. Plugin Registry — PluginRegistryService.seedBuiltinPlugins()
  9. ETL + Embedding — ETLService.start() + EmbeddingPipelineService.start()
  10. Stream Processing — StreamProcessingService.start() (if Redis available)
  11. Communication — ChannelService.start()
  12. Rules — RuleAnalyticsService + RuleTemplateService.seedTemplates() → RulesService.start()
  13. Workflow + Intentions — WorkflowService.start() + IntentionsService.start()
  14. Connectors — ConnectorService.start() (if PgBoss available)
  15. AI Layer — DocumentIntelligenceService + ToolsService + ToolRegistry + AgentMemoryService + MultiAgentOrchestrator + AgentService
  16. Federation — DIDService + VCService + DIDCommService + ActivityPubService → FederationService.start()
  17. Marketplace + Governance — MarketplaceService, DataProductBuilder, ReputationService, ResourceCoordinationService, TimeBankService, DisputeService, ModerationService, DAOService, ProposalService, VotingService
  18. Web3 — WalletService + TimeCreditBridgeService
  19. Calling — TwilioCallingService (if Twilio creds) + FederatedMarketplaceService
  20. Notifications — NotificationService.start() + OutboundWebhookService.start()
  21. Presence — PresenceService
  22. Export Formatters — VCardFormatter + ICalFormatter + CsvFormatter → ExportService
  23. Event Store — EventStoreService
  24. SSE + Streaming — SseService.startHeartbeat() + connectToNats() → StreamingAgentService + ActivityFeedService.start()
  25. Org + Usage — OrgService + UsageService
  26. OAuth — OAuthService
  27. Advanced Search — VectorSearchService + HybridSearchService + SavedSearchService + RecommendationEngine
  28. Import — ImportService
  29. Preferences — UserPreferencesService
  30. Error + Email — ErrorTrackingService + EmailService
  31. Billing + Flags — BillingService + FeatureFlagService.seedFlags()
  32. Security + Analytics — JwtService + RbacService + SessionService + AnalyticsService
  33. Lineage — LineageService + EntityMergeService → DataService.setLineageService()
  34. Audio — AudioETLService.start() + VoiceCommandService.start()
  35. Device — DeviceCommandService.start()
  36. Knowledge Graph — LightRAGBridgeService.start() (subscribes to entity events, forwards to LightRAG)
  37. Scheduled Jobs — ScheduledJobService.start() (requires EmailService + SessionService)
  38. HTTP Server — buildServer() + listen()

Graceful Shutdown Order

Shutdown reverses the startup, stopping consumer services first:

  1. HTTP server closes
  2. ActivityFeedService, SseService heartbeat stop
  3. NotificationService, OutboundWebhookService stop
  4. AuditService, FederationService stop
  5. RulesService, ChannelService stop
  6. AudioETLService, VoiceCommandService, DeviceCommandService stop
  7. ETLService, EmbeddingPipelineService stop
  8. ScheduledJobService stop
  9. PgBoss stop
  10. EventBus drain
  11. CacheService clear + stop prune timer