Orazaka

Fonctionnement

Le parcours d'une requête.

Orazaka orchestre un flux cognitif modulaire, sécurisé et entièrement souverain. Suivez une requête à travers six étapes — de l'interface jusqu'au stockage.

PrésentationPortailSécuritéMoteurWorkersStockage

Guide de lecture

Orazaka, expliqué simplement.

Avant de plonger dans la carte, voici le modèle mental. Orazaka est un moteur d'orchestration d'IA que tu héberges toi-même : chaque requête traverse un pipeline déterministe, étape par étape, sans jamais quitter ton réseau.

SouverainTout s'exécute sur ton infrastructure. Aucune donnée n'est envoyée à un cloud tiers — conforme Loi 25 & RGPD.
DéterministePas de boîte noire : chaque requête suit un ordre d'intercepteurs explicite, reproductible et auditable.
ModulaireUne architecture hexagonale : chaque responsabilité — sécurité, mémoire, médias — est un module remplaçable.

Suivons une vraie requête.

« Résume ce contrat et signale les clauses non conformes à la Loi 25. »

Voici ce qui lui arrive, de ta question jusqu'à la réponse :

  1. Présentation

    Tu poses ta question depuis le client web, l'app mobile, le CLI ou la console d'administration.

    Dans le codeorazaka-web-clientorazaka-web-adminorazaka-mobile-clientorazaka-cli

    PourquoiQuatre portes d'entrée, un seul moteur derrière.

  2. Portail d'entrée

    L'edge reçoit chaque requête, échange une clé d'API contre un jeton de session et route par chemin : identité, facturation et studio vers leurs services, tout le reste vers le service de conversation.

    Dans le codeorazaka-edgeorazaka-conversation-service

    PourquoiUn point d'entrée unique et contrôlé : rien n'atteint un modèle directement.

  3. Sécurité & Métier

    Avant tout calcul, le jeton de session est vérifié (JWT sans état, krizaka-security) et l'intercepteur de droits contrôle ce que tu peux faire et ce que tu peux payer.

    Dans le codekrizaka-securitykrizaka-users-serviceorazaka-interceptors

    PourquoiLa sécurité et la gouvernance passent avant l'inférence — pas après.

  4. Moteur Cognitif

    Le cœur hexagonal, sans état, orchestre l'exécution de la requête et coordonne le flux de données.

    Dans le codeorazaka-businessorazaka-core

    PourquoiLe chef d'orchestre : reproductible à chaque appel.

  5. Workers & Pipeline

    Le tour traverse 5 intercepteurs non contournables, puis 8 intercepteurs configurés (mémoire, MCP, outils…) ; les jobs longs passent par RabbitMQ vers le service de jobs et le worker média.

    Dans le codeorazaka-interceptorsorazaka-job-serviceorazaka-worker-media

    PourquoiC'est ici que la « cognition » s'assemble, étape ordonnée après étape ordonnée.

  6. Stockage

    Sessions, mémoire vectorielle (pgvector) et identités sont stockées dans tes propres bases de données.

    Dans le codeorazaka-persistence-appkrizaka-users-persistence

    PourquoiTa donnée reste chez toi, du premier au dernier octet.

→ La réponse, validée localement, te revient. Zéro donnée n'a quitté ton réseau.

À toi d'explorer la carte vivante.
Survole une carte pour l'éclairerClique pour épingler le détailRecherche un composant par nom

La vraie carte

Chaque module, dans son anneau.

40 modules lus dans le réacteur Maven et le manifeste du workspace, rangés comme l'hexagone : les clients dehors, le cœur du domaine au milieu, les contrats et le kit Krizaka en dessous.

Sélectionne un module pour l'isoler : ce dont il dépend et ce qui dépend de lui restent allumés, reliés par des liens sur grand écran. Lecture de haut en bas — les dépendances pointent vers le cœur.

orazaka-core : utilise 2, utilisé par 6.

Clients4

Là où une personne pose sa question : le client web, la console d'administration, l'app mobile, le CLI.

Services & workers10

Ce qui tourne et se déploie : l'edge, les services Orazaka, les services Krizaka, le worker média.

Adaptateurs7

Comment l'intérieur atteint l'extérieur : persistance, clients HTTP typés, stockage chiffré des assets.

Application3

Autour du cœur : l'orchestration des cas d'usage, le pipeline d'intercepteurs, les outils (MCP, RAG).

Cœur du domaine2

Le centre de chaque hexagone : le moteur cognitif et l'identité. Les dépendances pointent ici.

orazaka-core

Cœur du domaine · Orazaka

Orazaka AI Orchestration Engine

Dépend de

Utilisé par

Contrats6

Interfaces et records de niveau 1 : la seule façon pour un contexte d'en appeler un autre.

Kit plateforme Krizaka8

Publié sur Maven Central : sécurité, messagerie (outbox, relances, lettres mortes), web, observabilité, et leurs quatre starters.

Version texte — 40 modules
Les modules et leurs dépendances de build
ModuleRôleDépôtVersionDépend deUtilisé par
orazaka-cliClientsorazaka-cli———
orazaka-mobile-clientClientsorazaka-mobile-client———
orazaka-web-adminClientsorazaka-web-admin———
orazaka-web-clientClientsorazaka-web-client———
orazaka-automation-serviceServices & workersorazaka-automation-service1.0.0-SNAPSHOTkrizaka-billing-client, krizaka-messaging—
orazaka-conversation-serviceServices & workersorazaka-conversation-service1.0.0-SNAPSHOTkrizaka-billing-client, krizaka-spring-boot-starter-observability, krizaka-spring-boot-starter-rabbitmq, krizaka-spring-boot-starter-security, krizaka-spring-boot-starter-web, krizaka-users-api, krizaka-users-client, orazaka-assets, orazaka-business, orazaka-core, orazaka-interceptors, orazaka-jobs-api, orazaka-persistence-app, orazaka-persistence-bridge, orazaka-studio-client, orazaka-tools—
orazaka-edgeServices & workersorazaka-edge1.0.0-SNAPSHOTkrizaka-security—
orazaka-job-serviceServices & workersorazaka-job-service1.0.0-SNAPSHOTkrizaka-billing-client, krizaka-messaging, krizaka-security, krizaka-users-api, krizaka-users-client, orazaka-assets, orazaka-business, orazaka-core, orazaka-interceptors, orazaka-jobs-api, orazaka-persistence-app, orazaka-persistence-bridge, orazaka-tools—
orazaka-knowledge-serviceServices & workersorazaka-knowledge-service1.0.0-SNAPSHOTkrizaka-messaging, krizaka-security—
orazaka-studio-serviceServices & workersorazaka-studio1.0.0-SNAPSHOTkrizaka-billing-api, krizaka-billing-client, krizaka-messaging, krizaka-security, orazaka-jobs-api, orazaka-studio-api—
orazaka-worker-mediaServices & workersorazaka-worker-media———
krizaka-billing-serviceServices & workerskrizaka-billing0.2.0krizaka-billing-api, krizaka-messaging, krizaka-security—
krizaka-notifications-serviceServices & workerskrizaka-notifications0.2.0krizaka-messaging, krizaka-notifications-api—
krizaka-users-serviceServices & workerskrizaka-users0.2.0krizaka-security, krizaka-users-core—
orazaka-assetsAdaptateursorazaka-ai-engine1.0.0-SNAPSHOT—orazaka-conversation-service, orazaka-job-service
orazaka-persistence-appAdaptateursorazaka-ai-engine1.0.0-SNAPSHOTkrizaka-messaging, orazaka-jobs-api, orazaka-persistence-app-apiorazaka-conversation-service, orazaka-job-service
orazaka-persistence-bridgeAdaptateursorazaka-ai-engine1.0.0-SNAPSHOTorazaka-core, orazaka-persistence-app-apiorazaka-conversation-service, orazaka-job-service
orazaka-studio-clientAdaptateursorazaka-studio1.0.0-SNAPSHOTkrizaka-security, orazaka-studio-apiorazaka-business, orazaka-conversation-service
krizaka-billing-clientAdaptateurskrizaka-billing0.2.0krizaka-billing-api, krizaka-securityorazaka-automation-service, orazaka-conversation-service, orazaka-job-service, orazaka-studio-service
krizaka-users-clientAdaptateurskrizaka-users0.2.0krizaka-security, krizaka-users-apiorazaka-conversation-service, orazaka-job-service
krizaka-users-persistenceAdaptateurskrizaka-users0.2.0krizaka-messagingkrizaka-users-core
orazaka-businessApplicationorazaka-ai-engine1.0.0-SNAPSHOTorazaka-core, orazaka-studio-api, orazaka-studio-clientorazaka-conversation-service, orazaka-job-service
orazaka-interceptorsApplicationorazaka-ai-engine1.0.0-SNAPSHOTkrizaka-billing-api, orazaka-core, orazaka-jobs-apiorazaka-conversation-service, orazaka-job-service
orazaka-toolsApplicationorazaka-ai-engine1.0.0-SNAPSHOTorazaka-coreorazaka-conversation-service, orazaka-job-service
orazaka-coreCœur du domaineorazaka-ai-engine1.0.0-SNAPSHOTkrizaka-security, orazaka-persistence-app-apiorazaka-business, orazaka-conversation-service, orazaka-interceptors, orazaka-job-service, orazaka-persistence-bridge, orazaka-tools
krizaka-users-coreCœur du domainekrizaka-users0.2.0krizaka-users-api, krizaka-users-persistencekrizaka-users-service
orazaka-jobs-apiContratsorazaka-contracts1.0.0-SNAPSHOT—orazaka-conversation-service, orazaka-interceptors, orazaka-job-service, orazaka-persistence-app, orazaka-persistence-app-api, orazaka-studio-api, orazaka-studio-service
orazaka-persistence-app-apiContratsorazaka-contracts1.0.0-SNAPSHOTorazaka-jobs-apiorazaka-core, orazaka-persistence-app, orazaka-persistence-bridge
orazaka-studio-apiContratsorazaka-studio1.0.0-SNAPSHOTorazaka-jobs-apiorazaka-business, orazaka-studio-client, orazaka-studio-service
krizaka-billing-apiContratskrizaka-billing0.2.0—krizaka-billing-client, krizaka-billing-service, orazaka-interceptors, orazaka-studio-service
krizaka-notifications-apiContratskrizaka-notifications0.2.0—krizaka-notifications-service
krizaka-users-apiContratskrizaka-users0.2.0—krizaka-users-client, krizaka-users-core, orazaka-conversation-service, orazaka-job-service
krizaka-messagingKit plateforme Krizakakrizaka-platform-kit0.2.0—krizaka-billing-service, krizaka-notifications-service, krizaka-spring-boot-starter-rabbitmq, krizaka-users-persistence, orazaka-automation-service, orazaka-job-service, orazaka-knowledge-service, orazaka-persistence-app, orazaka-studio-service
krizaka-observabilityKit plateforme Krizakakrizaka-platform-kit0.2.0—krizaka-spring-boot-starter-observability
krizaka-securityKit plateforme Krizakakrizaka-platform-kit0.2.0—krizaka-billing-client, krizaka-billing-service, krizaka-spring-boot-starter-security, krizaka-users-client, krizaka-users-service, orazaka-core, orazaka-edge, orazaka-job-service, orazaka-knowledge-service, orazaka-studio-client, orazaka-studio-service
krizaka-spring-boot-starter-observabilityKit plateforme Krizakakrizaka-platform-kit0.2.0krizaka-observabilityorazaka-conversation-service
krizaka-spring-boot-starter-rabbitmqKit plateforme Krizakakrizaka-platform-kit0.2.0krizaka-messagingorazaka-conversation-service
krizaka-spring-boot-starter-securityKit plateforme Krizakakrizaka-platform-kit0.2.0krizaka-securityorazaka-conversation-service
krizaka-spring-boot-starter-webKit plateforme Krizakakrizaka-platform-kit0.2.0krizaka-weborazaka-conversation-service
krizaka-webKit plateforme Krizakakrizaka-platform-kit0.2.0—krizaka-spring-boot-starter-web
Appels à l'exécution
DeVersTypeVia
krizaka-users-servicekrizaka-notifications-servicemessagekrizaka.notifications.password-events · evt.password.reset
krizaka-users-servicekrizaka-notifications-servicemessagekrizaka.notifications.user-events · evt.user.registered
orazaka-automation-serviceorazaka-studio-servicemessageorazaka.events.studio.connector · evt.automation.telemetry
orazaka-conversation-serviceorazaka-automation-servicemessageorazaka.jobs.automation · job.automation.approved
orazaka-conversation-serviceorazaka-job-servicemessageorazaka.jobs.batch · job.media.generate
orazaka-conversation-serviceorazaka-job-servicemessageorazaka.jobs.interactive · job.text.*, job.media.analyze
orazaka-conversation-serviceorazaka-studio-servicemessageorazaka.events.studio.capability · evt.capability.changed
orazaka-conversation-serviceorazaka-worker-mediamessageorazaka.jobs.video · job.video.*, job.compose.*
orazaka-job-servicekrizaka-billing-servicemessagekrizaka.billing.settlements · job.{…}.done
orazaka-job-servicekrizaka-notifications-servicemessagekrizaka.billing.settlements · job.{…}.done
orazaka-job-servicekrizaka-users-servicemessagekrizaka.billing.settlements · job.{…}.done
orazaka-job-serviceorazaka-automation-servicemessagekrizaka.billing.settlements · job.{…}.done
orazaka-job-serviceorazaka-conversation-servicemessagekrizaka.billing.settlements · job.{…}.done
orazaka-job-serviceorazaka-conversation-servicemessageorazaka.events.job-relay · job.{…}.done
orazaka-job-serviceorazaka-knowledge-servicemessagekrizaka.billing.settlements · job.{…}.done
orazaka-job-serviceorazaka-studio-servicemessagekrizaka.billing.settlements · job.{…}.done
orazaka-job-serviceorazaka-studio-servicemessageorazaka.events.studio · job.{…}.done
orazaka-job-serviceorazaka-studio-servicemessageorazaka.events.studio.capability · evt.capability.changed
orazaka-studio-serviceorazaka-automation-servicemessageorazaka.jobs.automation · job.automation.approved
orazaka-studio-serviceorazaka-job-servicemessageorazaka.jobs.batch · job.media.generate
orazaka-studio-serviceorazaka-job-servicemessageorazaka.jobs.interactive · job.text.*, job.media.analyze
orazaka-studio-serviceorazaka-worker-mediamessageorazaka.jobs.video · job.video.*, job.compose.*
orazaka-automation-servicekrizaka-billing-serviceHTTPkrizaka-billing-client
orazaka-cliorazaka-conversation-serviceHTTPlocalhost:8080
orazaka-cliorazaka-edgeHTTPlocalhost:8088
orazaka-conversation-servicekrizaka-billing-serviceHTTPkrizaka-billing-client
orazaka-conversation-servicekrizaka-users-serviceHTTPkrizaka-users-client
orazaka-conversation-serviceorazaka-studio-serviceHTTPorazaka-studio-client
orazaka-edgekrizaka-billing-serviceHTTProute /api/v1/billing
orazaka-edgekrizaka-users-serviceHTTProute /api/v1/api-keys
orazaka-edgekrizaka-users-serviceHTTProute /api/v1/auth
orazaka-edgekrizaka-users-serviceHTTProute /api/v1/credentials
orazaka-edgekrizaka-users-serviceHTTProute /api/v1/interceptions
orazaka-edgekrizaka-users-serviceHTTProute /api/v1/profile
orazaka-edgeorazaka-conversation-serviceHTTProute /
orazaka-edgeorazaka-studio-serviceHTTProute /api/v1/studios
orazaka-job-servicekrizaka-billing-serviceHTTPkrizaka-billing-client
orazaka-job-servicekrizaka-users-serviceHTTPkrizaka-users-client
orazaka-job-serviceorazaka-studio-serviceHTTPorazaka-studio-client
orazaka-mobile-clientorazaka-edgeHTTPlocalhost:8088
orazaka-studio-servicekrizaka-billing-serviceHTTPkrizaka-billing-client
orazaka-web-adminorazaka-edgeHTTPlocalhost:8088
orazaka-web-clientorazaka-conversation-serviceHTTPlocalhost:8080
orazaka-web-clientorazaka-edgeHTTPlocalhost:8088

Parcours — Une requête

  1. Présentation — Tu poses ta question depuis le client web, l'app mobile, le CLI ou la console d'administration.
  2. Portail d'entrée — L'edge reçoit chaque requête, échange une clé d'API contre un jeton de session et route par chemin : identité, facturation et studio vers leurs services, tout le reste vers le service de conversation. (orazaka-web-client → orazaka-edge, orazaka-web-admin → orazaka-edge, orazaka-mobile-client → orazaka-edge, orazaka-cli → orazaka-edge, orazaka-edge → orazaka-conversation-service)
  3. Sécurité & Métier — Avant tout calcul, le jeton de session est vérifié (JWT sans état, krizaka-security) et l'intercepteur de droits contrôle ce que tu peux faire et ce que tu peux payer. (orazaka-edge → krizaka-users-service, orazaka-conversation-service → orazaka-interceptors, orazaka-core → krizaka-security)
  4. Moteur Cognitif — Le cœur hexagonal, sans état, orchestre l'exécution de la requête et coordonne le flux de données. (orazaka-conversation-service → orazaka-business, orazaka-business → orazaka-core)
  5. Workers & Pipeline — Le tour traverse 5 intercepteurs non contournables, puis 8 intercepteurs configurés (mémoire, MCP, outils…) ; les jobs longs passent par RabbitMQ vers le service de jobs et le worker média. (orazaka-interceptors → orazaka-core, orazaka-conversation-service → orazaka-job-service, orazaka-conversation-service → orazaka-worker-media)
  6. Stockage — Sessions, mémoire vectorielle (pgvector) et identités sont stockées dans tes propres bases de données. (orazaka-conversation-service → orazaka-persistence-app)

Le pipeline

Ce que traverse un tour, dans l'ordre.

5 intercepteurs que le code ne laisse jamais sauter, puis 8 que la base ordonne et active.

Phase 1 · chaîne cœur

Fixée dans le code. Passe en premier, à chaque tour, et ne se désactive pas.

  1. 1
    SafetyInterceptorvalidation non contournable

    Stops a turn that carries crisis content and answers it with the pack's fixed, reviewed text.

  2. 2
    ScopeGuardInterceptorgouvernance non contournable

    Refuses a turn that strays into the domain its pack declared out of bounds (ADR-051).

  3. 3
    UserContextResolvercontexte non contournable

    Extracts user profile attributes and RBAC security configurations from the Spring Security context and enriches the PromptContext's user metadata.

  4. 4
    SystemContextInjectorcontexte non contournable

    Single atomic service responsible for both resolving system/environment state and injecting it into the timeline.

  5. 5
    RagInterceptorenrichissement non contournable

    RAG (Retrieval-Augmented Generation) interceptor — enriches the prompt with relevant knowledge base context retrieved via KnowledgeService.

Phase 2 · chaîne configurée

Ordre et interrupteur lus en base (pipeline_interceptor_config), rechargés sans redémarrage.

  1. 4
    EntitlementInterceptorgouvernance

    Gates the synchronous chat path on what the actor may do and can afford (ADR-033 §6.2).

  2. 5
    McpInterceptorenrichissement

    MCP (Model Context Protocol) interceptor — enriches the prompt with external context resolved via the McpOrchestrator.

  3. 6
    BrandContextInterceptorenrichissement

    Injects an installed Studio's brand kit into the prompt (ADR-034 §9.1).

  4. 7
    MemoryInterceptorenrichissement

    Conversation memory interceptor — injects historical messages before inference and persists new messages after completion.

  5. 8
    RefinerInterceptorreformulation

    Resolves fuzzy user questions against compiled context matrices and reformulates them into clear, explicit instructions using an LLM call.

  6. 9
    même ordre
    RouterInterceptorreformulation

    Analyzes user intent and selects the optimal AI provider using an LLM classification call with temperature 0.0 for determinism.

    ToolInterceptoroutils

    Tool execution interceptor — analyzes prompt content to selectively attach relevant ToolCallback definitions to the chat options.

  7. 10
    MediaInterceptor ligne sans implémentation
  8. 11
    UserContextInterceptorcontexte

    ContextInterceptor that dynamically injects onboarding profile details (ai_behavior, primary_industry) as structural system prompt constraints right before executing model inference or streaming.

Messagerie

Qui parle à qui sur RabbitMQ.

15 files, chacune avec sa file de lettres mortes. Liaisons, émetteurs et consommateurs lus dans le code.

Relancer, puis lettre morte 5 tentatives 500 ms ×2, jusqu'à 10 s orazaka.dlx → ‹queue›.dlqTout consommateur bâti sur krizaka-messaging (krizaka.messaging.retry) relance avant d'abandonner ; le message est alors rangé, pas perdu.

Sélectionne un émetteur : les files que ses messages atteignent s'allument, avec les services qui les consomment.

orazaka.jobs

échange topic

Le travail à faire. Un job est publié une fois et consommé par la voie qui lie sa clé.

Publié par

File · liaisons → Consommé par

orazaka.jobs.automation
job.automation.*
lettres mortes → orazaka.jobs.automation.dlq
orazaka-automation-service
orazaka.jobs.batch
job.media.generate
lettres mortes → orazaka.jobs.batch.dlq
orazaka-job-service
orazaka.jobs.interactive
job.text.*job.media.analyze
lettres mortes → orazaka.jobs.interactive.dlq
orazaka-job-service
orazaka.jobs.rag
job.rag.*
lettres mortes → orazaka.jobs.rag.dlq
orazaka-knowledge-service
orazaka.jobs.video
job.video.*job.compose.*
lettres mortes → orazaka.jobs.video.dlq
orazaka-worker-mediarelances propres

orazaka.events

échange topic

Ce qui s'est passé. Événements du domaine et issues des jobs, diffusés à chaque file qui les lie.

Publié par

File · liaisons → Consommé par

krizaka.billing.settlements
job.*.donejob.*.error
lettres mortes → krizaka.billing.settlements.dlq
krizaka-billing-servicekrizaka-messaging
krizaka.billing.unmetered
evt.turn.unmetered
lettres mortes → krizaka.billing.unmetered.dlq
krizaka-billing-service
krizaka.notifications.password-events
evt.password.*
lettres mortes → krizaka.notifications.password-events.dlq
krizaka-notifications-service
krizaka.notifications.requests
evt.notification.requested
lettres mortes → krizaka.notifications.requests.dlq
krizaka-notifications-service
krizaka.notifications.user-events
evt.user.*
lettres mortes → krizaka.notifications.user-events.dlq
krizaka-notifications-service
orazaka.events.job-relay
job.#
lettres mortes → orazaka.events.job-relay.dlq
orazaka-conversation-service
orazaka.events.studio
job.*.donejob.*.error
lettres mortes → orazaka.events.studio.dlq
orazaka-studio-service
orazaka.events.studio.capability
evt.capability.*
lettres mortes → orazaka.events.studio.capability.dlq
orazaka-studio-service
orazaka.events.studio.connector
evt.automation.telemetry
lettres mortes → orazaka.events.studio.connector.dlq
orazaka-studio-service
orazaka.events.studio.subscription
evt.subscription.*
lettres mortes → orazaka.events.studio.subscription.dlq
orazaka-studio-service
Version texte — Topologie de messagerie
Les files, leurs liaisons et leurs consommateurs
FileÉchangeLiaisonsConsommé parFile de lettres mortes
krizaka.billing.settlementsorazaka.eventsjob.*.donejob.*.errorkrizaka-billing-service, krizaka-messagingkrizaka.billing.settlements.dlq
krizaka.billing.unmeteredorazaka.eventsevt.turn.unmeteredkrizaka-billing-servicekrizaka.billing.unmetered.dlq
krizaka.notifications.password-eventsorazaka.eventsevt.password.*krizaka-notifications-servicekrizaka.notifications.password-events.dlq
krizaka.notifications.requestsorazaka.eventsevt.notification.requestedkrizaka-notifications-servicekrizaka.notifications.requests.dlq
krizaka.notifications.user-eventsorazaka.eventsevt.user.*krizaka-notifications-servicekrizaka.notifications.user-events.dlq
orazaka.events.job-relayorazaka.eventsjob.#orazaka-conversation-serviceorazaka.events.job-relay.dlq
orazaka.events.studioorazaka.eventsjob.*.donejob.*.errororazaka-studio-serviceorazaka.events.studio.dlq
orazaka.events.studio.capabilityorazaka.eventsevt.capability.*orazaka-studio-serviceorazaka.events.studio.capability.dlq
orazaka.events.studio.connectororazaka.eventsevt.automation.telemetryorazaka-studio-serviceorazaka.events.studio.connector.dlq
orazaka.events.studio.subscriptionorazaka.eventsevt.subscription.*orazaka-studio-serviceorazaka.events.studio.subscription.dlq
orazaka.jobs.automationorazaka.jobsjob.automation.*orazaka-automation-serviceorazaka.jobs.automation.dlq
orazaka.jobs.batchorazaka.jobsjob.media.generateorazaka-job-serviceorazaka.jobs.batch.dlq
orazaka.jobs.interactiveorazaka.jobsjob.text.*job.media.analyzeorazaka-job-serviceorazaka.jobs.interactive.dlq
orazaka.jobs.ragorazaka.jobsjob.rag.*orazaka-knowledge-serviceorazaka.jobs.rag.dlq
orazaka.jobs.videoorazaka.jobsjob.video.*job.compose.*orazaka-worker-mediaorazaka.jobs.video.dlq
Émetteurs
ModuleÉchangeClé de routage
krizaka-billing-serviceorazaka.eventsclé choisie à l'exécution
krizaka-users-coreorazaka.eventsevt.password.reset
krizaka-users-coreorazaka.eventsevt.user.registered
orazaka-automation-serviceorazaka.jobsclé choisie à l'exécution
orazaka-automation-serviceorazaka.eventsevt.automation.telemetry
orazaka-conversation-serviceorazaka.jobsla route de la capacité
orazaka-conversation-serviceorazaka.eventsclé choisie à l'exécution
orazaka-conversation-serviceorazaka.eventsevt.agent.presence
orazaka-conversation-serviceorazaka.eventsevt.capability.changed
orazaka-conversation-serviceorazaka.jobsjob.automation.approved
orazaka-job-serviceorazaka.eventsclé choisie à l'exécution
orazaka-job-serviceorazaka.eventsevt.capability.changed
orazaka-job-serviceorazaka.eventsjob.{…}.done
orazaka-job-serviceorazaka.eventsjob.{…}.error
orazaka-studio-serviceorazaka.jobsla route de la capacité
orazaka-studio-serviceorazaka.eventsevt.studio.run.failed
orazaka-studio-serviceorazaka.eventsevt.studio.run.started
orazaka-studio-serviceorazaka.eventsevt.studio.run.succeeded
orazaka-studio-serviceorazaka.jobsjob.automation.approved
Routes des capacités (orazaka_capabilities)
CapacitéHandlerClé de routage
orazaka.studio.media.composemedia.composejob.compose.assemble
orazaka.core.media.visionimage.analyzejob.media.analyze
orazaka.core.media.audio.analysisaudio.analyzejob.media.generate
orazaka.core.media.imageimage.generatejob.media.generate
orazaka.core.media.video.analysisvideo.analyzejob.media.generate
orazaka.core.chat.completiontext.generatejob.text.process
orazaka.core.media.speechspeech.synthesizejob.text.process
orazaka.core.media.videovideo.generatejob.video.generate

Code source

Un dépôt par composant.

21 dépôts open source (Apache-2.0) dans l'organisation krizaka. Prenez seulement ce dont votre application a besoin, ou clonez tout l'espace de travail avec krizaka/orazaka.

Fondations

Socle réutilisable par toute application Krizaka : build, contrats, edge, UI kit.
orazaka-build
Spring · Maven

Parent POM (Spring Boot / Spring AI BOMs, plugin management, Orazaka BOM) and the shared governance test kit (ArchUnit rules, Testcontainers base) for every Orazaka JVM repository.

← krizaka-build

orazaka-contracts
Spring · Maven

Tier-1 platform contracts shared by every Orazaka service: the job plane (jobs-api) and the application-persistence ports (persistence-app-api). Pure interfaces and records, zero implementation.

← orazaka-build

orazaka-edge
Spring · Maven

Transparent HTTP edge in front of every Orazaka service: routing, API-key → JWT exchange, CORS and tracing. Spring MVC + virtual threads.

← orazaka-build

orazaka-ui-kit
Next.js · npm

@krizaka/orazaka-shared (TypeScript types, Zod schemas, design tokens) and @krizaka/orazaka-design-system (React components, Tailwind preset, theme, icon registry) for Next.js and React Native apps.

Moteur IA Orazaka

Le moteur cognitif et les services qui l'hébergent.
orazaka-studio
Spring · Maven

Studio & pack marketplace: pack catalogue, studio blueprints, installations and saga-driven runs, with its contract (studio-api) and HTTP client (studio-client).

← orazaka-build · orazaka-contracts · krizaka-billing

orazaka-ai-engine
Spring · Maven

The Orazaka cognitive SDK: AiClient & provider mesh (core), the interceptor pipeline, tools (MCP · RAG · sandbox), use-case orchestration (business), application persistence and asset encryption.

← orazaka-build · orazaka-contracts · krizaka-billing · orazaka-studio

orazaka-conversation-service
Spring · Maven

Interactive ingress of the Orazaka engine: chat (SSE streaming), intents, models, pipeline, MCP and job APIs — translates transport into Intentions, never business logic.

← orazaka-build · orazaka-contracts · krizaka-users · krizaka-billing · orazaka-ai-engine

orazaka-job-service
Spring · Maven

Asynchronous job executor of the Orazaka engine: drains the interactive and batch lanes, owns the capability registry and the worker registry.

← orazaka-build · orazaka-contracts · krizaka-users · krizaka-billing · orazaka-ai-engine

orazaka-knowledge-service
Spring · Maven

Knowledge & RAG retrieval service (pgvector) with asynchronous indexing.

← orazaka-build

orazaka-automation-service
Spring · Maven

Connector automation (Jira, Slack, WhatsApp, Messenger, CLI agents) with Quartz scheduling and execution telemetry.

← orazaka-build · krizaka-billing

Workers natifs

Inférence média native, hors Docker.

Applications

Web, administration, mobile et CLI.

Contenu

Les packs de référence du Studio.