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
<PackageReference Include="Qyl.Api.Contracts" Version="2.1.0" />
<PackageVersion Include="Qyl.Api.Contracts" Version="2.1.0" />
<PackageReference Include="Qyl.Api.Contracts" />
paket add Qyl.Api.Contracts --version 2.1.0
#r "nuget: Qyl.Api.Contracts, 2.1.0"
#:package Qyl.Api.Contracts@2.1.0
#addin nuget:?package=Qyl.Api.Contracts&version=2.1.0
#tool nuget:?package=Qyl.Api.Contracts&version=2.1.0
@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.jsongenerated/json-schema/qyl-api-schema.jsongenerated/contracts/**/*.csgenerated/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 | Versions 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. |
-
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 |