1
0
Files
DiAL/openspec/specs/meta-api/spec.md
lanyuanxiaoyao e983e5d75d refactor: 重命名 command checker 为 cmd checker 并适配跨平台测试
将 type/configKey 从 "command" 统一为 "cmd",源码目录 runner/command/ → runner/cmd/,
spec 目录 command-checker/ → cmd-checker/,测试全部改用 bun -e 替代 Unix 系统命令,
归档 cmd-checker-enhancement 变更并同步 delta spec 到主 spec。
2026-05-14 09:23:10 +08:00

1.2 KiB
Raw Blame History

Purpose

定义系统运行时元数据 APIchecker 类型列表等元信息的对外暴露方式。

Requirements

Requirement: Meta 信息 API

系统 SHALL 提供 GET /api/meta 端点,返回系统运行时元数据。未匹配 method SHALL 按 API 通配符处理为 JSON 404不再保留自定义 HEAD/405 语义。

Scenario: 获取 checker 类型列表

  • WHEN 客户端请求 GET /api/meta
  • THEN 系统 SHALL 返回 JSON { checkerTypes: string[] },包含所有已注册的 checker 类型标识符(如 ["http", "cmd"]

Scenario: 类型列表来源

  • WHEN 系统启动并注册了 checker
  • THEN /api/meta 返回的 checkerTypes SHALL 与 CheckerRegistry.supportedTypes 完全一致

Scenario: 不支持的 method 请求

  • WHEN 客户端使用 POST/PUT/DELETE/HEAD 等未声明 method 请求 /api/meta
  • THEN /api/* 通配符 SHALL 返回 JSON 404 响应

Requirement: MetaResponse 共享类型

系统 SHALL 在 src/shared/api.ts 中定义 MetaResponse 类型。

Scenario: MetaResponse 类型定义

  • WHEN 前后端引用 MetaResponse 类型
  • THEN 该类型 SHALL 包含 checkerTypes: string[] 字段