An overview of the system behind Yesper: an orchestrated agent loop with dual-model routing, a multi-tenant Cosmos DB, event-driven async pipelines via Azure Service Bus, Cosmos change-feed + SignalR for real-time, and a fleet of specialist agents exposed as tool calls.
/orchestrator_agent/project/project_file/artifact/checklist/workflow/memory/prompt_libraryskill-routersource-routeragent-exclusionscapabilities-toolsubtask-tooltodo-tooltodo-reminderretry-utilsanthropic-stream-adaptersmooth-text-emitteranswer-formatterproject_agent — cross-file reasoningproject_explorer_agentproject_file_researcherproject_file_indexer — RAGblueprint_analyzerbill_of_quantitiesdocument_type_assessorimage_analyzerfile_comparator_agentallabolag_agenttrafikverket_agentsgu_agentnvv_agentama_agentmapbox_agent · geo_agentweather_agentxlsx_agent · excel_convertermsoffice_agentfile_converterfile_chunkersharepoint_syncproject_file_storage — Azure Blobworkflow_agentchecklist_agentcomposer_agenttemplate_agentplan_agentmemory_agentresearch_agentweb_agent — headless browsingcode_execution_agentreference_libraryprompt_libraryartifact · artifact_editor_agentweb_artifact_creator_agenteditor_agentcontent_generationcontent_export — Word/Excel/PDFbessy — enrichment pipelineEach module owns its events under pub_sub/. Subscribers are named after the Bazel package. Retry + DLQ are handled by Service Bus.
internals/.A chat wrapper makes one API call per question. Yesper runs an orchestrated loop of dozens of specialist agents, two model providers, a multi-tenant data model, an event plane with 20+ topics, and an index pipeline that keeps every project file semantically searchable — all behind the same text field. The difference isn't the UI. It's everything behind it.