Skip to main content

Project Structure Guide

A comprehensive guide to navigating the Constellation Engine codebase. This document helps you quickly locate specific functionality and understand the module organization.

Table of Contents

Quick Reference

All modules live under: modules/<module-name>/src/main/scala/io/constellation/

Key entry points:

  • Type system: modules/core/src/main/scala/io/constellation/TypeSystem.scala
  • Module builder: modules/runtime/src/main/scala/io/constellation/ModuleBuilder.scala
  • Parser: modules/lang-parser/src/main/scala/io/constellation/lang/parser/ConstellationParser.scala
  • Compiler: modules/lang-compiler/src/main/scala/io/constellation/lang/LangCompiler.scala
  • HTTP server: modules/http-api/src/main/scala/io/constellation/http/ConstellationServer.scala
  • LSP server: modules/lang-lsp/src/main/scala/io/constellation/lsp/ConstellationLanguageServer.scala

Module Organization

Constellation Engine is organized into 14 primary modules:

ModulePurposeDependencies
coreFoundation types (CType, CValue, TypeSystem)None
runtimeExecution engine, ModuleBuilder, Runtimecore
lang-astAST definitions for constellation-langcore
lang-parserParser for .cst fileslang-ast, core
lang-compilerType checker, DAG compiler, optimizerlang-parser, lang-ast, runtime, core
lang-stdlibStandard library modules (String, List, Math)lang-compiler, runtime, core
lang-lspLanguage Server Protocol implementationlang-compiler, lang-ast, core
lang-cliCommand-line interfacelang-compiler, http-api, runtime, core
http-apiHTTP server, WebSocket, middlewarelang-compiler, runtime, core
module-provider-sdkClient library for cross-process module providersruntime, core
module-providerServer-side gRPC registration and lifecyclemodule-provider-sdk, lang-compiler, runtime, core
example-appExample modules (Text, Data processing)lang-stdlib, lang-compiler, runtime, core
cache-memcachedMemcached cache backendruntime, core
doc-generatorDocumentation generation utilitiesruntime, core

Dependency Graph

CRITICAL: Modules can only depend on modules above them in this graph. Never create circular dependencies.

core (foundation - no dependencies)
├─> runtime
│ ├─> cache-memcached
│ ├─> doc-generator
│ ├─> module-provider-sdk ──> module-provider (also depends on lang-compiler)
│ └─> (used by everything below)

└─> lang-ast
└─> lang-parser
└─> lang-compiler
├─> lang-stdlib
├─> lang-lsp
├─> lang-cli
├─> http-api
├─> module-provider (also depends on module-provider-sdk)
└─> example-app

Layering Rules:

  1. Core layer (core): Pure type definitions, no side effects
  2. Execution layer (runtime): Module execution, caching, pools
  3. Language layer (lang-*): Parsing, compilation, type checking
  4. Service layer (http-api, lang-lsp, lang-cli): External interfaces
  5. Application layer (example-app): User-facing modules

Package Structure

Each module follows standard Scala project structure:

modules/<module-name>/
├── src/
│ ├── main/
│ │ ├── scala/
│ │ │ └── io/constellation/
│ │ │ └── <module-specific packages>
│ │ └── resources/
│ └── test/
│ ├── scala/
│ │ └── io/constellation/
│ │ └── <test files>
│ └── resources/
└── README.md (optional)

Package Naming Conventions

Core packages:

  • io.constellation.* - Core types (TypeSystem, Spec, etc.)

Runtime packages:

  • io.constellation.* - Runtime, ModuleBuilder, Constellation
  • io.constellation.cache.* - Caching infrastructure
  • io.constellation.execution.* - Circuit breakers, scheduling
  • io.constellation.pool.* - Resource pooling
  • io.constellation.spi.* - Service Provider Interface (backends, metrics, tracing)
  • io.constellation.errors.* - Error handling utilities

Language packages:

  • io.constellation.lang.ast.* - AST node definitions
  • io.constellation.lang.parser.* - Parser implementation
  • io.constellation.lang.compiler.* - Compiler, type checker, IR generator
  • io.constellation.lang.semantic.* - Semantic analysis, type inference
  • io.constellation.lang.optimizer.* - IR optimization passes
  • io.constellation.lang.viz.* - DAG visualization (DOT, Mermaid, SVG)

LSP packages:

  • io.constellation.lsp.* - Language server core
  • io.constellation.lsp.protocol.* - LSP protocol messages
  • io.constellation.lsp.diagnostics.* - Error diagnostics

HTTP packages:

  • io.constellation.http.* - HTTP routes, server, middleware

Standard library packages:

  • io.constellation.stdlib.* - StdLib registry
  • io.constellation.stdlib.categories.* - Function categories (String, List, Math, etc.)

Module Provider packages:

  • io.constellation.provider.* - Shared types (CValueSerializer, TypeSchemaConverter)
  • io.constellation.provider.sdk.* - SDK client library (ConstellationProvider, ModuleDefinition)
  • io.constellation.provider.v1.provider.* - Generated protobuf types (do not edit)

Module Provider server packages:

  • io.constellation.provider.* - Server-side (ModuleProviderManager, SchemaValidator, ControlPlaneManager)

Example app packages:

  • io.constellation.examples.app.* - Example library registry
  • io.constellation.examples.app.modules.* - Module implementations (Text, Data)

File Locations Reference

Core Module (modules/core)

ComponentPath
Type systemsrc/main/scala/io/constellation/TypeSystem.scala
CValue/CType definitionssrc/main/scala/io/constellation/TypeSystem.scala
Constellation errorssrc/main/scala/io/constellation/ConstellationError.scala
Module specssrc/main/scala/io/constellation/Spec.scala
Pipeline statussrc/main/scala/io/constellation/PipelineStatus.scala
Content hashingsrc/main/scala/io/constellation/ContentHash.scala
Raw value typessrc/main/scala/io/constellation/RawValue.scala
Debug mode configsrc/main/scala/io/constellation/DebugMode.scala

Runtime Module (modules/runtime)

ComponentPath
ModuleBuilder APIsrc/main/scala/io/constellation/ModuleBuilder.scala
Runtime executionsrc/main/scala/io/constellation/Runtime.scala
Constellation coresrc/main/scala/io/constellation/Constellation.scala
Module registrysrc/main/scala/io/constellation/ModuleRegistry.scala
Pipeline storagesrc/main/scala/io/constellation/PipelineStore.scala
Pipeline imagessrc/main/scala/io/constellation/PipelineImage.scala
Loaded pipelinessrc/main/scala/io/constellation/LoadedPipeline.scala
Execution trackingsrc/main/scala/io/constellation/ExecutionTracker.scala
Suspended executionsrc/main/scala/io/constellation/SuspendedExecution.scala
Suspension codecsrc/main/scala/io/constellation/SuspensionCodec.scala
Suspension storesrc/main/scala/io/constellation/SuspensionStore.scala
Cache registrysrc/main/scala/io/constellation/cache/CacheRegistry.scala
Circuit breakerssrc/main/scala/io/constellation/execution/CircuitBreakerRegistry.scala
Runtime poolsrc/main/scala/io/constellation/pool/RuntimePool.scala
SPI backendssrc/main/scala/io/constellation/spi/ConstellationBackends.scala
Metrics providersrc/main/scala/io/constellation/spi/MetricsProvider.scala
Tracer providersrc/main/scala/io/constellation/spi/TracerProvider.scala

Language AST Module (modules/lang-ast)

ComponentPath
AST nodessrc/main/scala/io/constellation/lang/ast/AST.scala
Visitor patternsrc/main/scala/io/constellation/lang/ast/ASTVisitor.scala

Language Parser Module (modules/lang-parser)

ComponentPath
Main parsersrc/main/scala/io/constellation/lang/parser/ConstellationParser.scala
Memoizationsrc/main/scala/io/constellation/lang/parser/MemoizationSupport.scala

Language Compiler Module (modules/lang-compiler)

ComponentPath
Lang compilersrc/main/scala/io/constellation/lang/LangCompiler.scala
Caching compilersrc/main/scala/io/constellation/lang/CachingLangCompiler.scala
DAG compilersrc/main/scala/io/constellation/lang/compiler/DagCompiler.scala
Type checkersrc/main/scala/io/constellation/lang/compiler/TypeChecker.scala
IR generatorsrc/main/scala/io/constellation/lang/compiler/IRGenerator.scala
Compilation outputsrc/main/scala/io/constellation/lang/compiler/CompilationOutput.scala
Compiler errorssrc/main/scala/io/constellation/lang/compiler/CompilerError.scala
Error formattersrc/main/scala/io/constellation/lang/compiler/ErrorFormatter.scala
Suggestionssrc/main/scala/io/constellation/lang/compiler/Suggestions.scala
Module optionssrc/main/scala/io/constellation/lang/compiler/ModuleOptionsExecutor.scala
Semantic typessrc/main/scala/io/constellation/lang/semantic/SemanticType.scala
Type inferencesrc/main/scala/io/constellation/lang/semantic/Mode.scala
Row unificationsrc/main/scala/io/constellation/lang/semantic/RowUnification.scala
Subtypingsrc/main/scala/io/constellation/lang/semantic/Subtyping.scala
IR optimizersrc/main/scala/io/constellation/lang/optimizer/IROptimizer.scala
Constant foldingsrc/main/scala/io/constellation/lang/optimizer/ConstantFolding.scala
Dead code elimsrc/main/scala/io/constellation/lang/optimizer/DeadCodeElimination.scala
Optimization configsrc/main/scala/io/constellation/lang/optimizer/OptimizationConfig.scala
DAG renderersrc/main/scala/io/constellation/lang/viz/DagRenderer.scala
DOT renderersrc/main/scala/io/constellation/lang/viz/DOTRenderer.scala
SVG renderersrc/main/scala/io/constellation/lang/viz/SVGRenderer.scala
Mermaid renderersrc/main/scala/io/constellation/lang/viz/MermaidRenderer.scala
ASCII renderersrc/main/scala/io/constellation/lang/viz/ASCIIRenderer.scala
Sugiyama layoutsrc/main/scala/io/constellation/lang/viz/SugiyamaLayout.scala
Compilation cachesrc/main/scala/io/constellation/lang/CompilationCache.scala

Language Standard Library Module (modules/lang-stdlib)

ComponentPath
StdLib registrysrc/main/scala/io/constellation/stdlib/StdLib.scala
String functionssrc/main/scala/io/constellation/stdlib/categories/StringFunctions.scala
List functionssrc/main/scala/io/constellation/stdlib/categories/ListFunctions.scala
Math functionssrc/main/scala/io/constellation/stdlib/categories/MathFunctions.scala
Boolean functionssrc/main/scala/io/constellation/stdlib/categories/BooleanFunctions.scala
Comparison functionssrc/main/scala/io/constellation/stdlib/categories/ComparisonFunctions.scala
Type conversionsrc/main/scala/io/constellation/stdlib/categories/TypeConversionFunctions.scala
Higher-order functionssrc/main/scala/io/constellation/stdlib/categories/HigherOrderFunctions.scala
Utility functionssrc/main/scala/io/constellation/stdlib/categories/UtilityFunctions.scala

Language LSP Module (modules/lang-lsp)

ComponentPath
Language serversrc/main/scala/io/constellation/lsp/ConstellationLanguageServer.scala
Document managersrc/main/scala/io/constellation/lsp/DocumentManager.scala
Completion triesrc/main/scala/io/constellation/lsp/CompletionTrie.scala
Type formattersrc/main/scala/io/constellation/lsp/TypeFormatter.scala
Semantic tokenssrc/main/scala/io/constellation/lsp/SemanticTokenTypes.scala
With-clause completionssrc/main/scala/io/constellation/lsp/WithClauseCompletions.scala
Debouncersrc/main/scala/io/constellation/lsp/Debouncer.scala
Debug session managersrc/main/scala/io/constellation/lsp/DebugSessionManager.scala
LSP messagessrc/main/scala/io/constellation/lsp/protocol/LspMessages.scala
LSP typessrc/main/scala/io/constellation/lsp/protocol/LspTypes.scala
JSON-RPCsrc/main/scala/io/constellation/lsp/protocol/JsonRpc.scala
Options diagnosticssrc/main/scala/io/constellation/lsp/diagnostics/OptionsDiagnostics.scala

Language CLI Module (modules/lang-cli)

ComponentPath
Main entry pointsrc/main/scala/io/constellation/cli/Main.scala
CLI appsrc/main/scala/io/constellation/cli/CliApp.scala
Commandssrc/main/scala/io/constellation/cli/commands/

HTTP API Module (modules/http-api)

ComponentPath
HTTP serversrc/main/scala/io/constellation/http/ConstellationServer.scala
HTTP routessrc/main/scala/io/constellation/http/ConstellationRoutes.scala
Auth middlewaresrc/main/scala/io/constellation/http/AuthMiddleware.scala
Auth configsrc/main/scala/io/constellation/http/AuthConfig.scala
CORS middlewaresrc/main/scala/io/constellation/http/CorsMiddleware.scala
Rate limit middlewaresrc/main/scala/io/constellation/http/RateLimitMiddleware.scala
Health check routessrc/main/scala/io/constellation/http/HealthCheckRoutes.scala
Dashboard routessrc/main/scala/io/constellation/http/DashboardRoutes.scala
Dashboard configsrc/main/scala/io/constellation/http/DashboardConfig.scala
Dashboard modelssrc/main/scala/io/constellation/http/DashboardModels.scala
API modelssrc/main/scala/io/constellation/http/ApiModels.scala
Execution helpersrc/main/scala/io/constellation/http/ExecutionHelper.scala
Execution storagesrc/main/scala/io/constellation/http/ExecutionStorage.scala
Pipeline loader configsrc/main/scala/io/constellation/http/PipelineLoaderConfig.scala
Prometheus formattersrc/main/scala/io/constellation/http/PrometheusFormatter.scala
Canary routersrc/main/scala/io/constellation/http/CanaryRouter.scala

Example App Module (modules/example-app)

ComponentPath
ExampleLib registrysrc/main/scala/io/constellation/examples/app/ExampleLib.scala
Text modulessrc/main/scala/io/constellation/examples/app/modules/TextModules.scala
Data modulessrc/main/scala/io/constellation/examples/app/modules/DataModules.scala
Resilience modulessrc/main/scala/io/constellation/examples/app/modules/ResilienceModules.scala

Module Provider SDK (modules/module-provider-sdk)

ComponentPath
ConstellationProvidersrc/main/scala/io/constellation/provider/sdk/ConstellationProvider.scala
ModuleDefinitionsrc/main/scala/io/constellation/provider/sdk/ModuleDefinition.scala
SdkConfigsrc/main/scala/io/constellation/provider/sdk/SdkConfig.scala
InstanceConnectionsrc/main/scala/io/constellation/provider/sdk/InstanceConnection.scala
CanaryCoordinatorsrc/main/scala/io/constellation/provider/sdk/CanaryCoordinator.scala
Transport traitssrc/main/scala/io/constellation/provider/sdk/transport.scala
gRPC transportsrc/main/scala/io/constellation/provider/sdk/GrpcProviderTransport.scala
Executor serversrc/main/scala/io/constellation/provider/sdk/GrpcExecutorServer.scala
CValue serializationsrc/main/scala/io/constellation/provider/CValueSerializer.scala
Type schema conversionsrc/main/scala/io/constellation/provider/TypeSchemaConverter.scala
Protobuf definitionssrc/main/protobuf/constellation/provider/v1/provider.proto

Module Provider Server (modules/module-provider)

ComponentPath
ModuleProviderManagersrc/main/scala/io/constellation/provider/ModuleProviderManager.scala
ExternalModulesrc/main/scala/io/constellation/provider/ExternalModule.scala
SchemaValidatorsrc/main/scala/io/constellation/provider/SchemaValidator.scala
ControlPlaneManagersrc/main/scala/io/constellation/provider/ControlPlaneManager.scala
ExecutorPoolsrc/main/scala/io/constellation/provider/ExecutorPool.scala
ExternalFunctionSignaturesrc/main/scala/io/constellation/provider/ExternalFunctionSignature.scala
ProviderManagerConfigsrc/main/scala/io/constellation/provider/ProviderManagerConfig.scala
GrpcChannelCachesrc/main/scala/io/constellation/provider/GrpcChannelCache.scala

Cache Memcached Module (modules/cache-memcached)

ComponentPath
Memcached backendsrc/main/scala/io/constellation/cache/memcached/MemcachedCacheBackend.scala
Memcached configsrc/main/scala/io/constellation/cache/memcached/MemcachedConfig.scala

Frontend Components

ComponentPath
VSCode extensionvscode-extension/src/extension.ts
Dashboard TypeScriptdashboard/src/
Dashboard typesdashboard/src/types.d.ts
Dashboard E2E testsdashboard-tests/
Page objectsdashboard-tests/pages/

Infrastructure

ComponentPath
Build definitionbuild.sbt
MakefileMakefile
DockerfileDockerfile
Docker Composedocker-compose.yml
Docker ignore.dockerignore
Kubernetes manifestsdeploy/k8s/
Development scriptsscripts/

Find Files by Pattern

# Find all Scala files in a module
ls modules/<module-name>/src/main/scala/io/constellation/

# Find test files
ls modules/<module-name>/src/test/scala/io/constellation/

# Find all files matching a pattern
find modules -name "*TypeSystem*"

# Find constellation-lang scripts
find . -name "*.cst"

Search for Code

# Search for a class definition
grep -r "class ClassName\|object ObjectName" modules/

# Search for a function definition
grep -r "def functionName" modules/

# Find usages of a type
grep -r "CType\|CValue\|Module.Uninitialized" modules/

# Find import statements
grep -r "import io.constellation" modules/

# Search in specific module only
grep -r "pattern" modules/core/src/

Use these commands to quickly find relevant code based on issue type:

# Type system issues
ls modules/core/src/main/scala/io/constellation/TypeSystem.scala

# Module execution issues
ls modules/runtime/src/main/scala/io/constellation/ModuleBuilder.scala
ls modules/runtime/src/main/scala/io/constellation/Runtime.scala

# Parser issues
ls modules/lang-parser/src/main/scala/io/constellation/lang/parser/ConstellationParser.scala

# Type checking issues
ls modules/lang-compiler/src/main/scala/io/constellation/lang/compiler/TypeChecker.scala
ls modules/lang-compiler/src/main/scala/io/constellation/lang/semantic/

# Compilation issues
ls modules/lang-compiler/src/main/scala/io/constellation/lang/compiler/DagCompiler.scala
ls modules/lang-compiler/src/main/scala/io/constellation/lang/compiler/IRGenerator.scala

# LSP issues
ls modules/lang-lsp/src/main/scala/io/constellation/lsp/ConstellationLanguageServer.scala

# HTTP API issues
ls modules/http-api/src/main/scala/io/constellation/http/

Run Tests for Specific Areas

# Test by module
make test-core # Core type system
make test-compiler # Parser + compiler
make test-lsp # Language server
make test-dashboard # Dashboard E2E tests

# Test specific file (sbt)
sbt "core/testOnly *TypeSystemSpec"
sbt "langCompiler/testOnly *TypeCheckerSpec"
sbt "langLsp/testOnly *CompletionSpec"

Where to Find Functionality

By Feature Category

Type System & Values:

  • Type definitions (CType): modules/core/.../TypeSystem.scala
  • Value definitions (CValue): modules/core/.../TypeSystem.scala
  • Type conversion: modules/core/.../RawValueConverter.scala
  • Type accessors: modules/core/.../TypedValueAccessor.scala

Module System:

  • Building modules: modules/runtime/.../ModuleBuilder.scala
  • Module registry: modules/runtime/.../ModuleRegistry.scala
  • Module metadata: modules/runtime/.../MetadataBuilder.scala
  • Module specs: modules/core/.../Spec.scala

Execution Engine:

  • Runtime execution: modules/runtime/.../Runtime.scala
  • Pipeline execution: modules/runtime/.../Constellation.scala
  • Suspended execution: modules/runtime/.../SuspendedExecution.scala
  • Stepped execution: modules/runtime/.../SteppedExecution.scala
  • Circuit breakers: modules/runtime/.../execution/CircuitBreakerRegistry.scala

Language Processing:

  • Parsing: modules/lang-parser/.../ConstellationParser.scala
  • Type checking: modules/lang-compiler/.../TypeChecker.scala
  • DAG compilation: modules/lang-compiler/.../DagCompiler.scala
  • IR generation: modules/lang-compiler/.../IRGenerator.scala
  • Optimization: modules/lang-compiler/.../optimizer/

Standard Library:

  • String functions: modules/lang-stdlib/.../categories/StringFunctions.scala
  • List functions: modules/lang-stdlib/.../categories/ListFunctions.scala
  • Math functions: modules/lang-stdlib/.../categories/MathFunctions.scala
  • All categories: modules/lang-stdlib/.../categories/

IDE Support:

  • Language server: modules/lang-lsp/.../ConstellationLanguageServer.scala
  • Autocomplete: modules/lang-lsp/.../CompletionTrie.scala
  • Diagnostics: modules/lang-lsp/.../diagnostics/
  • Document management: modules/lang-lsp/.../DocumentManager.scala

HTTP API:

  • Server setup: modules/http-api/.../ConstellationServer.scala
  • Route definitions: modules/http-api/.../ConstellationRoutes.scala
  • Authentication: modules/http-api/.../AuthMiddleware.scala
  • CORS: modules/http-api/.../CorsMiddleware.scala
  • Rate limiting: modules/http-api/.../RateLimitMiddleware.scala

Module Providers (Cross-Process):

  • Provider SDK entry point: modules/module-provider-sdk/.../sdk/ConstellationProvider.scala
  • Module definition: modules/module-provider-sdk/.../sdk/ModuleDefinition.scala
  • CValue serialization: modules/module-provider-sdk/.../CValueSerializer.scala
  • Type schema conversion: modules/module-provider-sdk/.../TypeSchemaConverter.scala
  • Transport traits: modules/module-provider-sdk/.../sdk/transport.scala
  • Server orchestrator: modules/module-provider/.../ModuleProviderManager.scala
  • Schema validation: modules/module-provider/.../SchemaValidator.scala
  • Connection lifecycle: modules/module-provider/.../ControlPlaneManager.scala
  • Load balancing: modules/module-provider/.../ExecutorPool.scala
  • Protobuf definitions: modules/module-provider-sdk/src/main/protobuf/constellation/provider/v1/provider.proto

Caching:

  • Cache registry: modules/runtime/.../cache/CacheRegistry.scala
  • Compilation cache: modules/lang-compiler/.../CompilationCache.scala
  • Memcached backend: modules/cache-memcached/.../MemcachedCacheBackend.scala

Visualization:

  • DAG rendering: modules/lang-compiler/.../viz/DagRenderer.scala
  • DOT format: modules/lang-compiler/.../viz/DOTRenderer.scala
  • SVG format: modules/lang-compiler/.../viz/SVGRenderer.scala
  • Mermaid format: modules/lang-compiler/.../viz/MermaidRenderer.scala

Error Handling:

  • Core errors: modules/core/.../ConstellationError.scala
  • Compiler errors: modules/lang-compiler/.../CompilerError.scala
  • Error formatting: modules/lang-compiler/.../ErrorFormatter.scala
  • Error utilities: modules/runtime/.../errors/ErrorHandling.scala

By Common Task

Adding a new module to example-app:

  1. Create module in modules/example-app/.../modules/
  2. Add to ExampleLib.scala (signature + registration)
  3. Restart server with make server

Fixing a parse error:

  1. Check modules/lang-parser/.../ConstellationParser.scala
  2. Add test in modules/lang-parser/src/test/
  3. Run make test-compiler

Fixing a type error:

  1. Check modules/lang-compiler/.../TypeChecker.scala
  2. Look at semantic types in modules/lang-compiler/.../semantic/SemanticType.scala
  3. Add test and run make test-compiler

Adding LSP feature:

  1. Update modules/lang-lsp/.../ConstellationLanguageServer.scala
  2. Add protocol types in modules/lang-lsp/.../protocol/
  3. Test in VSCode extension

Adding HTTP endpoint:

  1. Add route in modules/http-api/.../ConstellationRoutes.scala
  2. Add models in modules/http-api/.../ApiModels.scala
  3. Test with curl or dashboard

Building a cross-process module provider:

  1. Add module-provider-sdk dependency to your project
  2. Define ModuleDefinition with name, types, and handler function
  3. Create ConstellationProvider with namespace, instance addresses, and transport
  4. Call provider.register(module) then provider.start.useForever
  5. See Module Provider Integration Guide

Adding standard library function:

  1. Create module in appropriate category file in modules/lang-stdlib/.../categories/
  2. Register in modules/lang-stdlib/.../StdLib.scala
  3. Add signature to allSignatures
  4. Add module to allModules

Issue Triage Quick Reference

Issue TypePrimary Module(s)Key Files
Type errors, CValue/CType bugscoreTypeSystem.scala
Module execution, ModuleBuilderruntimeModuleBuilder.scala, Runtime.scala
Parse errors, syntax issueslang-parserConstellationParser.scala
Type checking, semantic errorslang-compilerTypeChecker.scala, SemanticType.scala
DAG compilation issueslang-compilerDagCompiler.scala, IRGenerator.scala
Standard library functionslang-stdlibStdLib.scala, categories/*
LSP, autocomplete, diagnosticslang-lspConstellationLanguageServer.scala
HTTP endpoints, WebSockethttp-apiConstellationServer.scala, ConstellationRoutes.scala
Example modules (text, data)example-appmodules/TextModules.scala, modules/DataModules.scala
Cross-process module providersmodule-provider-sdk, module-providerConstellationProvider.scala, ModuleProviderManager.scala
Provider SDK (client library)module-provider-sdkConstellationProvider.scala, ModuleDefinition.scala
Provider server (registration)module-providerModuleProviderManager.scala, SchemaValidator.scala
VSCode extensionvscode-extension/src/extension.ts, src/panels/*.ts
Dashboard UIdashboard/src/
Dashboard E2E testsdashboard-tests/tests/, pages/

See Also