@ancplua/qyl-api-schema

中文文档
14.0.1发布于 2026/10/17Apache-2.0TypeScriptES Module零依赖近 30 天下载 4217

Typec Qyl API合同的真相来源. (原始内容存档于2018-10-11). Emits OpenAPI, JSON Schema, Qyl.Api. Contract DTOs, and TypeScript Contract type; 不是 OpenTeleometry 软件包, 存储计划, 或服务器执行 .

此软件包已被标记为弃用

Moved into ANcpLua/qyl as internal contracts; no longer published.

中文使用文档
文档目录10 节
  1. 错误和页面
  2. 合同管道
  3. 边界
  4. 已出版文物
  5. 软件包出口
  6. 运行时间验证
  7. 合同修订
  8. 调查合同
  9. 捐款
  10. 许可证

@ancplua/qyl-api-schema (英语)

TypeSpec为Qyl客户端可见产品API提供的真实来源. 此寄存器 它不执行服务器, 存储引擎,或OTLP接收器.

合同涵盖每个客户可见的qyl采集器和跑道表面:

  • 追踪 —— 说 GET /api/v1/traces,一个跟踪, 及其跨度(api/routes.tsp, (中文(简体) ), otel/span.tsp) (中文(简体) ).
  • 日志 —— 说 GET /api/v1/logs 和现场SSE流 GET /api/v1/stream/logs 及其心跳(api/streaming.tsp, (中文(简体) ), otel/logs.tsp) (中文(简体) ).
  • 计量,只读 GET /api/v1/metrics 列出参数描述符 为一个项目录制, GET /api/v1/metrics/{metric_name}/series 列出 在一个标准名称下有不同的属性流,以及 GET /api/v1/metrics/{metric_name}/query 跨时间范围合计 1 公分 装入桶中models/metrics.tsp) (中文(简体) ). 系列保留其资源和仪器 范围。 使用 series_id 当仪器描述符冲突时选择一个精确的流; 模糊范围查询返回 409 。 测量点在OTLP上写着 本合同没有说明。 不支持配置文件 .
  • 会议 —— 说 GET /api/v1/sessions,一个会,它的痕迹和 /stats (单位:千美元)models/session.tsp) (中文(简体) ).
  • 卫生 —— 说 GET /health 财务报告和审定财务报表 GET /alive,其 HealthReport 携带 contract_revision 握个手models/health.tsp) (中文(简体) ).
  • MCP工具 qyl MCP工具的输入和结构化输出模型 (单位:千美元)models/mcp-tools.tsp) (中文(简体) ).
  • 工作区 本地 MCP 工作台:会话、工作空间、服务器、协议 流、处决、测试案例、套房、评估运行和出口 (单位:千美元)api/workbench.tsp, (中文(简体) ), models/workbench.tsp) (中文(简体) ).
  • 运行者 ——本地跑者只回放回放 /runner/resources 缩写, SSE 流程、日志和重新启动/停止动作 collector, (中文(简体) ), project 财务报告和审定财务报表 command 流程(api/runner.tsp, (中文(简体) ), models/runner.tsp. MCP 服务器身份和工具 发现被Workbench连接和发现快照曝光.
  • 共享 ——RFC 9457问题细节(common/errors.tsp),光标页 (单位:千美元)common/pagination.tsp)和常见的平板common/),加奥特尔 资源、跨度和日志预测otel/) (中文(简体) ).

遥测本身从未通过本合同更改或删除;保留 将取去. 唯一的可写资源是说明(/api/v1/annotations, (中文(简体) ), 保存的查询 (单位:千美元)/api/v1/saved-queries,用于跟踪、日志或度量的命名结构过滤器, 运行与 POST …/{saved_query_id}:run)和失败状态 (单位:千美元)PATCH /api/v1/failures/{failure_id},记录的失败状态、受让人或 被忽略直到时间。 说明和保存的查询扩展共享的写基础 common/resource.tsp: 服务器指定 id, (中文(简体) ), created_at, (中文(简体) ), updated_at 财务报告和审定财务报表 etag· ; Idempotency-Key 创建, 答案 201 与 Location· ; If-Match 打开 PATCH 财务报告和审定财务报表 DELETE,拒绝 428 失踪时 412 讽t 这个 失败状态 PATCH 一样 If-Match。收集器键带有角色 ingest, (中文(简体) ), read, (中文(简体) ), write 财务报告和审定财务报表 delete (单位:千美元)CollectorKeyRole); 写入需要 write, (中文(简体) ), 删除 delete。 。 。 .

错误和页面

每个错误机构都是RFC 9457问题 application/problem+json数字 : type, (中文(简体) ), title, (中文(简体) ), status, (中文(简体) ), detail 财务报告和审定财务报表 instance,加上扩展成员 code每一个 问题类型修正其 type URI (美国)https://qyl.at/problems/<name>) 及其定义 code (单位:千美元)not_found, (中文(简体) ), validation_failed,所以客户端的分支 要么,从不 title 或者说 detail问题机构没有标题。 发布响应头 服务器发送的操作 : X-Trace-Id 在收藏家的500个回应, WWW-Authenticate 工作台的401个回复.

每个列表操作页都带有不透明的光标。 这需要 limit (单位:千美元)PageLimit:1至1000,略去时为100)和 cursor,其页面带有 has_more 在每页中,除末页外, next_cursor,下一个请求 发回作为 cursor。 。 。 .

合同管道

authored Qyl TypeSpec
        |
        +----> OpenAPI ----> bundled JSON Schema
        +----> Qyl.Api.Contracts
        +----> generated TypeScript contracts

Qyl域模型,路由,响应,流出事件,以及出错在此被编写. 与OTel兼容的模型载有生产者发送的值; Qyl.Telemetry.SemanticConventions 拥有 注册词汇和语义验证. 属性密钥横过线作为打开的字符串地图,所以本合同没有 列出 OpenTeleometry 属性注册 .

边界

  • 每个客户端可见的Qyl 请求,响应,流事件,以及错误被定义于 此仓库 .
  • OTLP 摄取在运行时间使用 OpenTeleometry protobuf 的官方消息,并且是 这里没有重新定义 .
  • 模式 otel/ qyl线路使用的是客户端的JSON预测,而不是 OTLP电讯信息.
  • 收集器存储行、摄入批次、查询模型和内部预测 不跨越 HTTP、 gRPC、 MCP、 流线或生成客户端边界 .

如果运行时形状需要变成客户端可见,请先将其添加到TypeSpec中, 重新生成文物,并将运行时间模型映射到生成的合同.

已出版文物

两个登记册都从一个发行标签上印出同样的版本。 合同预付款 它自己的主要节奏,没有跟踪qyl产品版本——它已经是 5.0.0 当qyl发射时 1.0.0从 npm 或 nuget.org 读取当前版本 而不是从这里的作词;此行移动快于修正的README.

生态系统艺术目的
npm/ 类型Spec@ancplua/qyl-api-schema为 Spec 用户编写的计划
新建Qyl.Api.Contracts只有BCL产生的.NET合同
已生成OpenAPI, JSON Schema, 类型脚本客户和验证投入

main.tsp 是本地编译的切入点,并包含发射道. index.tsp 是已公布的 TypeSpec 切入点,只包含客户端的创建合同.

软件包出口

子路径内容
@ancplua/qyl-api-schemaindex.tsp,整个类型Spec合同
@ancplua/qyl-api-schema/otelotel/otel-conventions.tsp: 仅针对不想要qyl API 的 TypeSpec 消费者的OTel 形状资源, 跨度和日志模型
@ancplua/qyl-api-schema/types生成类型脚本合同类型和 CONTRACT_REVISION 常数
@ancplua/qyl-api-schema/openapiqyl.openapi.json
@ancplua/qyl-api-schema/json-schema捆绑的JSON斯克马
@ancplua/qyl-api-schema/zod运行时间验证器, 下方
@ancplua/qyl-api-schema/runtime生成的演示文稿助手 AttributeValue 匹配器( e)decodeAttributeValue, (中文(简体) ), formatAttributeValue, (中文(简体) ), attributeString, (中文(简体) ), attributeNumber, (中文(简体) ), attributeIdentity, (中文(简体) ), matchAttributeValue)和 UnixNanos 字符串助手( e)parseUnixNanos, (中文(简体) ), compareUnixNanos, (中文(简体) ), unixNanosDelta, (中文(简体) ), unixNanosToEpochMs, (中文(简体) ), unixNanosToIso, (中文(简体) ), epochMsToUnixNanos) (中文(简体) ). 撰写于 src/runtime/编译为 generated/runtime/

运行时间验证

@ancplua/qyl-api-schema/zod 从捆绑的 JSON Schema 创建 Zod 验证器 运行时间。 上面是翻译层 z.fromJSONSchema ——写入 src/zod/ 并编入 generated/zod-runtime/ - 不是第二个手写的计划,所以 合同更改不能留下描述上一个形状的验证符 .

import { publishedContractSchema } from "@ancplua/qyl-api-schema/zod";
import type { Span } from "@ancplua/qyl-api-schema/types";

const SpanSchema = publishedContractSchema<Span>("OTel.Traces.Span");
const span = SpanSchema.parse(await response.json());

zod 是一个可选的对等依赖( e)>=4.5.0 <5:消费者不 安装它从不导入此子路径, 其他子路径也不依赖 就在这 定义名称为已公布 $defs 键 — OpenAPI 的同名名称 组件和生成的 C# 和 TypeScript 的 DTO 携带——和 contractDefinitionNames() 列出全部。 未检查类型参数 与计划相对应,因此与匹配类型从 ./types。 。 。 .

合同修订

scripts/emit-contract-revision.mjs 确定性的修改 sha256: 加号 合同中的头16个六十六个字符 语义文摘——两入 期间生成的面孔 bun run compile一个收藏家报告它建造的修改 因此客户端可以检测到从不同角度构建的同伴 合同,而不是一次发现一个不匹配的字段。 读取 运行中的收藏器或生成的文物的当前值;它是衍生出来的,永远不会 手持着.

打开API info.version 是发行版本 : prepack 把它印入包装 文档从释放标记中,跟踪文档保留 TypeSpec 的 0.0.0编辑 摘要排除 info.version,所以一个只改变其版本的版本 该修订版.

调查合同

生成的 Mcp.Tools 表面覆盖32个工具的qyl MCP集. 26个读取工具中每个都有不同的,有打字的 POST /api/v1/analysis/<tool_name> 操作。 结构化上游支持共享匹配者操作器;读取结果带有绝对值 window 财务报告和审定财务报表 coverage 与无效的未知数。 现有的跟踪、日志、计量和会话REST路径仍然可用.

失败状态通过 PATCH /api/v1/failures/{failure_id} 与 If-Match。失败的手柄、验证符和光标由采集器进行范围界定和验证。 注释合同支持失败目标,标签,分类和重试键. 这些合同只载有产品数据;遥测运行时间的依赖性仍然存在于其生产者储存库中.

收集器的行为和种子活工具的答案由收集器和MCP套件对照同样的生成的合同进行测试.

捐款

如何建造、提供、再生和出版 捐款额。 。 。 .

许可证

阿帕奇 - 2.0

版本与发布记录

@ancplua/qyl-api-schema 共发布 62 个版本,首次发布于 2026/06/26;过去 12 个月发布了 62 个版本。

版本发布日期距今
14.0.1latest2026/10/1721 天前
14.0.02026/10/1622 天前
13.0.02026/10/1622 天前
12.1.22026/10/1424 天前
12.1.12026/10/1226 天前
12.1.02026/10/1226 天前

其他发布通道:next → 11.6.0-rc.1。

关于 @ancplua/qyl-api-schema 的常见问题

@ancplua/qyl-api-schema 是什么?

Typec Qyl API合同的真相来源. (原始内容存档于2018-10-11). Emits OpenAPI, JSON Schema, Qyl.Api. Contract DTOs, and TypeScript Contract type; 不是 OpenTeleometry 软件包, 存储计划, 或服务器执行 .注意:该包已被作者标记为弃用——Moved into ANcpLua/qyl as internal contracts; no longer published.

如何安装 @ancplua/qyl-api-schema?

在项目目录运行 npm install @ancplua/qyl-api-schema,或使用 pnpm add / yarn add / bun add。

@ancplua/qyl-api-schema 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ancplua/qyl-api-schema 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@ancplua/qyl-api-schema 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@ancplua/qyl-api-schema 可以商用吗?

@ancplua/qyl-api-schema 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@ancplua/qyl-api-schema 的下载量有多少?

根据 npm 官方下载统计,@ancplua/qyl-api-schema 在 2026/10/06 – 2026/11/04 这 30 天内被下载 4,217 次,日均约 141 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ancplua/qyl-api-schema 还在维护吗?

最新版本 14.0.1 发布于 2026/10/17(21 天前);至今共发布 62 个版本,其中过去 12 个月发布了 62 个;首次发布于 2026/06/26。作者已将其标记为弃用,新项目建议寻找替代方案。