hydro-ai-helper 3.0.2 → 3.0.3

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/README.md CHANGED
@@ -62,7 +62,8 @@
62
62
  ### 教师端
63
63
 
64
64
  - **AI 生成测试数据** — 在题目文件页(`/p/:pid/files`)根据题面一键生成完整测试数据
65
- - **沙箱实跑 + 双重验证**:数据生成器与标程在 Hydro 判题沙箱中实际运行产出 `.in`/`.out`,并经过独立暴力解对拍、输入校验、模板实跑与题面样例回归四道机器关卡;验证失败自动带上下文让 AI 修复一轮
65
+ - **沙箱实跑 + 双重验证**:数据生成器与标程在 Hydro 判题沙箱中实际运行产出 `.in`/`.out`,并经过独立暴力解对拍、输入校验、模板实跑与题面样例回归四道机器关卡;验证失败按生成器/标程/模板阶段定向修复
66
+ - 默认根据题面自动混合生成小、中、临界规模并交叉覆盖多项约束;也可定向选择单一规模。新增数据自动避开已有数字测试点并合并生成 `config.yaml`
66
67
  - 支持传统题、LeetCode 风格函数题(自动生成 `template.py/java/cc` 与 `compile.sh`)与填空题(完善代码)
67
68
  - 可粘贴已有标准答案作为输出的唯一权威;`config.yaml` 评测配置确定性生成,写入后评测设置自动同步
68
69
  - 生成的每个代码文件(std.py、generator.py、validator.py 等)首行注明用途;全量预览、可编辑、勾选确认后才写入
package/README_en.md CHANGED
@@ -62,7 +62,8 @@ A teaching-first AI tutoring plugin for [HydroOJ](https://github.com/hydro-dev/H
62
62
  ### Teachers
63
63
 
64
64
  - **AI Test Data Generation** — generate a full test data set from the statement on the problem files page (`/p/:pid/files`)
65
- - **Sandbox execution + double verification**: the generator and reference solution actually run in Hydro's judge sandbox to produce `.in`/`.out`, then pass four machine gates — independent brute-force cross-check, input validation, template execution, and statement-sample regression; on failure the AI gets one automatic repair round with full context
65
+ - **Sandbox execution + double verification**: the generator and reference solution actually run in Hydro's judge sandbox to produce `.in`/`.out`, then pass four machine gates — independent brute-force cross-check, input validation, template execution, and statement-sample regression; failures trigger targeted generator/oracle/template repair
66
+ - Automatically mixes small, medium, and boundary cases from statement constraints by default, with explicit single-scale modes still available. New numeric cases avoid existing files and are merged into `config.yaml`
66
67
  - Supports traditional problems, LeetCode-style function problems (auto-generates `template.py/java/cc` and `compile.sh`) and fill-in-the-blank problems
67
68
  - Paste an existing reference solution as the single source of truth; `config.yaml` is built deterministically and judge settings sync automatically
68
69
  - Every generated code file (std.py, generator.py, validator.py, …) starts with a purpose comment; everything is previewed, editable and opt-in before writing
@@ -173,7 +173,7 @@ class TestdataGenGenerateHandler extends hydrooj_1.Handler {
173
173
  problemKind: (body.problemKind || 'auto'),
174
174
  fillInMode: (body.fillInMode || 'auto'),
175
175
  caseCount: Number(body.caseCount ?? 10),
176
- dataScale: (body.dataScale || 'small'),
176
+ dataScale: (body.dataScale || 'auto'),
177
177
  languages: Array.isArray(body.languages)
178
178
  ? body.languages.filter(l => testdataGenService_1.SUPPORTED_TEMPLATE_LANGS.includes(l))
179
179
  : [...testdataGenService_1.SUPPORTED_TEMPLATE_LANGS],
@@ -301,7 +301,7 @@ class TestdataGenSkeletonHandler extends hydrooj_1.Handler {
301
301
  problemKind: (body.problemKind || 'auto'),
302
302
  fillInMode: (body.fillInMode || 'auto'),
303
303
  caseCount: Number(body.caseCount ?? 10),
304
- dataScale: (body.dataScale || 'small'),
304
+ dataScale: (body.dataScale || 'auto'),
305
305
  languages: Array.isArray(body.languages)
306
306
  ? body.languages.filter(l => testdataGenService_1.SUPPORTED_TEMPLATE_LANGS.includes(l))
307
307
  : [...testdataGenService_1.SUPPORTED_TEMPLATE_LANGS],
@@ -313,7 +313,10 @@ class TestdataGenSkeletonHandler extends hydrooj_1.Handler {
313
313
  return;
314
314
  }
315
315
  this.ctx.get('featureStatsModel')?.recordAttempt('testdata_skeleton').catch(() => { });
316
- const plan = (0, testdataGenService_1.buildSkeletonPlan)(options, extractStatementMarkdown(pdoc.content));
316
+ const existingFiles = (pdoc.data || [])
317
+ .map(f => String(f._id ?? f.name ?? ''))
318
+ .filter(Boolean);
319
+ const plan = (0, testdataGenService_1.buildSkeletonPlan)(options, extractStatementMarkdown(pdoc.content), existingFiles);
317
320
  this.ctx.get('featureStatsModel')?.recordSuccess('testdata_skeleton').catch(() => { });
318
321
  this.response.body = { plan };
319
322
  this.response.type = 'application/json';
@@ -1 +1 @@
1
- {"version":3,"file":"testdataGenHandler.js","sourceRoot":"","sources":["../../src/handlers/testdataGenHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testdataGenHandler.js","sourceRoot":"","sources":["../../src/handlers/testdataGenHandler.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.TestdataGenService = exports.TEMPLATE_FILENAMES = exports.TESTDATA_GEN_LIMITS = exports.SUPPORTED_TEMPLATE_LANGS = void 0;
22
22
  exports.isSafeTestdataFilename = isSafeTestdataFilename;
23
23
  exports.validateGenerateOptions = validateGenerateOptions;
24
+ exports.buildCoveragePlan = buildCoveragePlan;
25
+ exports.getExistingNumericCases = getExistingNumericCases;
26
+ exports.allocateCaseNumbers = allocateCaseNumbers;
24
27
  exports.detectStdFilename = detectStdFilename;
25
28
  exports.buildCompileSh = buildCompileSh;
26
29
  exports.buildConfigYaml = buildConfigYaml;
@@ -45,6 +48,9 @@ exports.parseTemplateSections = parseTemplateSections;
45
48
  exports.assemblePlan = assemblePlan;
46
49
  exports.isLikelyFunctionProblem = isLikelyFunctionProblem;
47
50
  exports.buildSkeletonPlan = buildSkeletonPlan;
51
+ exports.classifySandboxRepairScope = classifySandboxRepairScope;
52
+ exports.buildSandboxRepairPrompt = buildSandboxRepairPrompt;
53
+ exports.mergeSandboxBlueprintRepair = mergeSandboxBlueprintRepair;
48
54
  const js_yaml_1 = __importDefault(require("js-yaml"));
49
55
  const goJudgeSandboxService_1 = require("./goJudgeSandboxService");
50
56
  const textTruncate_1 = require("../lib/textTruncate");
@@ -100,7 +106,7 @@ function validateGenerateOptions(options) {
100
106
  if (options.fillInMode !== undefined && !['auto', 'yes', 'no'].includes(options.fillInMode)) {
101
107
  return 'ai_helper_testdata_err_invalid_fill_in';
102
108
  }
103
- if (options.dataScale !== undefined && !['small', 'medium', 'large'].includes(options.dataScale)) {
109
+ if (options.dataScale !== undefined && !['auto', 'small', 'medium', 'large'].includes(options.dataScale)) {
104
110
  return 'ai_helper_testdata_err_invalid_scale';
105
111
  }
106
112
  if ((options.providedStd || '').length > exports.TESTDATA_GEN_LIMITS.MAX_PROVIDED_STD) {
@@ -111,6 +117,93 @@ function validateGenerateOptions(options) {
111
117
  }
112
118
  return null;
113
119
  }
120
+ const COVERAGE_GUIDANCE = {
121
+ small: '合法最小值、题面样例或可人工验算的简单结构;不得为了取 0/空输入而违反题面下界',
122
+ medium: '约束范围的中间量级,并交叉变化不同约束,避免所有维度同时按同一比例缩放',
123
+ large: '至少一个关键约束接近上下界或临界值;使用可解析结构并控制输出体积与沙箱耗时',
124
+ };
125
+ /**
126
+ * 为一次生成建立确定性的规模计划。auto 在 caseCount>=3 时保证三个档位均出现,
127
+ * 其余名额按 30%/40%/30% 的目标比例用最大缺口法分配。
128
+ */
129
+ function buildCoveragePlan(caseCount, strategy = 'auto') {
130
+ if (!Number.isInteger(caseCount) || caseCount <= 0)
131
+ return [];
132
+ let scales;
133
+ if (strategy !== 'auto') {
134
+ scales = Array.from({ length: caseCount }, () => strategy);
135
+ }
136
+ else if (caseCount === 1) {
137
+ scales = ['small'];
138
+ }
139
+ else if (caseCount === 2) {
140
+ scales = ['small', 'large'];
141
+ }
142
+ else {
143
+ const desired = {
144
+ small: caseCount * 0.3,
145
+ medium: caseCount * 0.4,
146
+ large: caseCount * 0.3,
147
+ };
148
+ const counts = {
149
+ small: Math.max(1, Math.floor(desired.small)),
150
+ medium: Math.max(1, Math.floor(desired.medium)),
151
+ large: Math.max(1, Math.floor(desired.large)),
152
+ };
153
+ const priority = ['medium', 'small', 'large'];
154
+ while (counts.small + counts.medium + counts.large < caseCount) {
155
+ const next = priority.reduce((best, scale) => (desired[scale] - counts[scale] > desired[best] - counts[best] ? scale : best), priority[0]);
156
+ counts[next]++;
157
+ }
158
+ while (counts.small + counts.medium + counts.large > caseCount) {
159
+ const next = [...priority].reverse().reduce((best, scale) => (counts[scale] > 1 && counts[scale] - desired[scale] > counts[best] - desired[best] ? scale : best), counts.large > 1 ? 'large' : counts.medium > 1 ? 'medium' : 'small');
160
+ counts[next]--;
161
+ }
162
+ scales = [
163
+ ...Array.from({ length: counts.small }, () => 'small'),
164
+ ...Array.from({ length: counts.medium }, () => 'medium'),
165
+ ...Array.from({ length: counts.large }, () => 'large'),
166
+ ];
167
+ }
168
+ return scales.map((dataScale, index) => ({
169
+ caseNumber: index + 1,
170
+ dataScale,
171
+ guidance: COVERAGE_GUIDANCE[dataScale],
172
+ }));
173
+ }
174
+ /** 提取数字测试点状态:任一侧存在即保留编号,只有 in/out 成对才进入 config。 */
175
+ function getExistingNumericCases(existingFiles = []) {
176
+ const sides = new Map();
177
+ for (const name of existingFiles) {
178
+ const match = name.match(/^(\d+)\.(in|out)$/i);
179
+ if (!match)
180
+ continue;
181
+ const number = Number(match[1]);
182
+ if (!Number.isSafeInteger(number) || number <= 0)
183
+ continue;
184
+ if (!sides.has(number))
185
+ sides.set(number, new Set());
186
+ sides.get(number)?.add(match[2].toLowerCase());
187
+ }
188
+ const reserved = new Set(sides.keys());
189
+ const complete = [...sides.entries()]
190
+ .filter(([, value]) => value.has('in') && value.has('out'))
191
+ .map(([number]) => number)
192
+ .sort((a, b) => a - b);
193
+ return { reserved, complete };
194
+ }
195
+ /** 分配不与任何现有 .in/.out 冲突的最小正整数编号。 */
196
+ function allocateCaseNumbers(existingFiles = [], count) {
197
+ const { reserved } = getExistingNumericCases(existingFiles);
198
+ const allocated = [];
199
+ for (let candidate = 1; allocated.length < count; candidate++) {
200
+ if (reserved.has(candidate))
201
+ continue;
202
+ allocated.push(candidate);
203
+ reserved.add(candidate);
204
+ }
205
+ return allocated;
206
+ }
114
207
  /** 根据标准答案代码猜测 std 文件扩展名(教师多用 Python,启发式足够) */
115
208
  function detectStdFilename(code) {
116
209
  if (/#include\s*[<"]/.test(code))
@@ -186,9 +279,12 @@ fi
186
279
  */
187
280
  function buildConfigYaml(options) {
188
281
  const { problemType, caseCount, languages } = options;
189
- const cases = Array.from({ length: caseCount }, (_, i) => ({
190
- input: `${i + 1}.in`,
191
- output: `${i + 1}.out`,
282
+ const caseNumbers = options.caseNumbers?.length
283
+ ? [...new Set(options.caseNumbers)].sort((a, b) => a - b)
284
+ : Array.from({ length: caseCount }, (_, i) => i + 1);
285
+ const cases = caseNumbers.map(number => ({
286
+ input: `${number}.in`,
287
+ output: `${number}.out`,
192
288
  }));
193
289
  const config = {
194
290
  type: 'default',
@@ -343,16 +439,19 @@ function buildTestdataSystemPrompt() {
343
439
  1. 若题面含示例,优先覆盖示例表达的场景;仍须遵守上面的“一文件一组”默认规则。
344
440
  2. 必须包含边界组,并在 label 中写明设计意图:
345
441
  - 最小规模:空输入、0、1、单元素(以题面约束允许的最小值为准);
346
- - 规模上限:所选数据规模档位允许的上限附近;
442
+ - 规模上限:对应 CASE 覆盖计划允许的上限附近;
347
443
  - 特殊值:相等、重复、负数、临界值(视题意选取,如闰年 2 月 29 日、恰好越界前后);
348
444
  - 特殊结构:全相同、已排序、逆序、对称/回文等(视题意选取)。
349
445
  3. 其余测试点使用多样化的中间规模数据,避免彼此雷同。
350
446
  4. 输入输出必须与题面(或标程)的格式要求严格一致;.in 是评测输入文件内容,.out 是标准输出文件内容。
351
- 5. 数据规模档位(用户指定,默认 small):
447
+ 5. 数据规模策略(默认 auto 自动混合):
448
+ - auto:严格遵守用户消息中的逐 CASE 覆盖计划,在同一次生成中同时包含小规模、中等规模和临界规模;
352
449
  - small:所有数据保持人工可快速验算的量级(数值一般 ≤ 100,单个 .in ≤ 30 行);
353
450
  - medium:在题面约束内取中等量级(如 10^2~10^4,单个 .in ≤ 200 行),仍须保证输出可被可靠推演;
354
451
  - large:接近题面约束上限。此档必须使用【可解析构造】:用有规律的数据(全相同、等差、周期、对称等),使正确输出能由公式/推理直接得出,而不是逐条模拟;无法可靠推出输出时,宁可缩小该测试点规模,也绝不允许猜测输出。
355
- 6. 正确性最重要:先确定标程(教师已提供则以其为准),再对每个测试点逐步推演标程的运行得到 .out。宁可数据小,绝不允许输出错误。
452
+ 6. 若题面存在多个独立约束,不得把所有维度一起机械放大。应交叉覆盖,例如“小规模结构 + 临界元素值”“大规模结构 + 简单/稀疏取值”“某一参数取上下界而其余参数取中间值”。
453
+ 7. 若题面未给出明确范围,使用保守、可被 VALIDATOR 验证的构造,不得臆造违反题意的 0、空输入或极端值。
454
+ 8. 正确性最重要:先确定标程(教师已提供则以其为准),再对每个测试点逐步推演标程的运行得到 .out。宁可数据小,绝不允许输出错误。
356
455
 
357
456
  【输出格式(分节文本,禁止 JSON)】
358
457
  代码与数据必须以原文直出,因此使用分节标记格式,不要输出 JSON、不要做任何转义、不要用代码围栏包裹任何内容。标记行独占一行、顶格书写,形如 @@@标记@@@。整体结构如下(不适用的节直接省略):
@@ -393,6 +492,7 @@ template.cc 原文
393
492
  - 所有说明性文字(ANALYSIS/NOTES/label)使用简体中文。`;
394
493
  }
395
494
  const DATA_SCALE_TEXT = {
495
+ auto: 'auto(自动混合:按题面约束一次覆盖小/中/临界规模)',
396
496
  small: 'small(小规模,人工可快速验算)',
397
497
  medium: 'medium(中等规模,题面约束内取中位量级)',
398
498
  large: 'large(接近题面约束上限,必须使用可解析构造保证输出正确)',
@@ -416,6 +516,7 @@ function buildTestdataUserPrompt(params) {
416
516
  }[options.fillInMode || 'auto'];
417
517
  const langText = options.languages.map(l => LANG_DISPLAY[l]).join('、') || '(无)';
418
518
  const requiredTemplateSections = options.languages.map(l => `@@@TEMPLATE:${l}@@@`).join('、');
519
+ const coveragePlan = buildCoveragePlan(options.caseCount, options.dataScale || 'auto');
419
520
  const statement = statementMarkdown.length > exports.TESTDATA_GEN_LIMITS.MAX_STATEMENT_LENGTH
420
521
  ? `${statementMarkdown.slice(0, exports.TESTDATA_GEN_LIMITS.MAX_STATEMENT_LENGTH)}\n...(题面过长已截断)`
421
522
  : statementMarkdown;
@@ -429,9 +530,10 @@ function buildTestdataUserPrompt(params) {
429
530
  `- 题型:${kindText}`,
430
531
  `- 填空题(完善代码):${fillInText}`,
431
532
  `- Hydro 测试点数量:${options.caseCount} 个独立的 .in/.out 文件对(这不是单个输入文件首行的 T)`,
432
- `- 数据规模:${DATA_SCALE_TEXT[options.dataScale || 'small']}`,
533
+ `- 数据规模策略:${DATA_SCALE_TEXT[options.dataScale || 'auto']}`,
433
534
  `- 函数题模板语言:${langText}`,
434
535
  ];
536
+ lines.push('', '【逐测试点覆盖计划(必须按 CASE 编号执行,并把实际覆盖目标写进 label)】', ...coveragePlan.map(slot => `- CASE ${slot.caseNumber}: ${slot.dataScale} — ${slot.guidance}`));
435
537
  if (options.problemKind !== 'traditional') {
436
538
  lines.push(`- 若判定/指定为函数题,必须完整输出这些模板节:${requiredTemplateSections}(不得遗漏)`);
437
539
  }
@@ -463,9 +565,10 @@ function buildSandboxBlueprintSystemPrompt() {
463
565
  6. BRUTE 是与 ORACLE 相互独立的第二实现(对拍用):用最朴素的暴力/枚举/模拟写法,宁慢勿错,只需在生成数据规模内跑完即可;它同样是自包含、读同一 stdin 编码、按题面输出的完整 Python 3 程序。严禁 BRUTE 与 ORACLE 共享核心函数或互相调用——它们的一致性是数据正确性的机器证据。
464
566
  7. 函数题必须输出 SOLUTION 节:与学生提交形式完全一致的函数/类定义(只含实现,不含读输入或打印),它将与 template.py 拼接后在沙箱实跑,用于验证模板与输入编码。传统题省略 SOLUTION。
465
567
  8. 鼓励输出 VALIDATOR 节:Python 3 程序,从 stdin 读一份 .in,校验格式与题面约束(数量范围、数值边界、结构合法性);合法则静默 exit 0,非法则向 stderr 打印原因并 exit 1(可用 sys.exit(1))。
466
- 9. 数据应覆盖样例场景、最小/最大边界、特殊值和多样中间值;所有生成过程必须确定性,固定随机种子。
467
- 10. 若教师提供标准答案,它是算法和输出格式的唯一权威;ORACLE 必须忠实实现它。
468
- 11. 函数题必须输出用户要求的每一个 TEMPLATE 节:Python 追加到学生代码末尾;Java 为 public class Main 并调用 class Solution;C++ 用 #include "foo.cc"。传统题省略 TEMPLATE。
568
+ 9. 数据必须严格遵守用户消息中的逐 CASE 覆盖计划,并根据题面真实约束交叉变化不同维度;所有生成过程必须确定性,固定随机种子。
569
+ 10. GENERATOR 必须使用紧凑 JSON(Python json.dumps(..., ensure_ascii=False, separators=(',', ':'))),stdout 总量必须小于 1MB;若临界输入会导致输出过大或超时,应使用仍能触发复杂度/边界行为的可解析构造并适当缩小,而不是打印海量数据。
570
+ 11. 若教师提供标准答案,它是算法和输出格式的唯一权威;ORACLE 必须忠实实现它。
571
+ 12. 函数题必须输出用户要求的每一个 TEMPLATE 节:Python 追加到学生代码末尾;Java 为 public class Main 并调用 class Solution;C++ 用 #include "foo.cc"。传统题省略 TEMPLATE。
469
572
 
470
573
  输出必须使用以下原文分节,禁止代码围栏、JSON 外壳或额外说明(不适用的可选节直接省略):
471
574
  @@@META@@@
@@ -925,6 +1028,7 @@ function isCancellation(err) {
925
1028
  */
926
1029
  async function materializeSandboxBlueprint(blueprint, options, statementMarkdown, runner, signal) {
927
1030
  const startedAt = Date.now();
1031
+ const coveragePlan = buildCoveragePlan(options.caseCount, options.dataScale || 'auto');
928
1032
  const checkBudget = () => {
929
1033
  if (Date.now() - startedAt > goJudgeSandboxService_1.SANDBOX_TOTAL_BUDGET_MS) {
930
1034
  throw new Error('沙箱执行总时长超出预算,请减少测试点数量后重试');
@@ -993,7 +1097,7 @@ async function materializeSandboxBlueprint(blueprint, options, statementMarkdown
993
1097
  if (Buffer.byteLength(output, 'utf8') > exports.TESTDATA_GEN_LIMITS.MAX_FILE_SIZE) {
994
1098
  throw new Error(`ORACLE 为第 ${index + 1} 个测试点生成的 .out 超过 256KB 上限`);
995
1099
  }
996
- return { ...item, output };
1100
+ return { ...item, output, dataScale: coveragePlan[index]?.dataScale };
997
1101
  });
998
1102
  for (let i = 0; i < samples.length; i++) {
999
1103
  const actual = oracleResults[inputs.length + i]?.stdout || '';
@@ -1181,11 +1285,16 @@ function assemblePlan(response, options, context = {}) {
1181
1285
  const dataOrigin = sandbox ? 'executed' : 'ai-only';
1182
1286
  const files = [];
1183
1287
  const caseCount = response.cases.length;
1288
+ const coveragePlan = buildCoveragePlan(caseCount, options.dataScale || 'auto');
1289
+ const newCaseNumbers = allocateCaseNumbers(context.existingFiles, caseCount);
1290
+ const existingComplete = getExistingNumericCases(context.existingFiles).complete;
1291
+ const configCaseNumbers = [...new Set([...existingComplete, ...newCaseNumbers])].sort((a, b) => a - b);
1184
1292
  /** AI 生成代码文件统一入口:文件名只写一处,注释符由文件名推导。 */
1185
1293
  const pushCode = (name, code, kind, origin, purpose) => files.push({ name, content: prependPurposeComment(name, code, purpose), kind, origin });
1186
1294
  response.cases.forEach((c, i) => {
1187
- files.push({ name: `${i + 1}.in`, content: c.input, kind: 'case-in', origin: dataOrigin });
1188
- files.push({ name: `${i + 1}.out`, content: c.output, kind: 'case-out', origin: dataOrigin });
1295
+ const fileNumber = newCaseNumbers[i];
1296
+ files.push({ name: `${fileNumber}.in`, content: c.input, kind: 'case-in', origin: dataOrigin });
1297
+ files.push({ name: `${fileNumber}.out`, content: c.output, kind: 'case-out', origin: dataOrigin });
1189
1298
  });
1190
1299
  if (response.problemType === 'function') {
1191
1300
  for (const lang of options.languages) {
@@ -1240,8 +1349,9 @@ function assemblePlan(response, options, context = {}) {
1240
1349
  name: 'config.yaml',
1241
1350
  content: buildConfigYaml({
1242
1351
  problemType: response.problemType,
1243
- caseCount,
1352
+ caseCount: configCaseNumbers.length,
1244
1353
  languages: options.languages,
1354
+ caseNumbers: configCaseNumbers,
1245
1355
  }),
1246
1356
  kind: 'config',
1247
1357
  origin: 'deterministic',
@@ -1253,6 +1363,13 @@ function assemblePlan(response, options, context = {}) {
1253
1363
  notes: response.notes,
1254
1364
  files,
1255
1365
  caseCount,
1366
+ totalCaseCount: configCaseNumbers.length,
1367
+ caseCoverage: response.cases.map((item, index) => ({
1368
+ caseNumber: index + 1,
1369
+ fileNumber: newCaseNumbers[index],
1370
+ dataScale: item.dataScale || coveragePlan[index]?.dataScale || 'small',
1371
+ target: item.label || coveragePlan[index]?.guidance || '',
1372
+ })),
1256
1373
  ...(response.verification ? { verification: response.verification } : {}),
1257
1374
  };
1258
1375
  }
@@ -1304,16 +1421,20 @@ function isLikelyFunctionProblem(statementMarkdown) {
1304
1421
  * 用作 AI 故障时的降级方案——保住最容易出错的 compile.sh / config.yaml /
1305
1422
  * 模板机制部分,测试数据内容由教师在预览中手动填写。
1306
1423
  */
1307
- function buildSkeletonPlan(options, statementMarkdown = '') {
1424
+ function buildSkeletonPlan(options, statementMarkdown = '', existingFiles = []) {
1308
1425
  const autoDetectedFunction = options.problemKind === 'auto' && isLikelyFunctionProblem(statementMarkdown);
1309
1426
  const problemType = options.problemKind === 'function' || autoDetectedFunction
1310
1427
  ? 'function'
1311
1428
  : 'traditional';
1312
1429
  const files = [];
1430
+ const caseNumbers = allocateCaseNumbers(existingFiles, options.caseCount);
1431
+ const existingComplete = getExistingNumericCases(existingFiles).complete;
1432
+ const configCaseNumbers = [...new Set([...existingComplete, ...caseNumbers])].sort((a, b) => a - b);
1433
+ const coveragePlan = buildCoveragePlan(options.caseCount, options.dataScale || 'auto');
1313
1434
  // 骨架模式全部为确定性生成/空占位,无沙箱实跑制品
1314
- for (let i = 1; i <= options.caseCount; i++) {
1315
- files.push({ name: `${i}.in`, content: '\n', kind: 'case-in', origin: 'deterministic' });
1316
- files.push({ name: `${i}.out`, content: '\n', kind: 'case-out', origin: 'deterministic' });
1435
+ for (const number of caseNumbers) {
1436
+ files.push({ name: `${number}.in`, content: '\n', kind: 'case-in', origin: 'deterministic' });
1437
+ files.push({ name: `${number}.out`, content: '\n', kind: 'case-out', origin: 'deterministic' });
1317
1438
  }
1318
1439
  if (problemType === 'function') {
1319
1440
  for (const lang of options.languages) {
@@ -1332,7 +1453,12 @@ function buildSkeletonPlan(options, statementMarkdown = '') {
1332
1453
  }
1333
1454
  files.push({
1334
1455
  name: 'config.yaml',
1335
- content: buildConfigYaml({ problemType, caseCount: options.caseCount, languages: options.languages }),
1456
+ content: buildConfigYaml({
1457
+ problemType,
1458
+ caseCount: configCaseNumbers.length,
1459
+ languages: options.languages,
1460
+ caseNumbers: configCaseNumbers,
1461
+ }),
1336
1462
  kind: 'config',
1337
1463
  origin: 'deterministic',
1338
1464
  });
@@ -1353,6 +1479,13 @@ function buildSkeletonPlan(options, statementMarkdown = '') {
1353
1479
  notes: noteParts.join(''),
1354
1480
  files,
1355
1481
  caseCount: options.caseCount,
1482
+ totalCaseCount: configCaseNumbers.length,
1483
+ caseCoverage: coveragePlan.map((slot, index) => ({
1484
+ caseNumber: slot.caseNumber,
1485
+ fileNumber: caseNumbers[index],
1486
+ dataScale: slot.dataScale,
1487
+ target: slot.guidance,
1488
+ })),
1356
1489
  };
1357
1490
  }
1358
1491
  function buildCaseInputRepairPrompt(issue, options) {
@@ -1374,9 +1507,49 @@ function buildTemplateRepairPrompt(missing) {
1374
1507
  3. Java 模板必须是 public class Main,并调用学生提交的 class Solution;C++ 模板通过 #include "foo.cc" 引入学生代码;Python 模板只含驱动代码。
1375
1508
  4. 只使用 @@@TEMPLATE:语言@@@ 标记和源码原文,不要输出 JSON、代码围栏或解释文字。`;
1376
1509
  }
1377
- function buildSandboxRepairPrompt(error, options) {
1510
+ function classifySandboxRepairScope(error) {
1511
+ const detail = error instanceof Error ? error.message : String(error);
1512
+ if (/GENERATOR|未通过输入校验|\.in 超过|生成\s*\d+\s*个测试点/.test(detail))
1513
+ return 'generator';
1514
+ if (/ORACLE|题面样例/.test(detail))
1515
+ return 'oracle';
1516
+ if (/暴力解/.test(detail))
1517
+ return 'brute';
1518
+ if (/template\.py|模板输出|SOLUTION/.test(detail))
1519
+ return 'template-py';
1520
+ return 'full';
1521
+ }
1522
+ function buildSandboxRepairPrompt(error, options, scope = classifySandboxRepairScope(error)) {
1378
1523
  const templates = options.languages.map(lang => `@@@TEMPLATE:${lang}@@@`).join('、') || '(传统题无需模板)';
1379
1524
  const detail = (error instanceof Error ? error.message : String(error)).slice(0, 1600);
1525
+ if (scope === 'generator') {
1526
+ return `你上一条蓝图的输入生成阶段未通过 Hydro 沙箱验证:
1527
+ ${detail}
1528
+
1529
+ 请只输出修复后的 @@@GENERATOR@@@;如果必须同步修改输入约束校验,再额外输出 @@@VALIDATOR@@@。不要重复 META、ORACLE、BRUTE、SOLUTION、TEMPLATE 或说明文字。要求:
1530
+ 1. stdout 只能是包含恰好 ${options.caseCount} 个 cases 的紧凑 JSON,使用 json.dumps(..., ensure_ascii=False, separators=(',', ':'))。
1531
+ 2. stdout 必须小于 1MB,程序必须在 5 秒内结束;不要打印日志,不要构造超长字符串或无界循环。
1532
+ 3. 每个 input 必须合法且符合逐 CASE 覆盖计划;若临界数据过大,使用能保留边界/复杂度特征的可解析构造。
1533
+ 4. 只使用请求的分节标记和源码原文,不要代码围栏。`;
1534
+ }
1535
+ if (scope === 'oracle') {
1536
+ return `你上一条蓝图的标程阶段未通过 Hydro 沙箱验证:
1537
+ ${detail}
1538
+
1539
+ 请只输出修复后的 @@@ORACLE@@@,并额外输出与其独立的 @@@BRUTE@@@ 以便重新对拍。不要重复 META、GENERATOR、VALIDATOR、SOLUTION、TEMPLATE 或说明文字。ORACLE 必须通过题面样例、处理所有合法边界且在 5 秒内结束;BRUTE 不得调用或复制 ORACLE 的核心实现。`;
1540
+ }
1541
+ if (scope === 'brute') {
1542
+ return `你上一条蓝图的暴力对拍阶段未通过验证:
1543
+ ${detail}
1544
+
1545
+ 请只输出修复后的 @@@BRUTE@@@。它必须读取原有 GENERATOR 的同一 stdin 编码,独立实现题意,不得调用或复制 ORACLE 的核心函数。不要输出其他分节或代码围栏。`;
1546
+ }
1547
+ if (scope === 'template-py') {
1548
+ return `你上一条蓝图的 Python 学生解与模板组合未通过验证:
1549
+ ${detail}
1550
+
1551
+ 请只输出同步修复后的 @@@SOLUTION@@@ 与 @@@TEMPLATE:py@@@。两者必须沿用原有 GENERATOR 的 stdin 编码,拼接运行后的输出与 ORACLE 完全一致。不要输出其他分节或代码围栏。`;
1552
+ }
1380
1553
  return `你上一条生成蓝图未通过 Hydro 沙箱验证:
1381
1554
  ${detail}
1382
1555
 
@@ -1389,6 +1562,56 @@ ${detail}
1389
1562
  6. 函数题必须完整包含 SOLUTION(学生提交形式)与全部模板:${templates}。
1390
1563
  7. 使用 @@@META@@@、@@@GENERATOR@@@、@@@ORACLE@@@、@@@SOLUTION@@@、@@@BRUTE@@@、@@@VALIDATOR@@@、@@@TEMPLATE:语言@@@ 分节原文,不要代码围栏。`;
1391
1564
  }
1565
+ function repairSectionContent(sections, header) {
1566
+ const section = sections.find(item => item.header.trim().toUpperCase() === header.toUpperCase());
1567
+ if (!section)
1568
+ return undefined;
1569
+ const content = trimBlankEdges(section.content);
1570
+ return content.trim() ? normalizeFileContent(content) : undefined;
1571
+ }
1572
+ /** 将定向修复结果合并进已解析蓝图;缺少必需节时抛错并由调用方回退完整修复。 */
1573
+ function mergeSandboxBlueprintRepair(original, raw, scope) {
1574
+ const sections = splitDelimitedSections(raw);
1575
+ if (sections.length === 0)
1576
+ throw new Error('AI 定向修复未返回分节标记');
1577
+ const merged = {
1578
+ ...original,
1579
+ templates: original.templates ? { ...original.templates } : undefined,
1580
+ };
1581
+ if (scope === 'generator') {
1582
+ const generatorCode = repairSectionContent(sections, 'GENERATOR');
1583
+ if (!generatorCode)
1584
+ throw new Error('AI 定向修复未返回 GENERATOR');
1585
+ merged.generatorCode = generatorCode;
1586
+ const validatorCode = repairSectionContent(sections, 'VALIDATOR');
1587
+ if (validatorCode)
1588
+ merged.validatorCode = validatorCode;
1589
+ }
1590
+ else if (scope === 'oracle') {
1591
+ const oracleCode = repairSectionContent(sections, 'ORACLE');
1592
+ if (!oracleCode)
1593
+ throw new Error('AI 定向修复未返回 ORACLE');
1594
+ merged.oracleCode = oracleCode;
1595
+ const bruteCode = repairSectionContent(sections, 'BRUTE');
1596
+ if (bruteCode)
1597
+ merged.bruteCode = bruteCode;
1598
+ }
1599
+ else if (scope === 'brute') {
1600
+ const bruteCode = repairSectionContent(sections, 'BRUTE');
1601
+ if (!bruteCode)
1602
+ throw new Error('AI 定向修复未返回 BRUTE');
1603
+ merged.bruteCode = bruteCode;
1604
+ }
1605
+ else {
1606
+ const solutionCode = repairSectionContent(sections, 'SOLUTION');
1607
+ const templatePy = repairSectionContent(sections, 'TEMPLATE:py');
1608
+ if (!solutionCode || !templatePy)
1609
+ throw new Error('AI 定向修复必须同时返回 SOLUTION 与 TEMPLATE:py');
1610
+ merged.solutionCode = solutionCode;
1611
+ merged.templates = { ...merged.templates, py: templatePy };
1612
+ }
1613
+ return merged;
1614
+ }
1392
1615
  function mergeTokenUsage(usages) {
1393
1616
  const present = usages.filter((usage) => Boolean(usage));
1394
1617
  if (present.length === 0)
@@ -1511,7 +1734,10 @@ class TestdataGenService {
1511
1734
  }
1512
1735
  }
1513
1736
  }
1514
- const plan = assemblePlan(response, params.options, { mode: 'direct' });
1737
+ const plan = assemblePlan(response, params.options, {
1738
+ mode: 'direct',
1739
+ existingFiles: params.existingFiles,
1740
+ });
1515
1741
  // 直出模式未经沙箱验证:给出 direct 验证元数据,前端据此渲染「未验证」提示
1516
1742
  plan.verification = {
1517
1743
  mode: 'direct',
@@ -1525,18 +1751,35 @@ class TestdataGenService {
1525
1751
  const callOptions = this.getCallOptions(params.signal);
1526
1752
  const initialResult = await this.aiClient.chat([{ role: 'user', content: userPrompt }], systemPrompt, callOptions);
1527
1753
  const results = [initialResult];
1528
- let blueprint = this.useProvidedPythonOracle(parseSandboxBlueprint(initialResult.content, params.options, { allowMissingTemplates: true }), params.options);
1754
+ let blueprintSourceContent = initialResult.content;
1755
+ let blueprint;
1756
+ try {
1757
+ blueprint = this.useProvidedPythonOracle(parseSandboxBlueprint(initialResult.content, params.options, { allowMissingTemplates: true }), params.options);
1758
+ }
1759
+ catch (parseError) {
1760
+ if (isCancellation(parseError))
1761
+ throw parseError;
1762
+ const repairResult = await this.aiClient.chat([
1763
+ { role: 'user', content: userPrompt },
1764
+ { role: 'assistant', content: initialResult.content },
1765
+ { role: 'user', content: buildSandboxRepairPrompt(parseError, params.options, 'full') },
1766
+ ], systemPrompt, callOptions);
1767
+ results.push(repairResult);
1768
+ blueprintSourceContent = repairResult.content;
1769
+ blueprint = this.useProvidedPythonOracle(parseSandboxBlueprint(repairResult.content, params.options, { allowMissingTemplates: true }), params.options);
1770
+ }
1529
1771
  if (blueprint.problemType === 'function') {
1530
1772
  const missing = params.options.languages.filter(lang => !blueprint.templates?.[lang]?.trim());
1531
1773
  if (missing.length > 0) {
1532
1774
  const repairResult = await this.aiClient.chat([
1533
1775
  { role: 'user', content: userPrompt },
1534
- { role: 'assistant', content: initialResult.content },
1776
+ { role: 'assistant', content: blueprintSourceContent },
1535
1777
  { role: 'user', content: buildTemplateRepairPrompt(missing) },
1536
1778
  ], systemPrompt, callOptions);
1537
1779
  results.push(repairResult);
1538
1780
  const repairedTemplates = parseTemplateSections(repairResult.content);
1539
1781
  blueprint.templates = { ...blueprint.templates, ...repairedTemplates };
1782
+ blueprintSourceContent = `${blueprintSourceContent}\n${repairResult.content}`;
1540
1783
  const stillMissing = params.options.languages.filter(lang => !blueprint.templates?.[lang]?.trim());
1541
1784
  if (stillMissing.length > 0) {
1542
1785
  throw new Error(`AI 补全后仍缺少 ${stillMissing.map(lang => LANG_DISPLAY[lang]).join('、')}。`);
@@ -1550,12 +1793,13 @@ class TestdataGenService {
1550
1793
  catch (firstError) {
1551
1794
  if (isCancellation(firstError))
1552
1795
  throw firstError;
1796
+ const repairScope = classifySandboxRepairScope(firstError);
1553
1797
  let repairResult;
1554
1798
  try {
1555
1799
  repairResult = await this.aiClient.chat([
1556
1800
  { role: 'user', content: userPrompt },
1557
- { role: 'assistant', content: initialResult.content },
1558
- { role: 'user', content: buildSandboxRepairPrompt(firstError, params.options) },
1801
+ { role: 'assistant', content: blueprintSourceContent },
1802
+ { role: 'user', content: buildSandboxRepairPrompt(firstError, params.options, repairScope) },
1559
1803
  ], systemPrompt, callOptions);
1560
1804
  }
1561
1805
  catch (err) {
@@ -1565,7 +1809,28 @@ class TestdataGenService {
1565
1809
  }
1566
1810
  results.push(repairResult);
1567
1811
  try {
1568
- blueprint = this.useProvidedPythonOracle(parseSandboxBlueprint(repairResult.content, params.options), params.options);
1812
+ try {
1813
+ blueprint = repairScope === 'full'
1814
+ ? parseSandboxBlueprint(repairResult.content, params.options)
1815
+ : mergeSandboxBlueprintRepair(blueprint, repairResult.content, repairScope);
1816
+ blueprintSourceContent = repairScope === 'full' ? repairResult.content : blueprintSourceContent;
1817
+ }
1818
+ catch (targetedParseError) {
1819
+ if (repairScope === 'full')
1820
+ throw targetedParseError;
1821
+ const fullRepairResult = await this.aiClient.chat([
1822
+ { role: 'user', content: userPrompt },
1823
+ { role: 'assistant', content: blueprintSourceContent },
1824
+ {
1825
+ role: 'user',
1826
+ content: buildSandboxRepairPrompt(new Error(`定向修复结果不可用:${targetedParseError instanceof Error ? targetedParseError.message : String(targetedParseError)}`), params.options, 'full'),
1827
+ },
1828
+ ], systemPrompt, callOptions);
1829
+ results.push(fullRepairResult);
1830
+ blueprint = parseSandboxBlueprint(fullRepairResult.content, params.options);
1831
+ blueprintSourceContent = fullRepairResult.content;
1832
+ }
1833
+ blueprint = this.useProvidedPythonOracle(blueprint, params.options);
1569
1834
  response = await materializeSandboxBlueprint(blueprint, params.options, params.statementMarkdown, runner, params.signal);
1570
1835
  }
1571
1836
  catch (err) {
@@ -1574,7 +1839,10 @@ class TestdataGenService {
1574
1839
  throw new Error(`AI 自动修复后仍未通过 Hydro 沙箱验证。请重试或使用骨架模式。技术细节:${err instanceof Error ? err.message : String(err)}`);
1575
1840
  }
1576
1841
  }
1577
- return this.applyResultMetadata(assemblePlan(response, params.options, { mode: 'sandbox' }), results);
1842
+ return this.applyResultMetadata(assemblePlan(response, params.options, {
1843
+ mode: 'sandbox',
1844
+ existingFiles: params.existingFiles,
1845
+ }), results);
1578
1846
  }
1579
1847
  }
1580
1848
  exports.TestdataGenService = TestdataGenService;
@@ -1 +1 @@
1
- {"version":3,"file":"testdataGenService.js","sourceRoot":"","sources":["../../src/services/testdataGenService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testdataGenService.js","sourceRoot":"","sources":["../../src/services/testdataGenService.ts"],"names":[],"mappings":"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"}
@@ -630,6 +630,7 @@ export const LOCALE_FALLBACK: Record<'zh' | 'en', Record<string, string>> = {
630
630
  "ai_helper_testdata_confirm_apply": "确认写入 {0} 个文件到题目测试数据?",
631
631
  "ai_helper_testdata_confirm_overwrite": "确认写入 {0} 个文件?以下已有文件将被覆盖:{1}",
632
632
  "ai_helper_testdata_context_error": "面板加载失败({0})。常见原因:插件后端未加载最新版本(更新后需重启 Hydro),或站点更新时被回滚到旧版本。请确认插件版本 ≥ 2.5.0 后重试。",
633
+ "ai_helper_testdata_coverage_title": "测试点覆盖计划",
633
634
  "ai_helper_testdata_err_empty_plan": "AI 未返回有效的文件计划,请重试",
634
635
  "ai_helper_testdata_err_empty_statement": "题目题面为空,无法生成测试数据",
635
636
  "ai_helper_testdata_err_extra_too_long": "补充要求过长(最多 1000 字)",
@@ -684,17 +685,19 @@ export const LOCALE_FALLBACK: Record<'zh' | 'en', Record<string, string>> = {
684
685
  "ai_helper_testdata_refresh_btn": "刷新页面",
685
686
  "ai_helper_testdata_retry_btn": "重试",
686
687
  "ai_helper_testdata_review_warning": "输入生成器和参考标程由 AI 编写;沙箱会实际运行标程生成 .out,但标程算法仍可能有误。请核对关键测试点,写入后建议提交标程并重测整题。",
688
+ "ai_helper_testdata_scale_auto": "自动混合(按题面覆盖小/中/临界,推荐)",
687
689
  "ai_helper_testdata_scale_label": "数据规模",
688
690
  "ai_helper_testdata_scale_large": "大(接近约束上限)",
689
691
  "ai_helper_testdata_scale_large_warning": "大规模数据会增加生成器和参考标程的沙箱运行时间。写入后务必提交标程重测验证;重要考试数据建议先用中小规模检查格式与算法。",
690
692
  "ai_helper_testdata_scale_medium": "中(约束内中等量级)",
691
- "ai_helper_testdata_scale_small": "小(人工可验算,默认)",
693
+ "ai_helper_testdata_scale_small": "小(人工可验算)",
692
694
  "ai_helper_testdata_skeleton_btn": "生成骨架文件(不调用 AI)",
693
695
  "ai_helper_testdata_skeleton_hint": "降级方案:不调用 AI,直接生成 compile.sh、config.yaml、模板骨架与空白测试点,数据内容由教师手动填写。适用于 AI 服务不可用或不放心 AI 数据的场景。",
694
696
  "ai_helper_testdata_std_hint": "提供标准答案能显著提高输出的正确率与格式一致性;留空则由 AI 自行编写标程。",
695
697
  "ai_helper_testdata_std_label": "标准答案(可选)",
696
698
  "ai_helper_testdata_std_placeholder": "粘贴已有的标准答案代码;提供后所有测试点输出将严格按此代码推演,且该代码会作为 std 文件一并写入",
697
699
  "ai_helper_testdata_strong_model_notice": "⚠️ 本功能对模型能力非常敏感:请在 AI 助手配置 →「场景模型」中为「测试数据生成」指定当前可用的最强模型。弱模型写出的生成器与标程常自相矛盾,会反复卡在沙箱验证失败。",
700
+ "ai_helper_testdata_total_case_count": "合并后共 {0} 个测试点",
698
701
  "ai_helper_testdata_type_fill_in": "填空题",
699
702
  "ai_helper_testdata_type_function": "函数题",
700
703
  "ai_helper_testdata_type_traditional": "传统题",
@@ -1475,6 +1478,7 @@ export const LOCALE_FALLBACK: Record<'zh' | 'en', Record<string, string>> = {
1475
1478
  "ai_helper_testdata_confirm_apply": "Write {0} file(s) into the problem test data?",
1476
1479
  "ai_helper_testdata_confirm_overwrite": "Write {0} file(s)? The following existing files will be overwritten: {1}",
1477
1480
  "ai_helper_testdata_context_error": "Failed to load the panel ({0}). Common causes: the plugin backend is not running the latest version (restart Hydro after updating), or the site update rolled back to an older release. Make sure the plugin is >= 2.5.0 and retry.",
1481
+ "ai_helper_testdata_coverage_title": "Test case coverage plan",
1478
1482
  "ai_helper_testdata_err_empty_plan": "The AI did not return a valid file plan. Please retry.",
1479
1483
  "ai_helper_testdata_err_empty_statement": "The problem statement is empty; cannot generate test data",
1480
1484
  "ai_helper_testdata_err_extra_too_long": "Extra requirements too long (max 1000 characters)",
@@ -1529,17 +1533,19 @@ export const LOCALE_FALLBACK: Record<'zh' | 'en', Record<string, string>> = {
1529
1533
  "ai_helper_testdata_refresh_btn": "Refresh page",
1530
1534
  "ai_helper_testdata_retry_btn": "Retry",
1531
1535
  "ai_helper_testdata_review_warning": "The input generator and reference solution are AI-authored. The sandbox runs the reference solution to produce each .out, but its algorithm may still be wrong. Check key cases, then submit the reference solution and rejudge the problem.",
1536
+ "ai_helper_testdata_scale_auto": "Automatic mix (small/mid/boundary coverage, recommended)",
1532
1537
  "ai_helper_testdata_scale_label": "Data scale",
1533
1538
  "ai_helper_testdata_scale_large": "Large (near constraint limits)",
1534
1539
  "ai_helper_testdata_scale_large_warning": "Large data increases sandbox runtime for the generator and reference solution. Rejudge with the reference solution after writing; validate format and logic with small/medium data first for high-stakes use.",
1535
1540
  "ai_helper_testdata_scale_medium": "Medium (mid-range within constraints)",
1536
- "ai_helper_testdata_scale_small": "Small (hand-checkable, default)",
1541
+ "ai_helper_testdata_scale_small": "Small (hand-checkable)",
1537
1542
  "ai_helper_testdata_skeleton_btn": "Generate skeleton files (no AI)",
1538
1543
  "ai_helper_testdata_skeleton_hint": "Fallback: build compile.sh, config.yaml, template skeletons and blank test cases deterministically without calling the AI; fill in the data yourself. Useful when the AI service is down or you prefer manual data.",
1539
1544
  "ai_helper_testdata_std_hint": "Providing a reference solution significantly improves output correctness and format consistency; leave empty to let the AI write one.",
1540
1545
  "ai_helper_testdata_std_label": "Reference solution (optional)",
1541
1546
  "ai_helper_testdata_std_placeholder": "Paste your existing reference solution; all test outputs will be derived strictly from this code and it will be written as the std file",
1542
1547
  "ai_helper_testdata_strong_model_notice": "⚠️ This feature is highly sensitive to model capability: assign the strongest model you have to the Test Data Generation scenario in AI Helper settings → Scenario Models. Weaker models often produce a generator and reference solution that contradict each other and repeatedly fail sandbox verification.",
1548
+ "ai_helper_testdata_total_case_count": "{0} total cases after merge",
1543
1549
  "ai_helper_testdata_type_fill_in": "fill-in",
1544
1550
  "ai_helper_testdata_type_function": "Function problem",
1545
1551
  "ai_helper_testdata_type_traditional": "Traditional problem",
@@ -52,6 +52,13 @@ interface GenerationPlan {
52
52
  notes?: string;
53
53
  files: PlannedFile[];
54
54
  caseCount: number;
55
+ totalCaseCount?: number;
56
+ caseCoverage?: Array<{
57
+ caseNumber: number;
58
+ fileNumber: number;
59
+ dataScale: 'small' | 'medium' | 'large';
60
+ target: string;
61
+ }>;
55
62
  usedModel?: string;
56
63
  verification?: PlanVerification;
57
64
  }
@@ -126,7 +133,7 @@ export const TestdataGenPanel: React.FC<TestdataGenPanelProps> = ({ problemId })
126
133
  const [problemKind, setProblemKind] = useState<'auto' | 'traditional' | 'function'>('auto');
127
134
  const [fillInMode, setFillInMode] = useState<'auto' | 'yes' | 'no'>('auto');
128
135
  const [caseCount, setCaseCount] = useState(10);
129
- const [dataScale, setDataScale] = useState<'small' | 'medium' | 'large'>('small');
136
+ const [dataScale, setDataScale] = useState<'auto' | 'small' | 'medium' | 'large'>('auto');
130
137
  const [languages, setLanguages] = useState<string[]>(['py', 'java', 'cc']);
131
138
  const [providedStd, setProvidedStd] = useState('');
132
139
  const [extraRequirements, setExtraRequirements] = useState('');
@@ -263,6 +270,7 @@ export const TestdataGenPanel: React.FC<TestdataGenPanelProps> = ({ problemId })
263
270
  problemId,
264
271
  problemKind,
265
272
  caseCount,
273
+ dataScale,
266
274
  languages,
267
275
  providedStd: providedStd.trim() || undefined,
268
276
  }),
@@ -291,7 +299,7 @@ export const TestdataGenPanel: React.FC<TestdataGenPanelProps> = ({ problemId })
291
299
  setError(err instanceof Error ? err.message : String(err));
292
300
  setPhase('form');
293
301
  }
294
- }, [problemId, problemKind, caseCount, languages, providedStd]);
302
+ }, [problemId, problemKind, caseCount, dataScale, languages, providedStd]);
295
303
 
296
304
  // ─── 写入 ───────────────────────────────────────────────────────────────────
297
305
 
@@ -456,6 +464,7 @@ export const TestdataGenPanel: React.FC<TestdataGenPanelProps> = ({ problemId })
456
464
  onChange={e => setDataScale(e.target.value as typeof dataScale)}
457
465
  style={{ ...getInputStyle(), maxWidth: '260px' }}
458
466
  >
467
+ <option value="auto">{i18n('ai_helper_testdata_scale_auto')}</option>
459
468
  <option value="small">{i18n('ai_helper_testdata_scale_small')}</option>
460
469
  <option value="medium">{i18n('ai_helper_testdata_scale_medium')}</option>
461
470
  <option value="large">{i18n('ai_helper_testdata_scale_large')}</option>
@@ -590,11 +599,32 @@ export const TestdataGenPanel: React.FC<TestdataGenPanelProps> = ({ problemId })
590
599
  {plan.isFillIn ? ` · ${i18n('ai_helper_testdata_type_fill_in')}` : ''}
591
600
  {' · '}
592
601
  {i18n('ai_helper_testdata_case_count_result', plan.caseCount)}
602
+ {plan.totalCaseCount && plan.totalCaseCount !== plan.caseCount
603
+ ? ` · ${i18n('ai_helper_testdata_total_case_count', plan.totalCaseCount)}`
604
+ : ''}
593
605
  {plan.usedModel ? ` · ${plan.usedModel}` : ''}
594
606
  </div>
595
607
  {plan.analysis && <div style={{ fontSize: '13px' }}>{plan.analysis}</div>}
596
608
  {plan.notes && <div style={{ fontSize: '13px', marginTop: SPACING.xs }}>{plan.notes}</div>}
597
609
  </div>
610
+ {plan.caseCoverage && plan.caseCoverage.length > 0 && (
611
+ <div style={{ ...getAlertStyle('info'), marginBottom: SPACING.md }}>
612
+ <div style={{ fontWeight: 600, marginBottom: SPACING.sm }}>
613
+ {i18n('ai_helper_testdata_coverage_title')}
614
+ </div>
615
+ <div style={{ display: 'flex', flexDirection: 'column', gap: SPACING.xs }}>
616
+ {plan.caseCoverage.map(item => (
617
+ <div key={item.caseNumber} style={{ fontSize: '13px', display: 'flex', gap: SPACING.sm, alignItems: 'baseline' }}>
618
+ <code>{item.fileNumber}.in/.out</code>
619
+ <span style={getBadgeStyle('info')}>
620
+ {i18n(`ai_helper_testdata_scale_${item.dataScale}`)}
621
+ </span>
622
+ <span style={{ color: COLORS.textSecondary }}>{item.target}</span>
623
+ </div>
624
+ ))}
625
+ </div>
626
+ </div>
627
+ )}
598
628
  {verification && (
599
629
  <div style={{ ...getAlertStyle(verificationAllGreen ? 'success' : 'warning'), marginBottom: SPACING.md }}>
600
630
  <div style={{ fontWeight: 600, marginBottom: SPACING.xs }}>
package/locales/en.yaml CHANGED
@@ -916,10 +916,13 @@ ai_helper_testdata_fill_in_no: "No"
916
916
  ai_helper_testdata_fill_in_detected: "The statement likely contains scaffold code to complete. The reference solution and test outputs will strictly match the scaffold's print format."
917
917
  ai_helper_testdata_fill_in_hint: "Fill-in problems ship scaffold code in the statement; students complete and submit it. Test outputs will strictly match the scaffold's print format."
918
918
  ai_helper_testdata_scale_label: "Data scale"
919
- ai_helper_testdata_scale_small: "Small (hand-checkable, default)"
919
+ ai_helper_testdata_scale_auto: "Automatic mix (small/mid/boundary coverage, recommended)"
920
+ ai_helper_testdata_scale_small: "Small (hand-checkable)"
920
921
  ai_helper_testdata_scale_medium: "Medium (mid-range within constraints)"
921
922
  ai_helper_testdata_scale_large: "Large (near constraint limits)"
922
923
  ai_helper_testdata_scale_large_warning: "Large data increases sandbox runtime for the generator and reference solution. Rejudge with the reference solution after writing; validate format and logic with small/medium data first for high-stakes use."
924
+ ai_helper_testdata_coverage_title: "Test case coverage plan"
925
+ ai_helper_testdata_total_case_count: "{0} total cases after merge"
923
926
  ai_helper_testdata_std_label: "Reference solution (optional)"
924
927
  ai_helper_testdata_std_placeholder: "Paste your existing reference solution; all test outputs will be derived strictly from this code and it will be written as the std file"
925
928
  ai_helper_testdata_std_hint: "Providing a reference solution significantly improves output correctness and format consistency; leave empty to let the AI write one."
package/locales/zh.yaml CHANGED
@@ -916,10 +916,13 @@ ai_helper_testdata_fill_in_no: "否"
916
916
  ai_helper_testdata_fill_in_detected: "已检测到题面疑似包含待完善代码。填空题的标程与测试数据输出将严格匹配题面代码的打印格式。"
917
917
  ai_helper_testdata_fill_in_hint: "填空题:题面中给出待完善代码,学生补全后提交;测试数据输出将严格匹配题面代码的打印格式。"
918
918
  ai_helper_testdata_scale_label: "数据规模"
919
- ai_helper_testdata_scale_small: "小(人工可验算,默认)"
919
+ ai_helper_testdata_scale_auto: "自动混合(按题面覆盖小/中/临界,推荐)"
920
+ ai_helper_testdata_scale_small: "小(人工可验算)"
920
921
  ai_helper_testdata_scale_medium: "中(约束内中等量级)"
921
922
  ai_helper_testdata_scale_large: "大(接近约束上限)"
922
923
  ai_helper_testdata_scale_large_warning: "大规模数据会增加生成器和参考标程的沙箱运行时间。写入后务必提交标程重测验证;重要考试数据建议先用中小规模检查格式与算法。"
924
+ ai_helper_testdata_coverage_title: "测试点覆盖计划"
925
+ ai_helper_testdata_total_case_count: "合并后共 {0} 个测试点"
923
926
  ai_helper_testdata_std_label: "标准答案(可选)"
924
927
  ai_helper_testdata_std_placeholder: "粘贴已有的标准答案代码;提供后所有测试点输出将严格按此代码推演,且该代码会作为 std 文件一并写入"
925
928
  ai_helper_testdata_std_hint: "提供标准答案能显著提高输出的正确率与格式一致性;留空则由 AI 自行编写标程。"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hydro-ai-helper",
3
- "version": "3.0.2",
3
+ "version": "3.0.3",
4
4
  "description": "HydroOJ AI Learning Assistant - 一个教学优先的 AI 辅助学习插件",
5
5
  "main": "dist/index.js",
6
6
  "author": "Alture",