Documentation
Architecture

Architecture Overview

Pour les développeurs

How Orazaka is built: a Ports & Adapters (hexagonal) engine with a curated module topology. Read this to understand the moving parts before going deeper — the interactive 3D model above mirrors the same structure.

Architecture interactiveVue plein écran
Loading the 3D architecture…

Glisse pour pivoter · molette pour zoomer

🤖 Generated from code by scripts/generate-docs.mjs — do not hand-edit. Run orazaka docs build to refresh.

Modules

ModuleLayerInbound portsOutbound ports
orazaka-persistence-appframework——
krizaka-users-persistenceframework——
orazaka-coreframeworkAiClient, CatalogModelService, ChatSessionService, JobService, McpServiceAudioGeneratorClient, CapabilityProvider, ChatGeneratorClient, ChatMemoryStore, ImageGeneratorClient, InfrastructureStatusProvider, KnowledgeService, McpOrchestrator, ModelCatalogProvider, ModelEndpointResolver, PipelineConfigProvider, PlatformMcpServerProvider, PlatformToolConfigProvider, SemanticClassifierPort, TestShaperPort, ToolRegistry, UserCredentialsProvider, UserMcpServerProvider, ValidationPipelineRepository
orazaka-interceptorsframework——
orazaka-businessframework——
krizaka-users-coreframeworkApiKeyService, IdentityReconciliationService, IdentityService, PasswordRecoveryService, RateLimitProvider, TokenService, UserProfileProviderApiKeyRepositoryPort, AuthorityRepositoryPort, CryptographyPort, OAuth2ProviderVerifier, PasswordEventPublisher, PasswordResetTokenRepositoryPort, UserCredentialRepositoryPort, UserEventPublisher, UserInterceptionRepositoryPort, UserProfileRepositoryPort, UserRepositoryPort, VerificationTokenRepositoryPort
orazaka-toolsframework——
krizaka-billing-clientframework——
orazaka-studio-clientframework——
orazaka-conversation-serviceapp——
orazaka-edgeapp——
krizaka-users-serviceapp——
orazaka-automation-serviceapp——
orazaka-knowledge-serviceapp——
orazaka-job-serviceapp——
krizaka-billing-serviceapp——
orazaka-studio-serviceapp——
krizaka-notifications-serviceapp——
orazaka-worker-mediaapp——
orazaka-web-clientapp——
orazaka-web-adminapp——
orazaka-mobile-clientapp——
orazaka-cliapp——

Dependency edges

orazaka-persistence-app → krizaka-messaging
orazaka-persistence-app → orazaka-persistence-app-api
orazaka-persistence-app → orazaka-jobs-api
krizaka-users-persistence → krizaka-messaging
krizaka-users-persistence → krizaka-test-support
orazaka-core → krizaka-security
orazaka-core → orazaka-persistence-app-api
orazaka-interceptors → orazaka-core
orazaka-interceptors → krizaka-billing-api
orazaka-interceptors → orazaka-jobs-api
orazaka-business → orazaka-core
orazaka-business → orazaka-studio-api
orazaka-business → orazaka-studio-client
krizaka-users-core → krizaka-users-api
krizaka-users-core → krizaka-users-persistence
krizaka-users-core → krizaka-test-support
orazaka-tools → orazaka-core
krizaka-billing-client → krizaka-security
krizaka-billing-client → krizaka-billing-api
orazaka-studio-client → krizaka-security
orazaka-studio-client → orazaka-studio-api
orazaka-conversation-service → krizaka-security
orazaka-conversation-service → krizaka-users-client
orazaka-conversation-service → orazaka-assets
orazaka-conversation-service → krizaka-billing-client
orazaka-conversation-service → orazaka-core
orazaka-conversation-service → krizaka-users-api
orazaka-conversation-service → orazaka-jobs-api
orazaka-conversation-service → orazaka-tools
orazaka-conversation-service → orazaka-business
orazaka-conversation-service → orazaka-persistence-app
orazaka-conversation-service → orazaka-persistence-bridge
orazaka-conversation-service → orazaka-interceptors
orazaka-edge → krizaka-security
krizaka-users-service → krizaka-security
krizaka-users-service → krizaka-users-core
krizaka-users-service → krizaka-test-support
orazaka-automation-service → krizaka-messaging
orazaka-automation-service → krizaka-billing-client
orazaka-knowledge-service → krizaka-messaging
orazaka-knowledge-service → krizaka-security
orazaka-job-service → krizaka-messaging
orazaka-job-service → krizaka-security
orazaka-job-service → krizaka-users-client
orazaka-job-service → orazaka-assets
orazaka-job-service → krizaka-billing-client
orazaka-job-service → orazaka-core
orazaka-job-service → krizaka-users-api
orazaka-job-service → orazaka-jobs-api
orazaka-job-service → orazaka-tools
orazaka-job-service → orazaka-business
orazaka-job-service → orazaka-persistence-app
orazaka-job-service → orazaka-persistence-bridge
orazaka-job-service → orazaka-interceptors
krizaka-billing-service → krizaka-messaging
krizaka-billing-service → krizaka-security
krizaka-billing-service → krizaka-billing-api
krizaka-billing-service → krizaka-test-support
orazaka-studio-service → krizaka-messaging
orazaka-studio-service → krizaka-security
orazaka-studio-service → orazaka-studio-api
orazaka-studio-service → orazaka-jobs-api
orazaka-studio-service → krizaka-billing-api
orazaka-studio-service → krizaka-billing-client
krizaka-notifications-service → krizaka-messaging
krizaka-notifications-service → krizaka-notifications-api
krizaka-notifications-service → krizaka-test-support
orazaka-web-client → orazaka-conversation-service
orazaka-web-admin → orazaka-conversation-service
orazaka-mobile-client → orazaka-conversation-service
orazaka-cli → orazaka-conversation-service
orazaka-conversation-service → orazaka-worker-media
orazaka-worker-media → orazaka-persistence-app

Interceptor pipeline (DB-driven order)

#InterceptorEnabled
1UserContextResolver✅
2SystemContextInjector✅
3RagInterceptor✅
4EntitlementInterceptor✅
5McpInterceptor✅
6BrandContextInterceptor✅
7MemoryInterceptor✅
8RefinerInterceptor✅
9RouterInterceptor✅
9ToolInterceptor✅
10MediaInterceptor✅
11UserContextInterceptor✅

Messaging topology (AGENTS.md §6)

Exchanges

Queues

QueueExchangeBindingDLQ
krizaka.notifications.password-eventsundefinedevt.password.*krizaka.notifications.password-events.dlq
krizaka.notifications.requestsundefinedevt.notification.requestedkrizaka.notifications.requests.dlq
krizaka.notifications.user-eventsundefinedevt.user.*krizaka.notifications.user-events.dlq

Producers

ModuleExchangeRouting key
orazaka-studio-serviceorazaka.jobs(dynamic)
orazaka-studio-serviceorazaka.jobsjob.automation.approved

Consumers

ModuleQueue
krizaka-billing-client#entitlementInvalidationQueue.name
krizaka-billing-service#settlementQueue.name
krizaka-billing-service#unmeteredTurnQueue.name
krizaka-notifications-servicekrizaka.notifications.password-events
krizaka-notifications-servicekrizaka.notifications.requests
krizaka-notifications-servicekrizaka.notifications.user-events
orazaka-conversation-service#walletEventsQueue.name
orazaka-knowledge-serviceorazaka.jobs.rag
orazaka-studio-serviceorazaka.events.studio
orazaka-studio-serviceorazaka.events.studio.capability
orazaka-studio-serviceorazaka.events.studio.connector
orazaka-studio-serviceorazaka.events.studio.dlq
orazaka-studio-serviceorazaka.events.studio.subscription

Présentation du produit →

Sur cette page