@xqyz/xq-cli 0.3.11 → 0.3.12
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 +22 -2
- package/README.md +6 -0
- package/package.json +1 -1
- package/src/cli.mjs +42 -0
package/CHANGELOG.md
CHANGED
|
@@ -10,7 +10,27 @@
|
|
|
10
10
|
|
|
11
11
|
## [Unreleased]
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
### 供应方式确认恢复
|
|
14
|
+
|
|
15
|
+
- 修复解析完成但 `bidderIdentity_judgement=0` 时 WorkBuddy 直接阻塞的问题,新增“我们自己生产 / 我们采购供应”选择卡。
|
|
16
|
+
- 供应方式提交后沿用同一 `runId/cid/uuid` 继续生成,兼容旧版本已标记为 `blocked` 的历史任务,并防止重复提交。
|
|
17
|
+
- 同步 CLI `bidder-role` 命令、MCP App、Hook 白名单、Connector/Plugin Skill 和回归测试。
|
|
18
|
+
- 计划发布 `@xqyz/xq-cli@0.3.12`、`@xqyz/workbuddy-plugin-xique@0.10.30`,生成 SkillHub `1.0.12` 上传包(待发布人手动上传)。
|
|
19
|
+
|
|
20
|
+
## [WorkBuddy Plugin 0.10.29] - 2026-08-27
|
|
21
|
+
|
|
22
|
+
### 模板5表格顺序
|
|
23
|
+
|
|
24
|
+
- 保持模板5紧凑编号表格位于“导出模板”之后,避免展开“导出格式设置”时顺序错乱。
|
|
25
|
+
- `@xqyz/workbuddy-plugin-xique@0.10.29` 已发布,`latest` 和 `workbuddy-stable` 均已指向该版本;SkillHub 无需新增版本。
|
|
26
|
+
|
|
27
|
+
## [WorkBuddy Plugin 0.10.28] - 2026-08-27
|
|
28
|
+
|
|
29
|
+
### 模板5自定义编号表格
|
|
30
|
+
|
|
31
|
+
- 修复模板5自定义编号在并入“导出格式设置”后误用通用单选卡的问题。
|
|
32
|
+
- 恢复标题级、正文级编号设置的紧凑表格下拉布局;数据结构和导出参数保持不变。
|
|
33
|
+
- `@xqyz/workbuddy-plugin-xique@0.10.28` 已发布,`latest` 和 `workbuddy-stable` 均已指向该版本;SkillHub 无需新增版本。
|
|
14
34
|
|
|
15
35
|
## [xq-cli 0.3.11 / WorkBuddy Plugin 0.10.27 / SkillHub 1.0.11] - 2026-08-27
|
|
16
36
|
|
|
@@ -20,7 +40,7 @@
|
|
|
20
40
|
- 极短篇、超短篇按前端规则禁用专家智笔和旗舰智笔;图片来源选项保持直接展示。
|
|
21
41
|
- 表格、流程图、模板、编号、修改标记、页边距和图片尺寸等低频选项统一收纳到默认收起的“导出格式设置”。
|
|
22
42
|
- 同步 CLI、MCP App、Connector 和 Skill 文档,保持配置提交和规划流程不变。
|
|
23
|
-
- `@xqyz/xq-cli@0.3.11` 与 `@xqyz/workbuddy-plugin-xique@0.10.27`
|
|
43
|
+
- `@xqyz/xq-cli@0.3.11` 与 `@xqyz/workbuddy-plugin-xique@0.10.27` 已发布;`latest` 和 `workbuddy-stable` 均已指向对应版本。SkillHub `1.0.11` 上传包待手动上传。
|
|
24
44
|
|
|
25
45
|
## [WorkBuddy Plugin 0.10.26 / SkillHub 1.0.10] - 2026-08-27
|
|
26
46
|
|
package/README.md
CHANGED
|
@@ -59,6 +59,7 @@ xq-cli login --browser
|
|
|
59
59
|
xq-cli wizard
|
|
60
60
|
xq-cli wizard --file D:\bids\tender.docx
|
|
61
61
|
xq-cli init --file D:\bids\tender.docx --wait
|
|
62
|
+
xq-cli bidder-role --cid <cid> --uuid <uuid> --bidder-role <1|2>
|
|
62
63
|
xq-cli outline --cid <cid> --interactive --wait
|
|
63
64
|
xq-cli outline --cid <cid> --wait
|
|
64
65
|
xq-cli outline view --cid <cid>
|
|
@@ -95,6 +96,11 @@ uploads an image in the Xique frontend.
|
|
|
95
96
|
|
|
96
97
|
When `outline --wait` or `write --wait` hits a required response-basis step, the CLI will pause and ask you to choose `0/1/2` before continuing. It no longer auto-selects a default when you just press Enter.
|
|
97
98
|
|
|
99
|
+
For goods procurement tasks paused on the bidder supply method, use
|
|
100
|
+
`xq-cli bidder-role --cid <cid> --uuid <uuid> --bidder-role 1|2` (`1` means
|
|
101
|
+
self production, `2` means procured supply). The command only submits the
|
|
102
|
+
choice for the existing parsed task; it does not upload or create a task.
|
|
103
|
+
|
|
98
104
|
`write --wait` now also retries `sequelForOutline` when the directory phase stalls at the outline-complete step, and auto-calls `generateAllUnfinished` if the backend reports `100%` but still leaves unfinished chapters behind.
|
|
99
105
|
|
|
100
106
|
`write` follows the frontend flow:
|
package/package.json
CHANGED
package/src/cli.mjs
CHANGED
|
@@ -398,6 +398,9 @@ async function main() {
|
|
|
398
398
|
case 'period-confirm':
|
|
399
399
|
await handlePeriodConfirm(parsed, state);
|
|
400
400
|
return;
|
|
401
|
+
case 'bidder-role':
|
|
402
|
+
await handleBidderRole(parsed, state);
|
|
403
|
+
return;
|
|
401
404
|
case 'outline':
|
|
402
405
|
if (isOutlineAction(parsed, ['view', 'show'])) {
|
|
403
406
|
await handleOutlineView(parsed, state);
|
|
@@ -467,6 +470,7 @@ Commands
|
|
|
467
470
|
parse-status Query or wait for parse completion
|
|
468
471
|
period-status Query engineering project period confirmation status
|
|
469
472
|
period-confirm Save confirmed engineering project period
|
|
473
|
+
bidder-role Save the bidder's goods supply method for the current task
|
|
470
474
|
outline Pre-set task params and trigger outline generation
|
|
471
475
|
outline view View the current outline without triggering generation
|
|
472
476
|
outline update Update the current outline from an edited JSON file
|
|
@@ -500,6 +504,7 @@ Examples
|
|
|
500
504
|
$env:XQ_API_KEY="xq_sk_xxx"
|
|
501
505
|
xq-cli init --file D:\\bids\\tender.docx --wait
|
|
502
506
|
xq-cli parse-status --cid <cid> --uuid <uuid> --wait
|
|
507
|
+
xq-cli bidder-role --cid <cid> --uuid <uuid> --bidder-role <1|2>
|
|
503
508
|
xq-cli choices
|
|
504
509
|
xq-cli choices outline --json
|
|
505
510
|
xq-cli gallery-status --json
|
|
@@ -539,6 +544,7 @@ Common options
|
|
|
539
544
|
--timeout-sec <n> Poll timeout in seconds, default 600
|
|
540
545
|
--interval-sec <n> Poll interval in seconds, default 10
|
|
541
546
|
--reference-type <0|1|2> Outline reference choice: 0=merge, 1=format only, 2=score only
|
|
547
|
+
--bidder-role <1|2> Goods supply method: 1=self production, 2=procured supply
|
|
542
548
|
--browser Skip the local login page and open browser authorization directly
|
|
543
549
|
--api-key <key> Save a user API key locally and verify it with /user/info
|
|
544
550
|
--no-open Do not open the local login page automatically
|
|
@@ -948,6 +954,41 @@ async function handlePeriodConfirm(args, state) {
|
|
|
948
954
|
return payload;
|
|
949
955
|
}
|
|
950
956
|
|
|
957
|
+
async function handleBidderRole(args, state) {
|
|
958
|
+
const client = createAuthorizedClient(args, state);
|
|
959
|
+
const cid = resolveCid(args, state);
|
|
960
|
+
const snapshot = await hydrateTaskSnapshot(client, state, cid);
|
|
961
|
+
const uuid = stringOption(args, 'uuid', snapshot.uuid);
|
|
962
|
+
if (!uuid) {
|
|
963
|
+
throw new Error(`No uuid found for task ${cid}. Pass --uuid explicitly or run init first.`);
|
|
964
|
+
}
|
|
965
|
+
const bidderRole = numberOption(args, 'bidderRole');
|
|
966
|
+
if (![1, 2].includes(bidderRole)) {
|
|
967
|
+
throw new Error('Option --bidder-role expects 1 (self production) or 2 (procured supply).');
|
|
968
|
+
}
|
|
969
|
+
const response = await getJson(client, '/proxy/savebidderRole', {
|
|
970
|
+
uuid,
|
|
971
|
+
bidderRole,
|
|
972
|
+
});
|
|
973
|
+
saveTaskSnapshot(state, cid, {
|
|
974
|
+
uuid,
|
|
975
|
+
bidderRole,
|
|
976
|
+
});
|
|
977
|
+
const payload = {
|
|
978
|
+
command: 'bidder-role',
|
|
979
|
+
cid,
|
|
980
|
+
uuid,
|
|
981
|
+
bidderRole,
|
|
982
|
+
response,
|
|
983
|
+
};
|
|
984
|
+
outputResult(args, payload, [
|
|
985
|
+
`bidder role saved: cid=${cid}`,
|
|
986
|
+
`uuid: ${uuid}`,
|
|
987
|
+
`bidder role: ${bidderRole === 1 ? 'self production' : 'procured supply'}`,
|
|
988
|
+
]);
|
|
989
|
+
return payload;
|
|
990
|
+
}
|
|
991
|
+
|
|
951
992
|
function handleChoices(args) {
|
|
952
993
|
const scope = normalizeChoicesScope(args._[1] || 'all');
|
|
953
994
|
const payload = buildChoicesPayload(scope);
|
|
@@ -5254,6 +5295,7 @@ function pickTaskSnapshot(source) {
|
|
|
5254
5295
|
multiBidType: source.multiBidType,
|
|
5255
5296
|
choiceMultiBiddingId: source.choiceMultiBiddingId,
|
|
5256
5297
|
epcEngineerType: source.epcEngineerType,
|
|
5298
|
+
bidderRole: source.bidderRole,
|
|
5257
5299
|
outlineReferenceType: source.outlineReferenceType,
|
|
5258
5300
|
referenceStatus: source.referenceStatus,
|
|
5259
5301
|
themeStyleSetting: source.themeStyleSetting,
|