@lingjingai/lj-awb-cli-pre 0.4.0 → 0.4.6
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 +45 -0
- package/build/_shared.mjs +54 -5
- package/build/prod.mjs +12 -3
- package/package.json +2 -2
- package/packages/awb-cli/package.json +2 -2
- package/packages/awb-core/package.json +1 -1
- package/packages/awb-core/src/api.js +31 -0
- package/packages/awb-core/src/commands.js +141 -39
- package/packages/awb-core/src/common.js +20 -0
- package/packages/awb-core/src/output.js +176 -9
- package/packages/awb-core/src/services.js +1767 -198
- package/packages/awb-core/src/standalone.js +116 -12
- package/packages/awb-core/src/update.js +327 -0
- package/skills/lj-awb/SKILL.md +30 -9
- package/skills/lj-awb/VERSION +1 -1
- package/skills/lj-awb/compat.json +3 -3
- package/skills/lj-awb/modules/asset.md +10 -1
- package/skills/lj-awb/modules/auth.md +9 -1
- package/skills/lj-awb/modules/create-contract.md +5 -2
- package/skills/lj-awb/modules/create.md +4 -2
- package/skills/lj-awb/modules/credits.md +19 -2
- package/skills/lj-awb/modules/driver.md +1 -0
- package/skills/lj-awb/modules/image.md +3 -1
- package/skills/lj-awb/modules/model.md +5 -4
- package/skills/lj-awb/modules/task.md +4 -1
- package/skills/lj-awb/modules/upload.md +1 -1
- package/skills/lj-awb/modules/video.md +11 -2
- package/skills/lj-awb/modules/workflows.md +3 -1
- package/skills/lj-awb/references/error-codes.md +41 -0
- package/skills/lj-awb/references/model-options-read.md +7 -6
- package/skills/lj-awb/references/output-fields.md +10 -5
- package/skills/lj-awb/scripts/resolve-lj-awb-cmd.sh +106 -4
|
@@ -52,6 +52,7 @@ function requestSummary(request = {}) {
|
|
|
52
52
|
const promptParams = request.promptParams || {};
|
|
53
53
|
return compactRecord({
|
|
54
54
|
requestSource: request.requestSource,
|
|
55
|
+
objectName: request.objectName,
|
|
55
56
|
modelCode: request.modelCode,
|
|
56
57
|
modelGroupCode: request.modelGroupCode,
|
|
57
58
|
projectGroupNo: request.projectGroupNo,
|
|
@@ -121,16 +122,38 @@ function normalizeAuthStatus(data = {}) {
|
|
|
121
122
|
}
|
|
122
123
|
|
|
123
124
|
function normalizeAuthLogin(data = {}) {
|
|
125
|
+
const userId = data.user?.userId;
|
|
126
|
+
const userName = data.user?.userName;
|
|
127
|
+
const userDisplay = userName
|
|
128
|
+
? (userId ? `${userName} (${userId})` : userName)
|
|
129
|
+
: (userId || undefined);
|
|
124
130
|
return compactRecord({
|
|
131
|
+
loginMethod: data.loginMethod,
|
|
132
|
+
status: data.status,
|
|
125
133
|
saved: data.saved ?? Boolean(data.auth || data.accessKey),
|
|
126
134
|
verified: data.verified,
|
|
127
135
|
accessKey: data.accessKey || data.auth?.accessKey,
|
|
128
136
|
source: data.auth ? [data.auth.accessKeySource, data.auth.accessKeySourceName].filter(Boolean).join('/') : undefined,
|
|
137
|
+
userDisplay,
|
|
138
|
+
userId,
|
|
139
|
+
userName,
|
|
140
|
+
groupId: data.user?.groupId,
|
|
141
|
+
groupName: data.user?.groupName,
|
|
129
142
|
user: data.user,
|
|
143
|
+
flowId: data.flowId,
|
|
144
|
+
verifyUrl: data.verifyUrl,
|
|
145
|
+
nextCommand: data.nextCommand,
|
|
130
146
|
dryRun: data.dryRun,
|
|
131
147
|
});
|
|
132
148
|
}
|
|
133
149
|
|
|
150
|
+
function normalizeAuthLogout(data = {}) {
|
|
151
|
+
return compactRecord({
|
|
152
|
+
loggedOut: data.loggedOut,
|
|
153
|
+
authPath: data.authPath,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
|
|
134
157
|
function normalizeDryRunResult(row = {}) {
|
|
135
158
|
if (!isPlainObject(row) || !row.dryRun) return cleanNested(row);
|
|
136
159
|
const localFiles = Array.isArray(row.localFiles) ? row.localFiles : (row.localFile ? [row.localFile] : []);
|
|
@@ -158,6 +181,26 @@ function normalizeDryRun(data = {}) {
|
|
|
158
181
|
resourceConversion: Array.isArray(resourceConversions) && resourceConversions.length === 1
|
|
159
182
|
? `${resourceConversions[0].resource || 'resource'} ${resourceConversions[0].fromFormat}->${resourceConversions[0].toFormat}`
|
|
160
183
|
: undefined,
|
|
184
|
+
validationLegal: data.validation?.legal,
|
|
185
|
+
conversionRequired: Boolean(data.conversionPlan),
|
|
186
|
+
converted: Boolean(data.conversion?.converted),
|
|
187
|
+
conversionReason: data.conversionPlan?.reason ?? data.conversion?.reason ?? (Array.isArray(data.validation?.violations) ? data.validation.violations.map((item) => item.message).join(';') : undefined),
|
|
188
|
+
conversionTargetFormat: data.conversionPlan?.toFormat ?? data.conversion?.toFormat,
|
|
189
|
+
conversionTargetWidth: data.conversionPlan?.targetWidth ?? data.conversion?.targetWidth,
|
|
190
|
+
conversionTargetHeight: data.conversionPlan?.targetHeight ?? data.conversion?.targetHeight,
|
|
191
|
+
conversionTargetPixels: data.conversionPlan?.targetPixels ?? data.conversion?.targetPixels,
|
|
192
|
+
conversionTargetFps: data.conversionPlan?.targetFps ?? data.conversion?.targetFps,
|
|
193
|
+
conversionTargetDuration: data.conversionPlan?.targetDuration ?? data.conversion?.targetDuration,
|
|
194
|
+
conversionTarget: data.conversionPlan
|
|
195
|
+
? compactRecord({
|
|
196
|
+
format: data.conversionPlan.toFormat,
|
|
197
|
+
width: data.conversionPlan.targetWidth,
|
|
198
|
+
height: data.conversionPlan.targetHeight,
|
|
199
|
+
pixels: data.conversionPlan.targetPixels,
|
|
200
|
+
fps: data.conversionPlan.targetFps,
|
|
201
|
+
duration: data.conversionPlan.targetDuration,
|
|
202
|
+
})
|
|
203
|
+
: undefined,
|
|
161
204
|
fileCount: Array.isArray(data.files) ? data.files.length : undefined,
|
|
162
205
|
assetCount: Array.isArray(data.assets) ? data.assets.length : undefined,
|
|
163
206
|
files: data.files,
|
|
@@ -168,10 +211,19 @@ function normalizeDryRun(data = {}) {
|
|
|
168
211
|
});
|
|
169
212
|
}
|
|
170
213
|
|
|
171
|
-
function
|
|
214
|
+
function submissionStatusCommand(commandName, data = {}) {
|
|
215
|
+
if (!data?.taskId) return null;
|
|
216
|
+
if (commandName === 'create image') return `${commandPrefix()} task image-status --task-id ${data.taskId}`;
|
|
217
|
+
if (commandName === 'create video') return `${commandPrefix()} task video-status --task-id ${data.taskId}`;
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
function normalizeTaskSubmission(commandName, data = {}) {
|
|
222
|
+
const statusCommand = rewriteCommandPrefix(data.statusCommand || submissionStatusCommand(commandName, data));
|
|
172
223
|
return compactRecord({
|
|
173
224
|
taskId: data.taskId,
|
|
174
225
|
taskType: data.taskType,
|
|
226
|
+
objectName: data.objectName,
|
|
175
227
|
modelGroupCode: data.modelGroupCode,
|
|
176
228
|
projectGroupNo: data.projectGroupNo,
|
|
177
229
|
pointNo: data.pointNo,
|
|
@@ -184,6 +236,7 @@ function normalizeTaskSubmission(data = {}) {
|
|
|
184
236
|
projectBudgetRemainingAfter: data.projectBudgetRemainingAfter ?? data.projectPointRemainingAfter,
|
|
185
237
|
uploadCount: Array.isArray(data.uploads) ? data.uploads.length : undefined,
|
|
186
238
|
nextCommand: rewriteCommandPrefix(data.nextCommand),
|
|
239
|
+
statusCommand,
|
|
187
240
|
waited: data.waited ? normalizeTaskStatus(data.waited) : undefined,
|
|
188
241
|
});
|
|
189
242
|
}
|
|
@@ -207,6 +260,7 @@ function normalizeSubtitleSubmission(data = {}) {
|
|
|
207
260
|
|
|
208
261
|
function normalizeFee(data = {}) {
|
|
209
262
|
return compactRecord({
|
|
263
|
+
objectName: data.objectName,
|
|
210
264
|
modelGroupCode: data.modelGroupCode,
|
|
211
265
|
projectGroupNo: data.projectGroupNo,
|
|
212
266
|
pointCost: data.pointCost,
|
|
@@ -334,6 +388,7 @@ function normalizeSubjectVoice(data = {}) {
|
|
|
334
388
|
}
|
|
335
389
|
|
|
336
390
|
function normalizeAsset(data = {}) {
|
|
391
|
+
const conversion = data.conversionPlan ?? data.conversion ?? null;
|
|
337
392
|
return compactRecord({
|
|
338
393
|
created: data.created,
|
|
339
394
|
updated: data.updated,
|
|
@@ -341,9 +396,30 @@ function normalizeAsset(data = {}) {
|
|
|
341
396
|
groupId: data.groupId,
|
|
342
397
|
assetId: data.assetId,
|
|
343
398
|
platform: data.platform,
|
|
399
|
+
assetType: data.assetType,
|
|
344
400
|
name: data.name,
|
|
345
401
|
projectName: data.projectName,
|
|
346
402
|
assetPath: data.assetPath,
|
|
403
|
+
validationLegal: data.validation?.legal ?? (data.conversion ? true : undefined),
|
|
404
|
+
conversionRequired: Boolean(data.conversionPlan ?? data.conversion),
|
|
405
|
+
converted: Boolean(data.conversion?.converted),
|
|
406
|
+
conversionReason: conversion?.reason,
|
|
407
|
+
conversionTargetFormat: conversion?.toFormat,
|
|
408
|
+
conversionTargetWidth: conversion?.targetWidth,
|
|
409
|
+
conversionTargetHeight: conversion?.targetHeight,
|
|
410
|
+
conversionTargetPixels: conversion?.targetPixels,
|
|
411
|
+
conversionTargetFps: conversion?.targetFps,
|
|
412
|
+
conversionTargetDuration: conversion?.targetDuration,
|
|
413
|
+
conversionTarget: conversion
|
|
414
|
+
? compactRecord({
|
|
415
|
+
format: conversion.toFormat,
|
|
416
|
+
width: conversion.targetWidth,
|
|
417
|
+
height: conversion.targetHeight,
|
|
418
|
+
pixels: conversion.targetPixels,
|
|
419
|
+
fps: conversion.targetFps,
|
|
420
|
+
duration: conversion.targetDuration,
|
|
421
|
+
})
|
|
422
|
+
: undefined,
|
|
347
423
|
uploadBackendPath: data.upload?.backendPath,
|
|
348
424
|
uploadUrl: data.upload?.url,
|
|
349
425
|
});
|
|
@@ -497,6 +573,8 @@ export function normalizeOutputData(commandName, data) {
|
|
|
497
573
|
return normalizeAuthStatus(data);
|
|
498
574
|
case 'auth login':
|
|
499
575
|
return normalizeAuthLogin(data);
|
|
576
|
+
case 'auth logout':
|
|
577
|
+
return normalizeAuthLogout(data);
|
|
500
578
|
default:
|
|
501
579
|
break;
|
|
502
580
|
}
|
|
@@ -504,11 +582,13 @@ export function normalizeOutputData(commandName, data) {
|
|
|
504
582
|
switch (commandName) {
|
|
505
583
|
case 'create image':
|
|
506
584
|
case 'create video':
|
|
507
|
-
|
|
585
|
+
case 'create video-super-resolution':
|
|
586
|
+
return normalizeTaskSubmission(commandName, data);
|
|
508
587
|
case 'create video-subtitle-removal':
|
|
509
588
|
return normalizeSubtitleSubmission(data);
|
|
510
589
|
case 'create image-fee':
|
|
511
590
|
case 'create video-fee':
|
|
591
|
+
case 'create video-super-resolution-fee':
|
|
512
592
|
return normalizeFee(data);
|
|
513
593
|
case 'account info':
|
|
514
594
|
return normalizeAccountInfo(data);
|
|
@@ -526,6 +606,7 @@ export function normalizeOutputData(commandName, data) {
|
|
|
526
606
|
case 'task video-status':
|
|
527
607
|
case 'task wait':
|
|
528
608
|
case 'task video-subtitle-status':
|
|
609
|
+
case 'task video-super-resolution-status':
|
|
529
610
|
return normalizeTaskStatus(data);
|
|
530
611
|
case 'create subject':
|
|
531
612
|
case 'create subject-wait':
|
|
@@ -559,6 +640,8 @@ export function normalizeOutputData(commandName, data) {
|
|
|
559
640
|
return normalizeList(data, ['subjects']);
|
|
560
641
|
case 'create subject-voice-list':
|
|
561
642
|
return normalizeList(data, ['voices']);
|
|
643
|
+
case 'update':
|
|
644
|
+
return normalizeUpdateResult(data);
|
|
562
645
|
default:
|
|
563
646
|
break;
|
|
564
647
|
}
|
|
@@ -647,6 +730,22 @@ function normalizeArtifactByCommand(commandName, data) {
|
|
|
647
730
|
return cleanNested(data);
|
|
648
731
|
}
|
|
649
732
|
|
|
733
|
+
function normalizeUpdateResult(data = {}) {
|
|
734
|
+
return compactRecord({
|
|
735
|
+
checked: data.checked,
|
|
736
|
+
updated: data.updated,
|
|
737
|
+
updateAvailable: data.updateAvailable,
|
|
738
|
+
packageName: data.packageName,
|
|
739
|
+
previousVersion: data.previousVersion,
|
|
740
|
+
currentVersion: data.currentVersion,
|
|
741
|
+
latestVersion: data.latestVersion,
|
|
742
|
+
command: rewriteCommandPrefix(data.command),
|
|
743
|
+
skillUpdated: data.skillUpdated,
|
|
744
|
+
restartRecommended: data.restartRecommended,
|
|
745
|
+
message: data.message,
|
|
746
|
+
});
|
|
747
|
+
}
|
|
748
|
+
|
|
650
749
|
export function normalizeJsonData(commandName, data) {
|
|
651
750
|
if (!isPlainObject(data)) return rewriteNested(data);
|
|
652
751
|
if (data.dryRun) return rewriteNested(data);
|
|
@@ -1200,6 +1299,16 @@ function formatModelCreateSpecOutput(data = {}) {
|
|
|
1200
1299
|
}
|
|
1201
1300
|
pushSectionCount(lines, 'examples', examples.length);
|
|
1202
1301
|
for (const [index, example] of examples.entries()) pushSectionItem(lines, index, rewriteCommandPrefix(example));
|
|
1302
|
+
const userParams = Array.isArray(data.parameterControls?.userParams) ? data.parameterControls.userParams : [];
|
|
1303
|
+
pushSectionCount(lines, 'params', userParams.length);
|
|
1304
|
+
for (const [index, param] of userParams.entries()) {
|
|
1305
|
+
pushSectionRecordItem(lines, index, {
|
|
1306
|
+
key: param.key,
|
|
1307
|
+
cliArg: param.cliArg,
|
|
1308
|
+
values: valueList(param.allowedValues),
|
|
1309
|
+
generic: param.genericModelParam,
|
|
1310
|
+
}, ['key', 'cliArg', 'values', 'generic']);
|
|
1311
|
+
}
|
|
1203
1312
|
lines.push('next:');
|
|
1204
1313
|
if (data.optionsCommand) pushSectionKeyValue(lines, 'options', `${commandPrefix()} ${data.optionsCommand}`);
|
|
1205
1314
|
const feeNext = modelFeeNextCommand(data);
|
|
@@ -1291,6 +1400,8 @@ const OUTPUT_KIND_BY_COMMAND = {
|
|
|
1291
1400
|
'project ensure': 'generic',
|
|
1292
1401
|
'credits balance': 'credits_balance',
|
|
1293
1402
|
'credits usage': 'credits_usage',
|
|
1403
|
+
'credits buy': 'purchase_guide',
|
|
1404
|
+
'credits redeem': 'redeem_result',
|
|
1294
1405
|
'model image-models': 'model_list',
|
|
1295
1406
|
'model video-models': 'model_list',
|
|
1296
1407
|
'model asset-review-models': 'asset_review_model_list',
|
|
@@ -1305,9 +1416,12 @@ const OUTPUT_KIND_BY_COMMAND = {
|
|
|
1305
1416
|
'create video-fee': 'fee_estimate',
|
|
1306
1417
|
'create video': 'task_submission',
|
|
1307
1418
|
'create video-batch': 'batch_task_submission',
|
|
1419
|
+
'create video-super-resolution-fee': 'fee_estimate',
|
|
1420
|
+
'create video-super-resolution': 'task_submission',
|
|
1308
1421
|
'task video-status': 'task_status',
|
|
1309
1422
|
'create video-subtitle-removal': 'subtitle_task_submission',
|
|
1310
1423
|
'task video-subtitle-status': 'subtitle_task_status',
|
|
1424
|
+
'task video-super-resolution-status': 'task_status',
|
|
1311
1425
|
'task list': 'task_list',
|
|
1312
1426
|
'task wait': 'task_status',
|
|
1313
1427
|
'task records': 'local_task_records',
|
|
@@ -1376,6 +1490,7 @@ const OUTPUT_KIND_BY_COMMAND = {
|
|
|
1376
1490
|
'create subject-voice': 'subject_voice_create_result',
|
|
1377
1491
|
'create subject-voice-wait': 'subject_voice_status',
|
|
1378
1492
|
'create subject-batch': 'batch_subject_publish_result',
|
|
1493
|
+
update: 'update_result',
|
|
1379
1494
|
};
|
|
1380
1495
|
|
|
1381
1496
|
const KIND_TITLES = {
|
|
@@ -1412,6 +1527,8 @@ const KIND_TITLES = {
|
|
|
1412
1527
|
project_list: '项目组列表',
|
|
1413
1528
|
project_summary: '项目组摘要',
|
|
1414
1529
|
project_user_list: '项目组成员',
|
|
1530
|
+
purchase_guide: '购买引导',
|
|
1531
|
+
redeem_result: '兑换结果',
|
|
1415
1532
|
subject_list: '主体列表',
|
|
1416
1533
|
subject_publish_result: '主体创建结果',
|
|
1417
1534
|
subject_status: '主体状态',
|
|
@@ -1424,13 +1541,16 @@ const KIND_TITLES = {
|
|
|
1424
1541
|
task_status: '任务状态',
|
|
1425
1542
|
task_submission: '任务提交结果',
|
|
1426
1543
|
team_list: '团队列表',
|
|
1544
|
+
update_result: 'CLI 更新',
|
|
1427
1545
|
upload_result: '上传结果',
|
|
1428
1546
|
};
|
|
1429
1547
|
|
|
1430
1548
|
const COMMAND_TITLES = {
|
|
1431
1549
|
doctor: '环境体检',
|
|
1432
1550
|
schema: '命令 Schema',
|
|
1551
|
+
update: 'CLI 更新',
|
|
1433
1552
|
'auth clear': '清空认证结果',
|
|
1553
|
+
'auth logout': '退出登录结果',
|
|
1434
1554
|
'account switch-team': '团队切换结果',
|
|
1435
1555
|
'project use': '项目组切换结果',
|
|
1436
1556
|
'project create': '项目组创建结果',
|
|
@@ -1440,6 +1560,8 @@ const COMMAND_TITLES = {
|
|
|
1440
1560
|
'create video': '生视频任务提交结果',
|
|
1441
1561
|
'create image-batch': '批量生图提交结果',
|
|
1442
1562
|
'create video-batch': '批量生视频提交结果',
|
|
1563
|
+
'create video-super-resolution-fee': '视频超分积分预估',
|
|
1564
|
+
'create video-super-resolution': '视频超分任务提交结果',
|
|
1443
1565
|
'create video-subtitle-removal': '去字幕任务提交结果',
|
|
1444
1566
|
'create subject': '主体创建结果',
|
|
1445
1567
|
'create subject-wait': '主体状态',
|
|
@@ -1460,6 +1582,17 @@ const FIELD_LABELS = {
|
|
|
1460
1582
|
assetKind: '素材类型',
|
|
1461
1583
|
assetName: '素材名',
|
|
1462
1584
|
assetPath: '素材路径',
|
|
1585
|
+
assetType: '素材类型',
|
|
1586
|
+
converted: '已转码',
|
|
1587
|
+
conversionReason: '转码原因',
|
|
1588
|
+
conversionRequired: '需要转码',
|
|
1589
|
+
conversionTargetDuration: '目标时长',
|
|
1590
|
+
conversionTargetFormat: '目标格式',
|
|
1591
|
+
conversionTargetFps: '目标帧率',
|
|
1592
|
+
conversionTargetHeight: '目标高度',
|
|
1593
|
+
conversionTargetPixels: '目标像素',
|
|
1594
|
+
conversionTargetWidth: '目标宽度',
|
|
1595
|
+
validationLegal: '规格合法',
|
|
1463
1596
|
authType: '认证方式',
|
|
1464
1597
|
backendPath: '后端路径',
|
|
1465
1598
|
batchCount: '批次数',
|
|
@@ -1467,6 +1600,11 @@ const FIELD_LABELS = {
|
|
|
1467
1600
|
billingPointRemainingAfter: '扣除后可扣积分',
|
|
1468
1601
|
checkedAt: '检查时间',
|
|
1469
1602
|
cleared: '已清空',
|
|
1603
|
+
loggedOut: '已退出登录',
|
|
1604
|
+
authPath: '认证文件',
|
|
1605
|
+
purchaseUrl: '购买链接',
|
|
1606
|
+
redeemed: '已兑换',
|
|
1607
|
+
redemptionCode: '兑换码',
|
|
1470
1608
|
clipCount: 'Clip 数',
|
|
1471
1609
|
clipId: 'Clip ID',
|
|
1472
1610
|
command: '命令',
|
|
@@ -1518,6 +1656,7 @@ const FIELD_LABELS = {
|
|
|
1518
1656
|
nextCommand: '下一步命令',
|
|
1519
1657
|
nextRefSubject: '主体引用参数',
|
|
1520
1658
|
nextVoiceArg: '音色参数',
|
|
1659
|
+
objectName: '对象路径',
|
|
1521
1660
|
originUrls: '原始素材',
|
|
1522
1661
|
parentKey: '父级 Key',
|
|
1523
1662
|
platform: '平台',
|
|
@@ -1558,6 +1697,7 @@ const FIELD_LABELS = {
|
|
|
1558
1697
|
sourceTaskId: '来源任务 ID',
|
|
1559
1698
|
stateKey: '状态 Key',
|
|
1560
1699
|
status: '状态',
|
|
1700
|
+
statusCommand: '状态查询命令',
|
|
1561
1701
|
statusCommandTaskType: '状态任务类型',
|
|
1562
1702
|
submitted: '已提交',
|
|
1563
1703
|
successRate: '成功率',
|
|
@@ -1570,6 +1710,7 @@ const FIELD_LABELS = {
|
|
|
1570
1710
|
timedOut: '已超时',
|
|
1571
1711
|
title: '标题',
|
|
1572
1712
|
updated: '已更新',
|
|
1713
|
+
userDisplay: '用户',
|
|
1573
1714
|
userId: '用户 ID',
|
|
1574
1715
|
userName: '用户名',
|
|
1575
1716
|
verification: '验证方式',
|
|
@@ -1587,11 +1728,18 @@ const FIELD_LABELS = {
|
|
|
1587
1728
|
commandCount: '命令数',
|
|
1588
1729
|
commandFilter: '命令过滤',
|
|
1589
1730
|
commonFieldCount: '通用字段数',
|
|
1731
|
+
currentVersion: '当前版本',
|
|
1590
1732
|
domainFilter: '领域过滤',
|
|
1733
|
+
latestVersion: '最新版本',
|
|
1591
1734
|
nodeVersion: 'Node 版本',
|
|
1735
|
+
packageName: '包名',
|
|
1736
|
+
previousVersion: '更新前版本',
|
|
1592
1737
|
resourceFieldCount: '资源字段数',
|
|
1593
1738
|
resourceRuleCount: '资源规则数',
|
|
1739
|
+
restartRecommended: '建议重启',
|
|
1594
1740
|
schemaVersion: 'Schema 版本',
|
|
1741
|
+
skillUpdated: 'Skill 已更新',
|
|
1742
|
+
updateAvailable: '有新版本',
|
|
1595
1743
|
version: '版本',
|
|
1596
1744
|
type: '类型',
|
|
1597
1745
|
message: '消息',
|
|
@@ -1617,8 +1765,8 @@ const DETAIL_FIELDS_BY_KIND = {
|
|
|
1617
1765
|
artifact_write_result: ['id', 'projectId', 'rowKind', 'entityKey', 'parentKey', 'actorKey', 'propKey', 'locationKey', 'stateKey', 'episodeId', 'sceneId', 'clipId', 'videoEpisodeId', 'status', 'title', 'name', 'displayName'],
|
|
1618
1766
|
asset_group_detail: ['groupId', 'platform', 'name', 'projectName', 'description', 'status', 'assetCount'],
|
|
1619
1767
|
asset_group_write_result: ['created', 'updated', 'groupId', 'platform', 'name', 'projectName', 'assetPath'],
|
|
1620
|
-
asset_register_result: ['created', 'updated', 'registered', 'assetId', 'groupId', 'platform', 'name', 'projectName', 'assetPath', 'uploadBackendPath', 'uploadUrl'],
|
|
1621
|
-
auth_result: ['
|
|
1768
|
+
asset_register_result: ['created', 'updated', 'registered', 'assetId', 'groupId', 'platform', 'assetType', 'name', 'projectName', 'assetPath', 'validationLegal', 'conversionRequired', 'converted', 'conversionReason', 'conversionTargetFormat', 'conversionTargetWidth', 'conversionTargetHeight', 'conversionTargetPixels', 'conversionTargetFps', 'conversionTargetDuration', 'uploadBackendPath', 'uploadUrl'],
|
|
1769
|
+
auth_result: ['userDisplay', 'loggedOut', 'saved', 'verified', 'accessKey', 'source', 'dryRun', 'groupName', 'authPath'],
|
|
1622
1770
|
auth_status: ['configured', 'authType', 'accessKey', 'source', 'verified', 'verification', 'verifyCommand', 'userId', 'userName', 'groupId', 'groupName'],
|
|
1623
1771
|
batch_subject_publish_result: ['dryRun', 'submitted', 'count', 'successCount', 'failureCount', 'modelCode', 'projectGroupNo'],
|
|
1624
1772
|
batch_task_status: ['count', 'taskCount', 'successTaskCount', 'resultCount', 'pointTotal', 'timedOut', 'waitedMs'],
|
|
@@ -1626,10 +1774,12 @@ const DETAIL_FIELDS_BY_KIND = {
|
|
|
1626
1774
|
credits_balance: ['billingPointBalance', 'currentProjectGroupNo', 'currentProjectGroupName', 'projectBudgetBalance', 'projectBudgetMax'],
|
|
1627
1775
|
credits_usage: ['projectGroupNo', 'sinceText', 'untilText', 'scannedTaskCount', 'pointTotal'],
|
|
1628
1776
|
environment_report: ['doctorStatus', 'verify'],
|
|
1629
|
-
fee_estimate: ['modelGroupCode', 'projectGroupNo', 'pointCost', 'billingPointBalance', 'billingPointRemainingAfter', 'projectBudgetBalance', 'projectBudgetMax', 'projectBudgetRemainingAfter'],
|
|
1777
|
+
fee_estimate: ['objectName', 'modelGroupCode', 'projectGroupNo', 'pointCost', 'billingPointBalance', 'billingPointRemainingAfter', 'projectBudgetBalance', 'projectBudgetMax', 'projectBudgetRemainingAfter'],
|
|
1630
1778
|
generic: ['cleared', 'selected', 'created', 'updated', 'reused', 'dryRun', 'action', 'projectGroupNo', 'projectGroupName', 'groupId', 'groupName', 'projectGroupName', 'point', 'memberCount', 'note'],
|
|
1631
1779
|
local_task_records: ['count', 'taskCount', 'successTaskCount', 'resultCount', 'pointTotal'],
|
|
1632
1780
|
project_summary: ['selected', 'created', 'updated', 'reused', 'projectGroupNo', 'projectGroupName', 'isSelected', 'projectBudgetBalance', 'projectBudgetMax', 'memberCount'],
|
|
1781
|
+
purchase_guide: ['purchaseUrl'],
|
|
1782
|
+
redeem_result: ['redeemed', 'redemptionCode', 'billingPointBalance', 'currentProjectGroupNo', 'currentProjectGroupName', 'projectBudgetBalance', 'projectBudgetMax'],
|
|
1633
1783
|
subject_publish_result: ['created', 'name', 'elementId', 'subjectId', 'externalId', 'modelCode', 'status', 'taskStatus', 'errorMessage', 'nextRefSubject'],
|
|
1634
1784
|
subject_status: ['name', 'elementId', 'subjectId', 'externalId', 'modelCode', 'status', 'taskStatus', 'errorMessage', 'isTerminal', 'nextRefSubject'],
|
|
1635
1785
|
subject_voice_create_result: ['created', 'name', 'voiceRecordId', 'reqTaskId', 'voiceId', 'externalId', 'status', 'taskStatus', 'errorMessage', 'nextVoiceArg'],
|
|
@@ -1637,7 +1787,8 @@ const DETAIL_FIELDS_BY_KIND = {
|
|
|
1637
1787
|
subtitle_task_status: ['taskId', 'publicId', 'remoteTaskId', 'taskType', 'taskStatus', 'isTerminal', 'projectGroupNo', 'resultCount', 'errorMessage', 'timedOut', 'waitedMs'],
|
|
1638
1788
|
subtitle_task_submission: ['submitted', 'taskId', 'taskType', 'sourceTaskId', 'projectGroupNo', 'pointCost', 'billingPointBalance', 'billingPointRemainingAfter', 'projectBudgetBalance', 'projectBudgetMax', 'projectBudgetRemainingAfter', 'nextCommand'],
|
|
1639
1789
|
task_status: ['taskId', 'publicId', 'remoteTaskId', 'taskType', 'taskStatus', 'isTerminal', 'modelGroupCode', 'projectGroupNo', 'pointNo', 'gmtCreate', 'resultCount', 'errorMessage', 'timedOut', 'waitedMs'],
|
|
1640
|
-
task_submission: ['taskId', 'taskType', 'modelGroupCode', 'projectGroupNo', 'pointNo', 'points', 'pointCost', 'billingPointBalance', 'billingPointRemainingAfter', 'projectBudgetBalance', 'projectBudgetMax', 'projectBudgetRemainingAfter', 'uploadCount', 'nextCommand'],
|
|
1790
|
+
task_submission: ['taskId', 'taskType', 'objectName', 'modelGroupCode', 'projectGroupNo', 'pointNo', 'points', 'pointCost', 'billingPointBalance', 'billingPointRemainingAfter', 'projectBudgetBalance', 'projectBudgetMax', 'projectBudgetRemainingAfter', 'uploadCount', 'nextCommand', 'statusCommand'],
|
|
1791
|
+
update_result: ['checked', 'updated', 'updateAvailable', 'packageName', 'previousVersion', 'currentVersion', 'latestVersion', 'command', 'skillUpdated', 'restartRecommended', 'message'],
|
|
1641
1792
|
upload_result: ['dryRun', 'fileCount', 'assetCount', 'localFileCount', 'resourceConversionCount'],
|
|
1642
1793
|
};
|
|
1643
1794
|
|
|
@@ -1649,15 +1800,18 @@ const DRY_RUN_FIELDS_BY_COMMAND = {
|
|
|
1649
1800
|
'project create': ['dryRun', 'action', 'projectGroupName', 'point', 'memberCount', 'note'],
|
|
1650
1801
|
'project update': ['dryRun', 'action', 'projectGroupNo', 'projectGroupName', 'point', 'memberCount'],
|
|
1651
1802
|
'project ensure': ['dryRun', 'action', 'projectGroupName', 'point', 'memberCount', 'note'],
|
|
1803
|
+
'credits redeem': ['dryRun', 'action', 'redemptionCode'],
|
|
1652
1804
|
'upload files': ['dryRun', 'fileCount', 'localFileCount', 'resourceConversionCount'],
|
|
1653
1805
|
'create image': ['dryRun', 'action', 'modelGroupCode', 'projectGroupNo', 'prompt', 'ratio', 'quality', 'generateNum', 'resourceCount', 'localFileCount', 'assetCount'],
|
|
1654
1806
|
'create video': ['dryRun', 'action', 'modelGroupCode', 'projectGroupNo', 'prompt', 'duration', 'ratio', 'quality', 'needAudio', 'resourceCount', 'localFileCount', 'assetCount'],
|
|
1655
1807
|
'create image-batch': ['dryRun', 'count', 'modelGroupCode', 'projectGroupNo'],
|
|
1656
1808
|
'create video-batch': ['dryRun', 'count', 'modelGroupCode', 'projectGroupNo'],
|
|
1809
|
+
'create video-super-resolution-fee': ['dryRun', 'action', 'objectName', 'projectGroupNo', 'pointCost', 'billingPointBalance', 'billingPointRemainingAfter', 'projectBudgetBalance', 'projectBudgetMax', 'projectBudgetRemainingAfter'],
|
|
1810
|
+
'create video-super-resolution': ['dryRun', 'action', 'objectName', 'projectGroupNo', 'taskId', 'pointCost', 'billingPointBalance', 'billingPointRemainingAfter', 'projectBudgetBalance', 'projectBudgetMax', 'projectBudgetRemainingAfter', 'nextCommand'],
|
|
1657
1811
|
'create video-subtitle-removal': ['dryRun', 'action', 'sourceTaskId', 'projectGroupNo'],
|
|
1658
1812
|
'create asset-group': ['dryRun', 'action', 'platform', 'name', 'projectName'],
|
|
1659
1813
|
'create asset-group-update': ['dryRun', 'action', 'groupId', 'platform', 'name', 'projectName'],
|
|
1660
|
-
'create asset': ['dryRun', 'action', 'groupId', 'platform', 'name', 'assetPath', 'localFileCount', 'fileCount'],
|
|
1814
|
+
'create asset': ['dryRun', 'action', 'groupId', 'platform', 'assetType', 'name', 'assetPath', 'validationLegal', 'conversionRequired', 'converted', 'conversionReason', 'conversionTargetFormat', 'conversionTargetWidth', 'conversionTargetHeight', 'conversionTargetPixels', 'conversionTargetFps', 'conversionTargetDuration', 'localFileCount', 'fileCount'],
|
|
1661
1815
|
'create subject': ['dryRun', 'action', 'name', 'modelCode', 'elementFrontalImage', 'assetCount', 'localFileCount', 'nextRefSubject'],
|
|
1662
1816
|
'create subject-voice': ['dryRun', 'action', 'name', 'voiceName', 'voiceUrl', 'remoteUrl', 'remoteUpload', 'localFileCount', 'nextVoiceArg'],
|
|
1663
1817
|
'create subject-batch': ['dryRun', 'count', 'modelCode'],
|
|
@@ -2332,7 +2486,7 @@ function cliFlagForParam(key) {
|
|
|
2332
2486
|
need_audio: '--need-audio',
|
|
2333
2487
|
prompt: '--prompt',
|
|
2334
2488
|
};
|
|
2335
|
-
return flags[key];
|
|
2489
|
+
return flags[key] || (key ? `--model-param ${key}=...` : '');
|
|
2336
2490
|
}
|
|
2337
2491
|
|
|
2338
2492
|
function localizedResourceParam(value) {
|
|
@@ -2737,6 +2891,7 @@ function collectPrettyActions(commandName, normalized, context = {}) {
|
|
|
2737
2891
|
actions.push({ label, value: rewriteCommandPrefix(value) });
|
|
2738
2892
|
};
|
|
2739
2893
|
if (normalized?.nextCommand) add('继续查询', normalized.nextCommand);
|
|
2894
|
+
if (normalized?.statusCommand) add('状态查询', normalized.statusCommand);
|
|
2740
2895
|
if (normalized?.nextRefSubject) add('主体引用', normalized.nextRefSubject);
|
|
2741
2896
|
if (normalized?.nextVoiceArg) add('音色参数', normalized.nextVoiceArg);
|
|
2742
2897
|
if (normalized?.dryRun && context.confirmCommand) add('确认执行', context.confirmCommand);
|
|
@@ -2852,6 +3007,11 @@ function formatPrettyModelCreateSpec(data = {}, context = {}) {
|
|
|
2852
3007
|
column('素材用途', (row) => localizedList(row.resourceUsages, localizedUsage), { minWidth: 10, maxWidth: 24 }),
|
|
2853
3008
|
column('Prompt 绑定', (row) => localizedPromptBinding(row.promptBinding), { maxWidth: 14 }),
|
|
2854
3009
|
]);
|
|
3010
|
+
renderArraySection(lines, '可控参数', data.parameterControls?.userParams, [
|
|
3011
|
+
column('参数', (row) => localizedParamKey(row.key), { minWidth: 10, maxWidth: 20 }),
|
|
3012
|
+
column('写法', 'cliArg', { minWidth: 12, maxWidth: 34 }),
|
|
3013
|
+
column('可选值', (row) => Array.isArray(row.allowedValues) ? row.allowedValues.join('、') : '', { minWidth: 12, maxWidth: 36 }),
|
|
3014
|
+
]);
|
|
2855
3015
|
renderScalarList(lines, '示例', (data.examples || []).map((example) => modelCreateExampleWithCode(example, data.modelGroupCode)).map((item) => item.replaceAll('--model-group-code <code>', `--model-group-code ${data.modelGroupCode || '<code>'}`)), 8);
|
|
2856
3016
|
const actions = [];
|
|
2857
3017
|
if (data.optionsCommand) actions.push({ label: '查看参数', value: `${commandPrefix()} ${data.optionsCommand}` });
|
|
@@ -3081,6 +3241,12 @@ export function formatTextOutput(commandName, data, context = {}) {
|
|
|
3081
3241
|
'parentKey',
|
|
3082
3242
|
'assetKind',
|
|
3083
3243
|
'assetKey',
|
|
3244
|
+
'assetType',
|
|
3245
|
+
'assetPath',
|
|
3246
|
+
'validationLegal',
|
|
3247
|
+
'conversionRequired',
|
|
3248
|
+
'converted',
|
|
3249
|
+
'conversionReason',
|
|
3084
3250
|
'actorKey',
|
|
3085
3251
|
'propKey',
|
|
3086
3252
|
'locationKey',
|
|
@@ -3103,7 +3269,7 @@ export function formatTextOutput(commandName, data, context = {}) {
|
|
|
3103
3269
|
'dryRun',
|
|
3104
3270
|
'action',
|
|
3105
3271
|
],
|
|
3106
|
-
['nextCommand', 'nextRefSubject', ...(list ? ['count'] : []), ...(isModelList ? ['usage'] : [])],
|
|
3272
|
+
['nextCommand', 'statusCommand', 'nextRefSubject', ...(list ? ['count'] : []), ...(isModelList ? ['usage'] : [])],
|
|
3107
3273
|
);
|
|
3108
3274
|
if (scalarLine) lines.push(scalarLine);
|
|
3109
3275
|
if (list) {
|
|
@@ -3130,6 +3296,7 @@ export function formatTextOutput(commandName, data, context = {}) {
|
|
|
3130
3296
|
}
|
|
3131
3297
|
}
|
|
3132
3298
|
if (normalized.nextCommand) lines.push(`next=${normalized.nextCommand}`);
|
|
3299
|
+
if (normalized.statusCommand) lines.push(`statusCommand=${normalized.statusCommand}`);
|
|
3133
3300
|
if (normalized.nextRefSubject) lines.push(`nextRefSubject=${normalized.nextRefSubject}`);
|
|
3134
3301
|
if (normalized.dryRun && context.confirmCommand) lines.push(`nextAfterConfirm=${context.confirmCommand}`);
|
|
3135
3302
|
if (normalized.dryRun && !context.confirmCommand && context.executeCommand) lines.push(`next=${context.executeCommand}`);
|