expert_eval_cli 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +9 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +25 -2
- package/dist/client.js.map +1 -1
- package/dist/commands/eval-items.js +36 -13
- package/dist/commands/eval-items.js.map +1 -1
- package/dist/commands/eval-records.js +9 -9
- package/dist/commands/eval-records.js.map +1 -1
- package/dist/commands/eval-tasks.d.ts +3 -0
- package/dist/commands/eval-tasks.d.ts.map +1 -0
- package/dist/commands/eval-tasks.js +197 -0
- package/dist/commands/eval-tasks.js.map +1 -0
- package/dist/commands/experts.d.ts.map +1 -1
- package/dist/commands/experts.js +26 -2
- package/dist/commands/experts.js.map +1 -1
- package/dist/commands/versions.d.ts.map +1 -1
- package/dist/commands/versions.js +44 -55
- package/dist/commands/versions.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/output.d.ts +3 -2
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +28 -2
- package/dist/output.js.map +1 -1
- package/dist/types.d.ts +104 -17
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/skill/SKILL.md +153 -0
- package/skill/references/api-reference.md +123 -0
package/dist/types.d.ts
CHANGED
|
@@ -3,6 +3,12 @@ export interface Expert {
|
|
|
3
3
|
expertId: string;
|
|
4
4
|
name: string;
|
|
5
5
|
avatar?: string | null;
|
|
6
|
+
type?: string;
|
|
7
|
+
field?: string;
|
|
8
|
+
title?: string;
|
|
9
|
+
organization?: string;
|
|
10
|
+
membersCount?: number | null;
|
|
11
|
+
members?: string[];
|
|
6
12
|
tags?: string[];
|
|
7
13
|
description?: string | null;
|
|
8
14
|
recommendedQuestion?: Record<string, string> | null;
|
|
@@ -14,21 +20,23 @@ export interface Expert {
|
|
|
14
20
|
}
|
|
15
21
|
export interface Version {
|
|
16
22
|
id: string;
|
|
17
|
-
expertId: string;
|
|
18
23
|
hash: string;
|
|
24
|
+
diff?: string | null;
|
|
19
25
|
commitMessage?: string | null;
|
|
20
26
|
author?: string | null;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
bac?: number | null;
|
|
24
|
-
dcg?: number | null;
|
|
27
|
+
evaluationDate?: string | null;
|
|
28
|
+
summary?: string | null;
|
|
25
29
|
createdAt: string;
|
|
26
30
|
updatedAt: string;
|
|
27
31
|
}
|
|
28
32
|
export type EvalItemType = 'structure' | 'bac' | 'dcg' | 'process' | 'deliver';
|
|
29
33
|
export interface EvalItem {
|
|
30
34
|
id: string;
|
|
35
|
+
itemCode?: string;
|
|
31
36
|
title: string;
|
|
37
|
+
category?: string;
|
|
38
|
+
description?: string | null;
|
|
39
|
+
maxScore?: number;
|
|
32
40
|
itemTypes?: EvalItemType[];
|
|
33
41
|
query?: string | null;
|
|
34
42
|
acceptanceCriteria?: string | null;
|
|
@@ -38,13 +46,37 @@ export interface EvalItem {
|
|
|
38
46
|
}
|
|
39
47
|
export interface EvalRecord {
|
|
40
48
|
id: string;
|
|
41
|
-
|
|
49
|
+
evalTaskId: string;
|
|
42
50
|
evalItemId: string;
|
|
43
51
|
query?: string | null;
|
|
44
52
|
result?: string | null;
|
|
45
53
|
isPassed: boolean;
|
|
46
54
|
bac?: number | null;
|
|
47
55
|
dcg?: number | null;
|
|
56
|
+
resultStatus?: string;
|
|
57
|
+
score?: number;
|
|
58
|
+
maxScore?: number;
|
|
59
|
+
observation?: string | null;
|
|
60
|
+
inspectorComment?: string | null;
|
|
61
|
+
severity?: string | null;
|
|
62
|
+
remediation?: string | null;
|
|
63
|
+
evidenceUrls?: string[];
|
|
64
|
+
createdAt: string;
|
|
65
|
+
updatedAt: string;
|
|
66
|
+
}
|
|
67
|
+
export interface EvalTaskPackage {
|
|
68
|
+
bucketId: string;
|
|
69
|
+
filePath: string;
|
|
70
|
+
}
|
|
71
|
+
export interface EvalTask {
|
|
72
|
+
id: string;
|
|
73
|
+
expertId: string;
|
|
74
|
+
versionId: string;
|
|
75
|
+
diff?: string | null;
|
|
76
|
+
package?: EvalTaskPackage | null;
|
|
77
|
+
isPassed: boolean;
|
|
78
|
+
bac?: number | null;
|
|
79
|
+
dcg?: number | null;
|
|
48
80
|
createdAt: string;
|
|
49
81
|
updatedAt: string;
|
|
50
82
|
}
|
|
@@ -58,7 +90,7 @@ export interface CliConfig {
|
|
|
58
90
|
apiKey?: string;
|
|
59
91
|
baseUrl?: string;
|
|
60
92
|
}
|
|
61
|
-
export type OutputFormat = 'json' | 'table' | 'auto';
|
|
93
|
+
export type OutputFormat = 'json' | 'csv' | 'table' | 'auto';
|
|
62
94
|
export interface GlobalOptions {
|
|
63
95
|
format?: OutputFormat;
|
|
64
96
|
quiet?: boolean;
|
|
@@ -72,6 +104,12 @@ export interface CreateExpertPayload {
|
|
|
72
104
|
expertId: string;
|
|
73
105
|
name: string;
|
|
74
106
|
avatar?: string | null;
|
|
107
|
+
type?: string;
|
|
108
|
+
field?: string;
|
|
109
|
+
title?: string;
|
|
110
|
+
organization?: string;
|
|
111
|
+
membersCount?: number | null;
|
|
112
|
+
members?: string[];
|
|
75
113
|
tags?: string[];
|
|
76
114
|
description?: string | null;
|
|
77
115
|
recommendedQuestion?: Record<string, string> | null;
|
|
@@ -83,6 +121,12 @@ export interface UpdateExpertPayload {
|
|
|
83
121
|
expertId: string;
|
|
84
122
|
name: string;
|
|
85
123
|
avatar?: string | null;
|
|
124
|
+
type?: string;
|
|
125
|
+
field?: string;
|
|
126
|
+
title?: string;
|
|
127
|
+
organization?: string;
|
|
128
|
+
membersCount?: number | null;
|
|
129
|
+
members?: string[];
|
|
86
130
|
tags?: string[];
|
|
87
131
|
description?: string | null;
|
|
88
132
|
recommendedQuestion?: Record<string, string> | null;
|
|
@@ -91,56 +135,94 @@ export interface UpdateExpertPayload {
|
|
|
91
135
|
latestVersionId?: string | null;
|
|
92
136
|
}
|
|
93
137
|
export interface CreateVersionPayload {
|
|
94
|
-
expertId: string;
|
|
95
138
|
hash: string;
|
|
139
|
+
diff?: string | null;
|
|
96
140
|
commitMessage?: string | null;
|
|
97
141
|
author?: string | null;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
bac?: number | null;
|
|
101
|
-
dcg?: number | null;
|
|
142
|
+
evaluationDate?: string | null;
|
|
143
|
+
summary?: string | null;
|
|
102
144
|
}
|
|
103
145
|
export interface UpdateVersionPayload {
|
|
104
|
-
expertId: string;
|
|
105
146
|
hash: string;
|
|
147
|
+
diff?: string | null;
|
|
106
148
|
commitMessage?: string | null;
|
|
107
149
|
author?: string | null;
|
|
108
|
-
|
|
150
|
+
evaluationDate?: string | null;
|
|
151
|
+
summary?: string | null;
|
|
152
|
+
}
|
|
153
|
+
export interface CreateEvalTaskPayload {
|
|
154
|
+
expertId: string;
|
|
155
|
+
versionId: string;
|
|
156
|
+
diff?: string | null;
|
|
157
|
+
package?: EvalTaskPackage | null;
|
|
158
|
+
isPassed: boolean;
|
|
159
|
+
bac?: number | null;
|
|
160
|
+
dcg?: number | null;
|
|
161
|
+
}
|
|
162
|
+
export interface UpdateEvalTaskPayload {
|
|
163
|
+
expertId?: string;
|
|
164
|
+
versionId?: string;
|
|
165
|
+
diff?: string | null;
|
|
166
|
+
package?: EvalTaskPackage | null;
|
|
109
167
|
isPassed?: boolean;
|
|
110
168
|
bac?: number | null;
|
|
111
169
|
dcg?: number | null;
|
|
112
170
|
}
|
|
113
171
|
export interface CreateEvalItemPayload {
|
|
172
|
+
itemCode: string;
|
|
114
173
|
title: string;
|
|
174
|
+
category?: string;
|
|
175
|
+
description?: string | null;
|
|
176
|
+
maxScore?: number;
|
|
115
177
|
itemTypes?: EvalItemType[];
|
|
116
178
|
query?: string | null;
|
|
117
179
|
acceptanceCriteria?: string | null;
|
|
118
180
|
isVeto?: boolean;
|
|
119
181
|
}
|
|
120
182
|
export interface UpdateEvalItemPayload {
|
|
183
|
+
itemCode?: string;
|
|
121
184
|
title?: string;
|
|
185
|
+
category?: string;
|
|
186
|
+
description?: string | null;
|
|
187
|
+
maxScore?: number;
|
|
122
188
|
itemTypes?: EvalItemType[];
|
|
123
189
|
query?: string | null;
|
|
124
190
|
acceptanceCriteria?: string | null;
|
|
125
191
|
isVeto?: boolean;
|
|
126
192
|
}
|
|
127
193
|
export interface CreateEvalRecordPayload {
|
|
128
|
-
|
|
194
|
+
evalTaskId: string;
|
|
129
195
|
evalItemId: string;
|
|
130
196
|
query?: string | null;
|
|
131
197
|
result?: string | null;
|
|
132
198
|
isPassed: boolean;
|
|
133
199
|
bac?: number | null;
|
|
134
200
|
dcg?: number | null;
|
|
201
|
+
resultStatus?: string;
|
|
202
|
+
score?: number;
|
|
203
|
+
maxScore?: number;
|
|
204
|
+
observation?: string | null;
|
|
205
|
+
inspectorComment?: string | null;
|
|
206
|
+
severity?: string | null;
|
|
207
|
+
remediation?: string | null;
|
|
208
|
+
evidenceUrls?: string[];
|
|
135
209
|
}
|
|
136
210
|
export interface UpdateEvalRecordPayload {
|
|
137
|
-
|
|
211
|
+
evalTaskId?: string;
|
|
138
212
|
evalItemId?: string;
|
|
139
213
|
query?: string | null;
|
|
140
214
|
result?: string | null;
|
|
141
215
|
isPassed?: boolean;
|
|
142
216
|
bac?: number | null;
|
|
143
217
|
dcg?: number | null;
|
|
218
|
+
resultStatus?: string;
|
|
219
|
+
score?: number;
|
|
220
|
+
maxScore?: number;
|
|
221
|
+
observation?: string | null;
|
|
222
|
+
inspectorComment?: string | null;
|
|
223
|
+
severity?: string | null;
|
|
224
|
+
remediation?: string | null;
|
|
225
|
+
evidenceUrls?: string[];
|
|
144
226
|
}
|
|
145
227
|
export interface ListExpertsParams {
|
|
146
228
|
page?: number;
|
|
@@ -150,7 +232,12 @@ export interface ListExpertsParams {
|
|
|
150
232
|
export interface ListVersionsParams {
|
|
151
233
|
page?: number;
|
|
152
234
|
pageSize?: number;
|
|
235
|
+
}
|
|
236
|
+
export interface ListEvalTasksParams {
|
|
237
|
+
page?: number;
|
|
238
|
+
pageSize?: number;
|
|
153
239
|
expertId?: string;
|
|
240
|
+
versionId?: string;
|
|
154
241
|
}
|
|
155
242
|
export interface ListEvalItemsParams {
|
|
156
243
|
page?: number;
|
|
@@ -159,7 +246,7 @@ export interface ListEvalItemsParams {
|
|
|
159
246
|
export interface ListEvalRecordsParams {
|
|
160
247
|
page?: number;
|
|
161
248
|
pageSize?: number;
|
|
162
|
-
|
|
249
|
+
evalTaskId?: string;
|
|
163
250
|
evalItemId?: string;
|
|
164
251
|
}
|
|
165
252
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expert_eval_cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "AI-friendly CLI for ExpertEval API — expert, version, eval-item and eval-record management",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
"dist/**/*",
|
|
12
|
+
"skill/**/*",
|
|
12
13
|
"README.md",
|
|
13
14
|
"LICENSE"
|
|
14
15
|
],
|
package/skill/SKILL.md
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: expert-eval-cli
|
|
3
|
+
version: "1.0.1"
|
|
4
|
+
description: >
|
|
5
|
+
ExpertEval CLI 工具技能:帮助用户安装、更新 expert_eval_cli,完成认证,
|
|
6
|
+
并执行 experts、versions、eval-items、eval-records 的 CRUD 操作。
|
|
7
|
+
当用户提到 ExpertEval、专家评估、评审记录、版本管理、评估项目时触发。
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# ExpertEval CLI 技能
|
|
11
|
+
|
|
12
|
+
本技能帮助用户和 AI Agent 使用 `expert_eval_cli` 命令行工具与 ExpertEval API 交互。
|
|
13
|
+
|
|
14
|
+
## 安装与更新
|
|
15
|
+
|
|
16
|
+
### 首次安装
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g expert_eval_cli
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
验证安装:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
expert_eval --version
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 更新到最新版
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm update -g expert_eval_cli
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
或先卸载再安装:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm uninstall -g expert_eval_cli
|
|
38
|
+
npm install -g expert_eval_cli
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## 认证
|
|
42
|
+
|
|
43
|
+
ExpertEval CLI 支持两种方式提供 API Key:
|
|
44
|
+
|
|
45
|
+
### 方式一:环境变量(推荐用于 CI/Agent)
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
export EXPERT_EVAL_API_KEY="your-api-key-here"
|
|
49
|
+
export EXPERT_EVAL_BASE_URL="https://bytedance.feishuapp.com/app/app_17besd2kmya"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 方式二:配置文件(推荐用于交互式使用)
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
expert_eval auth login your-api-key-here
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
可选指定 Base URL:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
expert_eval auth login your-api-key-here --base-url https://bytedance-app_17besd2kmya-1872559030386954.aiforce.run/app/app_17besd2kmya
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
查看认证状态:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
expert_eval auth status
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
登出(删除本地保存的 key):
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
expert_eval auth logout
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Key 查找优先级
|
|
77
|
+
|
|
78
|
+
1. `EXPERT_EVAL_API_KEY` 环境变量
|
|
79
|
+
2. `~/.config/expert-eval/config.json` 配置文件
|
|
80
|
+
|
|
81
|
+
### Base URL 切换
|
|
82
|
+
|
|
83
|
+
- **线上环境**:`https://bytedance.feishuapp.com/app/app_17besd2kmya`(默认)
|
|
84
|
+
- **开发环境**:`https://bytedance-app_17besd2kmya-1872559030386954.aiforce.run/app/app_17besd2kmya`
|
|
85
|
+
|
|
86
|
+
切换方式:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# 临时切换(当前终端)
|
|
90
|
+
export EXPERT_EVAL_BASE_URL=https://bytedance-app_17besd2kmya-1872559030386954.aiforce.run/app/app_17besd2kmya
|
|
91
|
+
|
|
92
|
+
# 永久切换(重新登录)
|
|
93
|
+
expert_eval auth login your-api-key --base-url https://bytedance-app_17besd2kmya-1872559030386954.aiforce.run/app/app_17besd2kmya
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## AI Agent 使用指南
|
|
97
|
+
|
|
98
|
+
Agent 调用 CLI 时,应优先使用 JSON 输出,便于解析:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# 强制 JSON 输出
|
|
102
|
+
expert_eval --format json experts list
|
|
103
|
+
|
|
104
|
+
# 或使用环境变量确保非交互式 JSON
|
|
105
|
+
expert_eval experts list | cat
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 常用操作速查
|
|
109
|
+
|
|
110
|
+
| 操作 | 命令 |
|
|
111
|
+
|---|---|
|
|
112
|
+
| 列出专家 | `expert_eval experts list` |
|
|
113
|
+
| 创建专家 | `expert_eval experts create --expert-id exp-001 --name "AI安全专家"` |
|
|
114
|
+
| 更新专家 | `expert_eval experts update --expert-id exp-001 --name "新名称"` |
|
|
115
|
+
| 删除专家 | `expert_eval experts delete <id>` |
|
|
116
|
+
| 列出版本 | `expert_eval versions list --expert-id exp-001` |
|
|
117
|
+
| 创建版本 | `expert_eval versions create --expert-id exp-001 --hash abc123 --is-passed` |
|
|
118
|
+
| 列出评估项 | `expert_eval eval-items list` |
|
|
119
|
+
| 创建评估项 | `expert_eval eval-items create --title "接口规范性" --item-types structure,process` |
|
|
120
|
+
| 列出评审记录 | `expert_eval eval-records list --version-id v-1` |
|
|
121
|
+
| 创建评审记录 | `expert_eval eval-records create --version-id v-1 --eval-item-id ei-1 --is-passed` |
|
|
122
|
+
|
|
123
|
+
### 分页查询
|
|
124
|
+
|
|
125
|
+
所有 list 命令支持分页:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
expert_eval experts list --page 2 --page-size 20
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### 错误处理
|
|
132
|
+
|
|
133
|
+
Agent 应检查 exit code:
|
|
134
|
+
|
|
135
|
+
- `0` — 成功
|
|
136
|
+
- `1` — 一般错误
|
|
137
|
+
- `2` — 认证错误
|
|
138
|
+
- `3` — 参数校验错误
|
|
139
|
+
|
|
140
|
+
JSON 错误输出格式:
|
|
141
|
+
|
|
142
|
+
```json
|
|
143
|
+
{
|
|
144
|
+
"success": false,
|
|
145
|
+
"code": "HTTP_400",
|
|
146
|
+
"message": "Bad request",
|
|
147
|
+
"details": { "field": "name" }
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## 参考资料
|
|
152
|
+
|
|
153
|
+
- `references/api-reference.md` — ExpertEval API 端点速查
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# ExpertEval API Reference
|
|
2
|
+
|
|
3
|
+
Base URLs:
|
|
4
|
+
- Production: `https://bytedance.feishuapp.com/app/app_17besd2kmya`
|
|
5
|
+
- Development: `https://bytedance-app_17besd2kmya-1872559030386954.aiforce.run/app/app_17besd2kmya`
|
|
6
|
+
|
|
7
|
+
Auth: Bearer token via `Authorization: Bearer <API_KEY>` header.
|
|
8
|
+
|
|
9
|
+
## Experts
|
|
10
|
+
|
|
11
|
+
### `GET /openapi/experts`
|
|
12
|
+
List experts (paginated).
|
|
13
|
+
|
|
14
|
+
Query params:
|
|
15
|
+
- `page` (int, default 1)
|
|
16
|
+
- `pageSize` (int, default 50)
|
|
17
|
+
- `keyword` (string, optional)
|
|
18
|
+
|
|
19
|
+
Response: `{ items: Expert[], total, page, pageSize }`
|
|
20
|
+
|
|
21
|
+
### `POST /openapi/experts`
|
|
22
|
+
Create expert (idempotent by `expertId`).
|
|
23
|
+
|
|
24
|
+
Body: `{ expertId, name, avatar?, tags?, description?, recommendedQuestion?, aiTags?, owner?, latestVersionId? }`
|
|
25
|
+
|
|
26
|
+
### `PUT /openapi/experts`
|
|
27
|
+
Update expert (idempotent by `expertId`, creates if absent).
|
|
28
|
+
|
|
29
|
+
Body: same as POST, all fields required except those marked optional.
|
|
30
|
+
|
|
31
|
+
### `GET /openapi/experts/{id}`
|
|
32
|
+
Get expert by primary ID.
|
|
33
|
+
|
|
34
|
+
### `DELETE /openapi/experts/{id}`
|
|
35
|
+
Delete expert by primary ID.
|
|
36
|
+
|
|
37
|
+
Response: `{ id }`
|
|
38
|
+
|
|
39
|
+
## Versions
|
|
40
|
+
|
|
41
|
+
### `GET /openapi/versions`
|
|
42
|
+
List versions (paginated).
|
|
43
|
+
|
|
44
|
+
Query params:
|
|
45
|
+
- `page` (int, default 1)
|
|
46
|
+
- `pageSize` (int, default 50)
|
|
47
|
+
- `expertId` (string, optional filter)
|
|
48
|
+
|
|
49
|
+
### `POST /openapi/versions`
|
|
50
|
+
Create version (idempotent by `expertId` + `hash`).
|
|
51
|
+
|
|
52
|
+
Body: `{ expertId, hash, commitMessage?, author?, versionDate?, isPassed, bac?, dcg? }`
|
|
53
|
+
|
|
54
|
+
### `PUT /openapi/versions`
|
|
55
|
+
Update version (idempotent by `expertId` + `hash`).
|
|
56
|
+
|
|
57
|
+
Body: same shape as POST.
|
|
58
|
+
|
|
59
|
+
### `GET /openapi/versions/{id}`
|
|
60
|
+
Get version by primary ID.
|
|
61
|
+
|
|
62
|
+
### `DELETE /openapi/versions/{id}`
|
|
63
|
+
Delete version by primary ID.
|
|
64
|
+
|
|
65
|
+
Response: `{ id }`
|
|
66
|
+
|
|
67
|
+
## Eval Items
|
|
68
|
+
|
|
69
|
+
### `GET /openapi/eval-items`
|
|
70
|
+
List eval items (paginated).
|
|
71
|
+
|
|
72
|
+
Query params:
|
|
73
|
+
- `page` (int, default 1)
|
|
74
|
+
- `pageSize` (int, default 50)
|
|
75
|
+
|
|
76
|
+
### `POST /openapi/eval-items`
|
|
77
|
+
Create eval item.
|
|
78
|
+
|
|
79
|
+
Body: `{ title, itemTypes?, query?, acceptanceCriteria?, isVeto? }`
|
|
80
|
+
|
|
81
|
+
`itemTypes` enum values: `structure`, `bac`, `dcg`, `process`, `deliver`.
|
|
82
|
+
|
|
83
|
+
### `GET /openapi/eval-items/{id}`
|
|
84
|
+
Get eval item by primary ID.
|
|
85
|
+
|
|
86
|
+
### `PUT /openapi/eval-items/{id}`
|
|
87
|
+
Update eval item by primary ID.
|
|
88
|
+
|
|
89
|
+
Body: `{ title?, itemTypes?, query?, acceptanceCriteria?, isVeto? }`
|
|
90
|
+
|
|
91
|
+
### `DELETE /openapi/eval-items/{id}`
|
|
92
|
+
Delete eval item by primary ID.
|
|
93
|
+
|
|
94
|
+
Response: `{ id }`
|
|
95
|
+
|
|
96
|
+
## Eval Records
|
|
97
|
+
|
|
98
|
+
### `GET /openapi/eval-records`
|
|
99
|
+
List eval records (paginated).
|
|
100
|
+
|
|
101
|
+
Query params:
|
|
102
|
+
- `page` (int, default 1)
|
|
103
|
+
- `pageSize` (int, default 50)
|
|
104
|
+
- `versionId` (string, optional filter)
|
|
105
|
+
- `evalItemId` (string, optional filter)
|
|
106
|
+
|
|
107
|
+
### `POST /openapi/eval-records`
|
|
108
|
+
Create eval record.
|
|
109
|
+
|
|
110
|
+
Body: `{ versionId, evalItemId, query?, result?, isPassed, bac?, dcg? }`
|
|
111
|
+
|
|
112
|
+
### `GET /openapi/eval-records/{id}`
|
|
113
|
+
Get eval record by primary ID.
|
|
114
|
+
|
|
115
|
+
### `PUT /openapi/eval-records/{id}`
|
|
116
|
+
Update eval record by primary ID.
|
|
117
|
+
|
|
118
|
+
Body: `{ versionId?, evalItemId?, query?, result?, isPassed?, bac?, dcg? }`
|
|
119
|
+
|
|
120
|
+
### `DELETE /openapi/eval-records/{id}`
|
|
121
|
+
Delete eval record by primary ID.
|
|
122
|
+
|
|
123
|
+
Response: `{ id }`
|