AIGuiders.Platform.Modeling.Language 0.1.0

dotnet add package AIGuiders.Platform.Modeling.Language --version 0.1.0
                    
NuGet\Install-Package AIGuiders.Platform.Modeling.Language -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AIGuiders.Platform.Modeling.Language" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AIGuiders.Platform.Modeling.Language" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="AIGuiders.Platform.Modeling.Language" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AIGuiders.Platform.Modeling.Language --version 0.1.0
                    
#r "nuget: AIGuiders.Platform.Modeling.Language, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AIGuiders.Platform.Modeling.Language@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AIGuiders.Platform.Modeling.Language&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=AIGuiders.Platform.Modeling.Language&version=0.1.0
                    
Install as a Cake Tool

AIGuiders.Platform.Modeling.Language

Language Resolver Center kernel — LSP-shaped request/result envelopes, language id resolution, and the ILanguageBackend seam for multi-language tooling.

What you get

  • Kernel envelopes, all [<CLIMutable>] records in one namespace:
    • SourceSpan — path + line/column range (1-based)
    • Severity — Error / Warning / Info / Hint
    • LanguageDiagnostic, LanguageSymbol (hierarchical, with Children), LanguageNavigation, LanguageReference, LanguageCompletion
    • Result payloads: DiagnosticsResult, DocumentSymbolsResult, CompletionsResult, FindUsagesResult, SymbolAtPositionResult, RenameSymbolResult (+ RenameFileChange)
    • LanguageRequest — one request shape: file path, line/column, source text, solution/project path, session language id
  • ILanguageBackend — the backend seam: LanguageId, CanHandle(path, hint), and async verbs GetDiagnosticsAsync, GetDocumentSymbolsAsync, GoToDefinitionAsync, FindUsagesAsync, GetCompletionsAsync, GetSymbolAtPositionAsync, RenameSymbolAsync
  • LanguageIds — well-known language id literals: Csharp, Fsharp, Typescript, Gdl, PowerShell, Python, Delphi, Dashspec, Sql (+ SqlPostgres, SqlMssql, SqlSqlite), Latex
  • LanguagePathRules.resolveLanguageId — extension/filename-based resolution: .cs, .fs/.fsx, .ts/.tsx/.js/.jsx, .ps1/.psm1, .py, .pas/.dpr, .gdl, .sql, the TeX family (.tex/.sty/.cls/.bib/…), project files (.sln/.slnx/.csproj/.fsproj/.gdlproj), and tsconfig.json / pyproject.toml
  • DashSpecPathRules — .ds extension check (isDashSpecPath)
  • ProjectHint / RenameSymbolRequest envelopes, and ILanguageActivationCatalog — optional host-side activation seam
  • TextEdit + BufferEditOutcome (with BufferEditOutcome.fromText) — LSP-shaped single-edit and buffer command result

Quick start

open AIGuiders.Platform.Modeling.Language

// Which language owns this file?
let languageId = LanguagePathRules.resolveLanguageId "src/App/Program.fs"
// Some "fsharp" — .fs/.fsx map to LanguageIds.Fsharp

// The single request shape every backend verb consumes
let request : LanguageRequest =
    { FilePath = "src/App/Program.fs"
      Line = 3
      Column = 7
      SourceText = "let answer = 42"
      SolutionOrProjectPath = "App.sln"
      SessionDefaultLanguageId = LanguageIds.Fsharp }

Problem

  • Tools that host many languages — language servers, review bots, agent IDEs, doc generators — keep asking the same two questions:
    • which language owns this file (extension sniffing, again, per tool)
    • what shape do the answers take (diagnostics, outline, go-to-definition, find-usages, completions, rename)
  • Without a shared contract each backend grows its own tuples or JSON, and dispatch becomes a flat if language switch with per-language result shapes.

Solution

  • One typed contract for the verbs and one rule-set for language id resolution, in a leaf package with no parser dependencies.
  • Adapters project into these envelopes only — no backend AST leaks into the kernel; dispatch/registry stays with the host.
  • This is the kernel of the federation's Language Resolver Center, dogfooded by its CDP host and F#/GDL/SQL adapters — ADR-0061, seam defined in GUIDERS-FSHARP-ADR-0003.

When not to use

  • Expecting language work from this package — it is envelopes, resolution rules, and the seam; parsing/checking/navigation live in adapter packages (for F#, see AIGuiders.Platform.Modeling.Language.Adapters.Fcs).
  • Needing the LSP wire protocol — shapes are LSP-like but there is no JSON-RPC, no position-encoding negotiation; transport is yours.
  • Needing a backend registry or multiplexer — the kernel defines the contract only; hosting and routing across backends belong to the host process.

Learn more


MIT · Source & issues · part of the Guiders federation

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on AIGuiders.Platform.Modeling.Language:

Package Downloads
AIGuiders.Platform.Modeling.Language.Adapters.Sql

SQL sql.script backends for Language Resolver Center.

AIGuiders.Platform.Modeling.Language.Adapters.Gdl

GDL quarry backend for Language Resolver Center.

AIGuiders.Platform.Modeling.Language.Adapters.Fcs

F# Compiler Service backend for Language Resolver Center.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 109 10/24/2026