Qyl.Api.Contracts 2.1.0

dotnet add package Qyl.Api.Contracts --version 2.1.0
                    
NuGet\Install-Package Qyl.Api.Contracts -Version 2.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="Qyl.Api.Contracts" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Qyl.Api.Contracts" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Qyl.Api.Contracts" />
                    
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 Qyl.Api.Contracts --version 2.1.0
                    
#r "nuget: Qyl.Api.Contracts, 2.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 Qyl.Api.Contracts@2.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=Qyl.Api.Contracts&version=2.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Qyl.Api.Contracts&version=2.1.0
                    
Install as a Cake Tool

@ancplua/qyl-api-schema

The TypeSpec source of truth for Qyl's client-visible product API. This repository emits the public schema and contract artifacts; it does not implement the server, storage engine, or OTLP receiver.

Qyl stores and exposes traces and logs. Metrics are accepted and discarded only by the collector's OTLP wire-compatibility handlers, so this product contract exposes no metric DTOs or routes. Profiles are not supported.

Contract pipeline

Qyl.OpenTelemetry.SemanticConventions
        |
        | generated semantic key projection
        v
generated/otel-keys.gen.tsp
        |
        v
authored Qyl TypeSpec
        |
        +----> OpenAPI ----> bundled JSON Schema
        +----> Qyl.Api.Contracts
        +----> generated TypeScript contracts

The semantic-key projection is generated from the sibling conventions repository's pinned core and GenAI registries. It supplies typed names for telemetry attributes; Qyl domain models, routes, responses, stream events, and errors are authored here.

Boundary

  • Every client-visible Qyl request, response, stream event, and error is defined in this repository.
  • OTLP ingestion uses official OpenTelemetry protobuf messages in the runtime and is not redefined here.
  • Models under otel/ used by Qyl routes are client-facing JSON projections, not OTLP wire messages.
  • Collector storage rows, ingest batches, query models, and internal projections do not cross an HTTP, gRPC, MCP, streaming, or generated-client boundary.

If a runtime shape needs to become client-visible, add it to TypeSpec first, regenerate the artifacts, and map the runtime model to the generated contract.

Published artifacts

Ecosystem Artifact Purpose
npm/TypeSpec @ancplua/qyl-api-schema Authored schema for TypeSpec consumers
NuGet Qyl.Api.Contracts BCL-only generated .NET contracts
Generated OpenAPI, JSON Schema, TypeScript Client and validation inputs

main.tsp is the local compile entry point and includes emitter routing. index.tsp is the published TypeSpec entry point and contains only the client-facing contract.

Develop

Development and CI use Node.js 24 LTS. Published npm artifacts support maintained Node.js releases from 22 onward.

npm ci
npm run lint
npm run lint:public
npm run compile
./build.sh Check

Important generated outputs include:

  • generated/openapi/qyl.openapi.json
  • generated/json-schema/qyl-api-schema.json
  • generated/contracts/**/*.cs
  • generated/ts-types/**

Generated files are not editing surfaces. OpenAPI comes from the official TypeSpec emitter; the bundled JSON Schema is a deterministic projection of its component schemas and exposes inline route bodies as stable Operations.<operationId>.Request and Operations.<operationId>.Response.<status> definitions. Both artifacts preserve the same wire names. Change TypeSpec or the owning generator and regenerate.

Publish

GitHub Actions publishes both registries through OIDC trusted publishing. A release tag supplies one version for npm and NuGet. The workflow validates and packs first, publishes in an ordered restartable sequence, waits for indexed artifacts, and then smokes clean consumers. No long-lived npm or NuGet token is stored.

License

Apache-2.0

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.
  • net10.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Qyl.Api.Contracts:

Package Downloads
Qyl.Host

qyl's distributed-app host — fluent AppHost-equivalent with Spectre.Console CLI, subprocess orchestration, and deferred endpoint resolution. Zero Aspire deps; ships on the shared Microsoft.AspNetCore.App framework plus Spectre.Console.

Qyl.Host.Mcp

MCP support for the qyl runner — initialize + tools/list readiness, connection-only stdio/HTTP resources, /runner/mcp passthrough, and OTLP export of the official MCP SDK ActivitySource. Opt-in package; the engine has no MCP assumption.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.0 0 7/25/2026
2.0.0 0 7/25/2026
1.0.5 313 7/22/2026
1.0.4 330 7/21/2026
1.0.3 373 7/19/2026
1.0.2 682 7/15/2026
1.0.0 88 7/15/2026
0.6.1 98 7/15/2026
0.6.0 108 7/15/2026
0.5.15 138 7/15/2026
0.5.14 132 7/14/2026
0.5.13 97 7/14/2026
0.5.12 93 7/14/2026
0.5.11 98 7/14/2026
0.5.10 231 7/13/2026
0.5.9 104 7/13/2026
0.5.8 99 7/13/2026
0.5.7 104 7/13/2026
0.5.6 89 7/13/2026
0.5.5 104 7/13/2026
Loading failed