切换主题
yoyoboot admin inspect
需要了解资源操作、字段映射、标准 CRUD 资格或权限关系时使用。所有事实来自正式生成 catalog,不能把资源查询成功当作标准模块创建资格通过。
基本用法
text
yoyoboot admin inspect <permission|permissions|resource|resources> [arguments] [--json]在 YoyoBoot 源码仓库中运行
查询当前真实计量单位资源的正式合同。
text
pnpm --dir tools/yoyoboot-cli run cli -- admin inspect resource measuringUnit --json参数
| 参数 | 必填 | 说明 |
|---|---|---|
subject | 是 | 查询对象,当前支持:permission、permissions、resource、resources。 |
--json | 否 | 以 JSON 输出完整结果信封,供机器读取。 |
--help | 否 | 展示帮助;yoyoboot --help / yoyoboot <command> --help。 |
--repo <path> | 否 | 显式指定仓库查找起点;缺省从当前工作目录向上查找。 |
permission
精确查询单条权限,并投影 catalog 关系:ancestors / directChildren。
text
yoyoboot admin inspect permission <permissionName> [--json]| 参数 | 必填 | 说明 |
|---|---|---|
permissionName | 是 | 完整权限名,例如 Pages.Administration.Tenants.Query。 |
permissions
列出 capability catalog 中的权限(含 displayName / parent / multiTenancySides / source);可只取某前缀。
text
yoyoboot admin inspect permissions [--prefix <prefix>] [--json]| 参数 | 必填 | 说明 |
|---|---|---|
--prefix <value> | 否 | 只返回该前缀本身及其后代;无匹配时 exit 2(避免拼错前缀拿到空列表)。 |
resource
投影单个资源的完整契约:operations + operationId、requestSchemas、list 查询参数、getForEdit idParameter、create/update 字段映射,以及 standard-crud compatibility。
text
yoyoboot admin inspect resource <resourceKey> [--json]| 参数 | 必填 | 说明 |
|---|---|---|
resourceKey | 是 | camelCase 资源 key,例如 measuringUnit。 |
resources
列出生成的 CRUD resource catalog 中的全部真实资源(resourceKey / serviceName / operations)。
text
yoyoboot admin inspect resources [--json]| 参数 | 必填 | 说明 |
|---|
示例
固定示例仓库中的返回结果
text
yoyoboot admin inspect resources --json此命令针对固定示例仓库。下面只展示公开字段投影,不是当前 checkout 的完整输出。
json
{
"command": "inspect resources",
"status": "ok",
"data": {
"kind": "resources",
"resources": [
{
"resourceKey": "exampleItem",
"serviceName": "ExampleItem",
"operations": [
"list"
]
}
]
}
}固定示例仓库中的返回结果
text
yoyoboot admin inspect resource exampleItem --json此命令针对固定示例仓库。下面只展示公开字段投影,不是当前 checkout 的完整输出。
json
{
"command": "inspect resource exampleItem",
"status": "ok",
"data": {
"kind": "resource",
"resource": {
"resourceKey": "exampleItem",
"serviceName": "ExampleItem",
"operations": [
{
"operation": "list",
"operationId": "ExampleItem_GetAll"
}
],
"standardCrud": {
"eligible": false,
"code": "resource-binding-incomplete"
}
}
}
}固定示例仓库中的返回结果
text
yoyoboot admin inspect permissions --prefix Pages.Example --json此命令针对固定示例仓库。下面只展示公开字段投影,不是当前 checkout 的完整输出。
json
{
"command": "inspect permissions",
"status": "ok",
"data": {
"kind": "permissions",
"prefix": "Pages.Example",
"permissions": [
{
"name": "Pages.Example",
"displayName": "示例",
"parent": null,
"multiTenancySides": null,
"source": null
},
{
"name": "Pages.Example.Query",
"displayName": "查询",
"parent": "Pages.Example",
"multiTenancySides": null,
"source": null
}
]
}
}固定示例仓库中的返回结果
text
yoyoboot admin inspect permission Pages.Example.Query --json此命令针对固定示例仓库。下面只展示公开字段投影,不是当前 checkout 的完整输出。
json
{
"command": "inspect permission Pages.Example.Query",
"status": "ok",
"data": {
"kind": "permission",
"permission": {
"name": "Pages.Example.Query",
"displayName": "查询",
"parent": "Pages.Example",
"multiTenancySides": null,
"source": null
},
"ancestors": [
"Pages.Example"
],
"directChildren": []
}
}返回结果
根据 subject 投影资源与权限的正式 catalog 合同。
主要字段
| 字段 | 说明 |
|---|---|
command | 实际结果命令名;Admin 保留子命令名,入口捕获异常时为 cli。 |
status | ok / warn / error;同时检查退出码及诊断码。warn 可以退出 0。 |
findings[] | 诊断项包含 code、status、message,可选 detail;机器使用 code 分支,不解析消息。 |
source | JSON 顶层命令实现来源,包含 kind / path / owner。 |
data | 命令结果;入口捕获失败时可能缺省,部分诊断失败仍保留结果。 |
data.kind | resources / resource / permissions / permission,据此区分下面的结果。 |
data.source | 来源包含 path,以及可选 schemaVersion、generator、generatorVersion、sourceHash;来源版本不等于结果版本。 |
data.resources[] | resources:resourceKey、serviceName、operations(操作名数组)。 |
data.resource | resource:resourceKey、serviceName、operations、requestSchemas、binding、standardCrud。 |
data.resource.operations[] | operation 与 operationId。 |
data.resource.requestSchemas[] | operation 与 schemaRef。 |
data.resource.binding.list | 可选;queryParameters(parameter/field)、itemsPath、totalCountPath。 |
data.resource.binding.getForEdit | 可选;idParameter、entityPath。 |
data.resource.binding.create / update / setEnabled | 可选;fieldMappings,每项 source 字段名与 target 路径片段数组。 |
data.resource.binding.remove | 可选;idParameter。 |
data.resource.standardCrud | eligible=true:rowKey、formFields(key/editableOn)、operations 的 create/update/setEnabled/remove 布尔值;eligible=false:code/message。 |
data.prefix | permissions:过滤前缀;未指定时 null。 |
data.permissions[] | 完整权限 descriptor:name、displayName、parent、multiTenancySides、source;后三项可能 null。 |
data.permission | 完整权限 descriptor:name、displayName、parent、multiTenancySides、source;后三项可能 null。 |
data.ancestors | permission:从根到直接父级的权限名数组。 |
data.directChildren | permission:直接子权限名数组。 |
使用说明
- 仓库根使用
pnpm --dir tools/yoyoboot-cli run cli -- <命令参数>;已完成构建时也可使用node tools/yoyoboot-cli/dist/bin.js <命令参数>。 - JSON 示例来自固定示例仓库的公开投影,省略实现来源、规则文件位置及大段内容;
<...>是明确的环境占位符。完整字段见返回结果表,实际内容以当前工作树为准。 - 全局参数严格解析:未知、重复、缺值参数返回退出码 2;
--help输出文本,即使同时指定--json。 - 此结果没有独立的
data.schemaVersion;不要把来源 catalog 版本或 Reference metadata 版本当成结果版本。 - standardCrud.eligible=false 是观察结果,资源存在时仍查询成功。prefix 匹配该权限本身及点分后代;不存在的前缀返回失败。
- 所有事实读取正式 catalog,不解析业务 TypeScript、route 或 manifest 猜测领域。inspect module 尚未提供。
退出码
| Exit code | 含义 |
|---|---|
0 | 成功或仅有警告;警告仍需阅读。 |
2 | 预期失败:参数、仓库或领域条件不满足,或严格检查未通过。 |
1 | 未预期程序错误。 |
常见错误
permission-prefix-not-found
没有权限匹配该前缀。
处理方式:使用 admin inspect permissions 查询真实前缀。
crud-catalog-missing
正式 CRUD catalog 缺失。
处理方式:使用宿主正式 API 生成入口恢复 catalog。
crud-catalog-unreadable
CRUD catalog 不可解析或条目残缺。
处理方式:修复正式输入并重新生成,不能手写替代合同。
crud-catalog-empty
CRUD catalog 无资源。
处理方式:核对正式输入与生成器输出。
capability-catalog-missing
权限 catalog 缺失。
处理方式:使用 CapabilityExporter 恢复正式 catalog。
capability-catalog-unreadable
权限 catalog 不可解析或残缺。
处理方式:修复权限正式来源并重新生成。
capability-catalog-empty
权限 catalog 无权限。
处理方式:检查权限 Provider 和 exporter 输入。
unknown-resource-key
资源 key 不存在。
处理方式:先运行 admin inspect resources,选择真实 key。
unknown-permission-key
权限名或前缀不存在。
处理方式:先运行 admin inspect permissions;新权限先由正式 Provider 定义。
unknown-inspect-subject
查询对象不受支持。
处理方式:使用 capabilities 暴露的 subject。
相关命令
Reference 合同版本:
1.0.0结果合同版本:未独立版本化(实际结果没有 data.schemaVersion)
源码产品版本:
10.5.7(不代表 registry 发布状态)。