@xqyz/xq-cli 0.3.15 → 0.3.17

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/CHANGELOG.md CHANGED
@@ -10,7 +10,31 @@
10
10
 
11
11
  ## [Unreleased]
12
12
 
13
- ## [xq-cli 0.3.15 / WorkBuddy Plugin 0.10.34 / SkillHub 1.0.16] - 2026-09-01(npm 待发布,SkillHub 待手动上传)
13
+ ## [xq-cli 0.3.17 / WorkBuddy Plugin 0.10.36 / SkillHub 1.0.18] - 2026-09-01(npm 已发布,SkillHub 待手动上传)
14
+
15
+ ### EPC 与供应方式判断恢复
16
+
17
+ - 将 `epcEngineer_judgement` 纳入 xq-cli 和 WorkBuddy 的解析状态白名单;EPC 判断不再被误报为“不支持的人工处理项”。
18
+ - 后续解析状态会复用现有“选择标包 / EPC”卡片;与 `bidderIdentity_judgement` 同时出现时先处理 EPC,再沿用同一 `runId/cid/uuid` 展示供应方式选择。
19
+ - 旧版本已经阻断的 EPC 任务会在状态查询时原地迁移到可恢复卡片,不重复上传文件或创建任务。
20
+
21
+ - Plugin 固定依赖 `@xqyz/xq-cli@0.3.17`,MCP/Connector/配置基线同步到 `0.10.36`;已生成 SkillHub `1.0.18` 上传包,仍需发布人手动上传。
22
+ - `@xqyz/xq-cli@0.3.17`、`@xqyz/workbuddy-plugin-xique@0.10.36` 已发布;Plugin 的 `latest` 与 `workbuddy-stable` 均已指向 `0.10.36`。
23
+ - 本机 WorkBuddy 已更新到 Plugin `0.10.36` / CLI `0.3.17` / Skill `1.0.18`,精确 MCP 启动握手通过;完全重启后再复核实际加载版本。
24
+
25
+ ## [xq-cli 0.3.16 / WorkBuddy Plugin 0.10.35 / SkillHub 1.0.17] - 2026-09-01(npm 已发布,SkillHub 待手动上传)
26
+
27
+ ### EPC 与供应方式判断恢复
28
+
29
+ - 将 `epcEngineer_judgement` 纳入 xq-cli 和 WorkBuddy 的解析状态白名单;EPC 判断不再被误报为“不支持的人工处理项”。
30
+ - 后续解析状态会复用现有“选择标包 / EPC”卡片;与 `bidderIdentity_judgement` 同时出现时先处理 EPC,再沿用同一 `runId/cid/uuid` 展示供应方式选择。
31
+ - 旧版本已经阻断的 EPC 任务会在状态查询时原地迁移到可恢复卡片,不重复上传文件或创建任务。
32
+
33
+ - Plugin 固定依赖 `@xqyz/xq-cli@0.3.16`,MCP/Connector/配置基线同步到 `0.10.35`;已生成 SkillHub `1.0.17` 上传包,仍需发布人手动上传。
34
+ - `@xqyz/xq-cli@0.3.16`、`@xqyz/workbuddy-plugin-xique@0.10.35` 已发布;Plugin 的 `latest` 与 `workbuddy-stable` 均已指向 `0.10.35`。
35
+ - 本机 WorkBuddy 已更新到 Plugin `0.10.35` / CLI `0.3.16` / Skill `1.0.17`,精确 MCP 启动握手通过;完全重启后再复核实际加载版本。
36
+
37
+ ## [xq-cli 0.3.15 / WorkBuddy Plugin 0.10.34 / SkillHub 1.0.16] - 2026-09-01(npm 已发布,SkillHub 待手动上传)
14
38
 
15
39
  ### 解析补充与任务恢复
16
40
 
@@ -18,6 +42,8 @@
18
42
  - CLI 与 WorkBuddy 补充提交均沿用原 `runId/cid/uuid` 续跑,提交后的短暂旧状态不会重复提交;可选项支持明确跳过并拦截重复或不匹配提交。
19
43
  - 补齐规划模式自动确认后的再次补充、工期确认和历史阻断记录恢复分支;未知 `*_judgement=0` 状态会给出升级提示并停止轮询,避免任务无限卡住。
20
44
  - Plugin 固定依赖 `@xqyz/xq-cli@0.3.15`,MCP/Connector/配置基线同步到 `0.10.34`;已生成 SkillHub `1.0.16` 上传包,仍需发布人手动上传。
45
+ - `@xqyz/xq-cli@0.3.15`、`@xqyz/workbuddy-plugin-xique@0.10.34` 已发布;Plugin 的 `latest` 与 `workbuddy-stable` 均已指向 `0.10.34`。
46
+ - 本机 WorkBuddy 配置和内置 Skill 已更新到 Plugin `0.10.34` / CLI `0.3.15` / Skill `1.0.16`,精确 MCP 启动握手通过;完全重启 WorkBuddy 后再复核实际加载版本。
21
47
 
22
48
  ## [xq-cli 0.3.14 / WorkBuddy Plugin 0.10.33] - 2026-08-28
23
49
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xqyz/xq-cli",
3
- "version": "0.3.15",
3
+ "version": "0.3.17",
4
4
  "description": "CLI for xique bid-book task workflows",
5
5
  "type": "module",
6
6
  "scripts": {
package/src/cli.mjs CHANGED
@@ -2108,6 +2108,9 @@ async function handleOutlineUnlocked(args, state) {
2108
2108
  } else if (waitResult?.phase === 'basis_selection_required') {
2109
2109
  summaryLines.push('outline blocked: parsing-stage outline basis selection required');
2110
2110
  summaryLines.push('hint: run xq-cli basis-select --cid <cid> --uuid <uuid> --basis <scoreAndDir|scoreOnly|dirOnly> --wait.');
2111
+ } else if (waitResult?.phase === 'special_config_required') {
2112
+ summaryLines.push('outline blocked: EPC project scope selection required');
2113
+ summaryLines.push('hint: choose the EPC writing scope from the parsed backend options, then rerun outline for the same cid.');
2111
2114
  } else if (waitResult?.phase === 'reference_selection_required') {
2112
2115
  summaryLines.push('outline blocked: reference selection required');
2113
2116
  summaryLines.push('hint: rerun with --wait in an interactive terminal, or pass --reference-type <0|1|2>.');
@@ -3365,6 +3368,19 @@ async function waitForOutlineReady(client, state, cid, uuid, args, initialSubmit
3365
3368
  progressLabel: 'basis_selection_required from parse status',
3366
3369
  };
3367
3370
  }
3371
+ if (continuation === 'special_config_required') {
3372
+ return {
3373
+ done: true,
3374
+ data: {
3375
+ phase: continuation,
3376
+ issues,
3377
+ parseStatus,
3378
+ taskDetail: taskDetail.data,
3379
+ outlineDetail: outlineData,
3380
+ },
3381
+ progressLabel: 'special_config_required from parse status',
3382
+ };
3383
+ }
3368
3384
  if (continuation === 'reference_selection_required') {
3369
3385
  return {
3370
3386
  done: true,
@@ -3562,6 +3578,18 @@ async function waitForPlanningAnalysisReady(client, state, cid, uuid, args) {
3562
3578
  progressLabel: 'basis_selection_required from parse status',
3563
3579
  };
3564
3580
  }
3581
+ if (continuation === 'special_config_required') {
3582
+ return {
3583
+ done: true,
3584
+ data: {
3585
+ phase: continuation,
3586
+ issues,
3587
+ parseStatus,
3588
+ taskDetail,
3589
+ },
3590
+ progressLabel: 'special_config_required from parse status',
3591
+ };
3592
+ }
3565
3593
  if (continuation === 'reference_selection_required') {
3566
3594
  return {
3567
3595
  done: true,
@@ -4188,6 +4216,7 @@ function collectParseIssues(result) {
4188
4216
  'score_judgement',
4189
4217
  'directory_judgement',
4190
4218
  'scoreAndDirectory_judgement',
4219
+ 'epcEngineer_judgement',
4191
4220
  'bidderIdentity_judgement',
4192
4221
  ];
4193
4222
 
@@ -4212,6 +4241,7 @@ function collectUnsupportedParseIssues(result = {}) {
4212
4241
  'score_judgement',
4213
4242
  'directory_judgement',
4214
4243
  'scoreAndDirectory_judgement',
4244
+ 'epcEngineer_judgement',
4215
4245
  'bidderIdentity_judgement',
4216
4246
  ]);
4217
4247
  const unsupported = new Set();
@@ -4234,6 +4264,9 @@ function classifyParseContinuation(issues = []) {
4234
4264
  if (normalized.has('scoreAndDirectory_judgement')) {
4235
4265
  return 'basis_selection_required';
4236
4266
  }
4267
+ if (normalized.has('epcEngineer_judgement')) {
4268
+ return 'special_config_required';
4269
+ }
4237
4270
  if (normalized.has('bidderIdentity_judgement')) {
4238
4271
  return 'bidder_role_required';
4239
4272
  }