maoda-commander-tt 0.0.49 → 0.0.50
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 +9 -2
- package/dist/{chunk-GAOUOOBO.js → chunk-N7MMM2TO.js} +110 -41
- package/dist/chunk-N7MMM2TO.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/main.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-GAOUOOBO.js.map +0 -1
package/README.md
CHANGED
|
@@ -394,6 +394,8 @@ tt ai audio wait --task-id 'xyq:<threadId>' --timeout-seconds 600 --output ./res
|
|
|
394
394
|
|
|
395
395
|
`ai video` 同步完成会话初始化、素材上传与远端任务创建后返回 `taskId`,生成本身
|
|
396
396
|
异步进行(通常约 5 分钟)。提交期间 stderr 每 10 秒输出一次 `progress` 事件。
|
|
397
|
+
视频 `taskId` 直接等于后端 `thread_id`,不再带 `xyq:` 前缀;`status/wait` 仍接受旧的
|
|
398
|
+
`xyq:<threadId>`,返回结果使用不带前缀的 ID。
|
|
397
399
|
|
|
398
400
|
```bash
|
|
399
401
|
# 提交并立即返回 taskId 与 nextCommand
|
|
@@ -403,14 +405,19 @@ tt ai video --duration-seconds 8 --images ./ref.png '图1 中的角色转身微
|
|
|
403
405
|
tt ai video --duration-seconds 8 --output ./result.mp4 '海边日出,慢镜头'
|
|
404
406
|
|
|
405
407
|
# 用 taskId 查询/等待既有任务
|
|
406
|
-
tt ai video status --task-id
|
|
407
|
-
tt ai video wait --task-id
|
|
408
|
+
tt ai video status --task-id '<threadId>'
|
|
409
|
+
tt ai video wait --task-id '<threadId>' --timeout-seconds 600 --output ./result.mp4
|
|
408
410
|
```
|
|
409
411
|
|
|
410
412
|
等待超时不是失败:`wait` 返回 `timedOut: true` 与当前 `state`,可用同一 `taskId`
|
|
411
413
|
继续等待;`ai video --wait` 和 `--output` 同样在 `data` 中返回当前状态与 `timedOut`。
|
|
412
414
|
查询或下载异常时,`error` 中保留 `taskId`、`recoverable` 和恢复命令。
|
|
413
415
|
|
|
416
|
+
保存 `taskId` 后可在新的 CLI 进程中再次查询,包括隔天查询;客户端没有任务 ID 过期时间,
|
|
417
|
+
也不依赖原提交进程或本地任务记录。查询仍需要有效登录态和该任务的访问权限,服务端任务
|
|
418
|
+
保留期限及产物链接有效期由后端决定。此 ID 定位的是 thread;当前查询未指定 runId,
|
|
419
|
+
会取后端返回列表的最后一个 run。tt 每次提交都会新建 thread,因此普通提交对应独立任务。
|
|
420
|
+
|
|
414
421
|
## 联网搜索
|
|
415
422
|
|
|
416
423
|
`ai websearch` 通过火山方舟 Responses API 的 `web_search` 工具搜索,`data.text`
|
|
@@ -1621,7 +1621,7 @@ var XyqSession = class {
|
|
|
1621
1621
|
return responseResult;
|
|
1622
1622
|
}
|
|
1623
1623
|
return ok7({
|
|
1624
|
-
taskId:
|
|
1624
|
+
taskId: threadId,
|
|
1625
1625
|
threadId,
|
|
1626
1626
|
clientRunId,
|
|
1627
1627
|
requestId,
|
|
@@ -1677,7 +1677,7 @@ var XyqSession = class {
|
|
|
1677
1677
|
const state = hasUsableVideoOutput(artifacts) ? "completed" : providerState;
|
|
1678
1678
|
const retryAfterSeconds = isTerminalXyqTaskState(state) ? 0 : VIDEO_POLL_INTERVAL_SECONDS;
|
|
1679
1679
|
return ok7({
|
|
1680
|
-
taskId:
|
|
1680
|
+
taskId: threadId,
|
|
1681
1681
|
threadId,
|
|
1682
1682
|
...serverRunId ? { runId: serverRunId } : {},
|
|
1683
1683
|
state,
|
|
@@ -2945,8 +2945,13 @@ var AiAudioStatusCommand = class extends BaseCommand {
|
|
|
2945
2945
|
}
|
|
2946
2946
|
_agentContract() {
|
|
2947
2947
|
return [
|
|
2948
|
-
"\u4E0D\u7B49\u5F85\
|
|
2949
|
-
"
|
|
2948
|
+
"\u53EA\u67E5\u8BE2\u5DF2\u6709\u4EFB\u52A1\uFF0C\u4E0D\u7B49\u5F85\u3001\u4E0D\u4E0B\u8F7D\u3001\u4E0D\u91CD\u65B0\u751F\u6210\u3002\u8FD4\u56DE\u5B57\u6BB5\u4E2D ? \u8868\u793A\u53EF\u9009\u3002",
|
|
2949
|
+
"data: {taskId:string,state:string,outputs:{downloadUrl:string}[],retryAfterSeconds?:number,failReason?:unknown}\uFF1B\u6210\u529F\u67E5\u8BE2\u4E0D\u8FD4\u56DE timedOut \u6216 nextCommand\u3002",
|
|
2950
|
+
'data \u793A\u4F8B: {"taskId":"xyq:thread-123","state":"completed","outputs":[{"downloadUrl":"https://example.com/audio.mp3"}]}',
|
|
2951
|
+
"taskId \u5F53\u524D\u683C\u5F0F\u4E3A xyq:<threadId>\uFF1Bstate \u679A\u4E3E\u4E3A submitted/working/completed/failed/canceled/inputRequired/unknown\u3002code=0 \u4EC5\u8868\u793A\u67E5\u8BE2\u6210\u529F\uFF0C\u751F\u6210\u662F\u5426\u5B8C\u6210\u987B\u68C0\u67E5 state\u3002",
|
|
2952
|
+
"outputs \u6700\u591A\u542B\u4E00\u4E2A\u97F3\u9891\u4E91\u94FE\u63A5\uFF0C\u65E0\u53EF\u7528\u4EA7\u7269\u65F6\u4E3A []\uFF1BretryAfterSeconds \u4E3A\u5EFA\u8BAE\u8F6E\u8BE2\u95F4\u9694\uFF08\u79D2\uFF09\uFF0C\u4EC5\u5927\u4E8E 0 \u65F6\u8FD4\u56DE\u3002",
|
|
2953
|
+
"failReason \u4E3A\u8FDC\u7AEF\u63D0\u4F9B\u7684\u5931\u8D25\u4FE1\u606F\uFF0C\u4EC5\u4E0D\u4E3A null/undefined \u65F6\u8FD4\u56DE\uFF0C\u7C7B\u578B\u4E0D\u56FA\u5B9A\u3002",
|
|
2954
|
+
"\u8F93\u5165\u9519\u8BEF\u4E3A error.stage=input\uFF1B\u4F1A\u8BDD\u6216\u67E5\u8BE2\u9519\u8BEF\u9644 error:{stage,taskId,recoverable:true,nextCommand}\uFF0Cstage \u4E3A session/query\uFF0CnextCommand \u6307\u5411\u540C\u4E00\u4EFB\u52A1\u7684 audio wait\u3002"
|
|
2950
2955
|
];
|
|
2951
2956
|
}
|
|
2952
2957
|
async _execute(ctx) {
|
|
@@ -2994,9 +2999,14 @@ var AiAudioWaitCommand = class extends BaseCommand {
|
|
|
2994
2999
|
}
|
|
2995
3000
|
_agentContract() {
|
|
2996
3001
|
return [
|
|
2997
|
-
|
|
2998
|
-
"
|
|
2999
|
-
|
|
3002
|
+
`\u7B49\u5F85\u5DF2\u6709\u4EFB\u52A1\u76F4\u5230\u7ED3\u675F\u6216\u8D85\u65F6\uFF0C\u9ED8\u8BA4\u6700\u591A ${DEFAULT_AUDIO_WAIT_SECONDS} \u79D2\uFF0C\u4E0D\u91CD\u65B0\u751F\u6210\u3002\u8FD4\u56DE\u5B57\u6BB5\u4E2D ? \u8868\u793A\u53EF\u9009\u3002`,
|
|
3003
|
+
"data: {taskId:string,state:string,outputs:({downloadUrl:string}|{localPath:string})[],retryAfterSeconds?:number,timedOut?:true,failReason?:unknown,nextCommand?:string}\u3002",
|
|
3004
|
+
'\u8D85\u65F6 data \u793A\u4F8B: {"taskId":"xyq:thread-123","state":"working","outputs":[],"timedOut":true,"nextCommand":"tt ai audio wait --task-id xyq:thread-123"}',
|
|
3005
|
+
"taskId \u5F53\u524D\u683C\u5F0F\u4E3A xyq:<threadId>\uFF1Bstate \u679A\u4E3E\u4E3A submitted/working/completed/failed/canceled/inputRequired/unknown\u3002code=0 \u4EC5\u8868\u793A\u67E5\u8BE2\u6210\u529F\uFF0C\u751F\u6210\u662F\u5426\u5B8C\u6210\u987B\u68C0\u67E5 state\u3002",
|
|
3006
|
+
"outputs \u6700\u591A\u542B\u4E00\u4E2A\u97F3\u9891\uFF0C\u65E0\u53EF\u7528\u4EA7\u7269\u65F6\u4E3A []\uFF1B\u672A\u4E0B\u8F7D\u65F6\u4E3A downloadUrl\uFF0C--output \u4E0B\u8F7D\u6210\u529F\u540E\u4E3A\u7EDD\u5BF9 localPath\u3002",
|
|
3007
|
+
"retryAfterSeconds \u4E3A\u5EFA\u8BAE\u8F6E\u8BE2\u95F4\u9694\uFF08\u79D2\uFF09\uFF0C\u4EC5\u5927\u4E8E 0 \u65F6\u8FD4\u56DE\uFF1BfailReason \u4E3A\u8FDC\u7AEF\u63D0\u4F9B\u7684\u5931\u8D25\u4FE1\u606F\uFF0C\u4EC5\u4E0D\u4E3A null/undefined \u65F6\u8FD4\u56DE\uFF0C\u7C7B\u578B\u4E0D\u56FA\u5B9A\u3002",
|
|
3008
|
+
"\u8D85\u65F6\u4ECD code=0\uFF0Cdata \u542B timedOut:true \u548C nextCommand\uFF1B\u672A\u8D85\u65F6\u7701\u7565\u8FD9\u4E24\u4E2A\u5B57\u6BB5\u3002nextCommand \u4FDD\u7559 --output \u7684\u7EDD\u5BF9\u8DEF\u5F84\uFF0C\u53EF\u7EE7\u7EED\u7B49\u5F85\u540C\u4E00\u4EFB\u52A1\u3002",
|
|
3009
|
+
"\u8F93\u5165\u9519\u8BEF\u4E3A error.stage=input\uFF1B\u4F1A\u8BDD\u3001\u7B49\u5F85\u6216\u4E0B\u8F7D\u9519\u8BEF\u9644 error:{stage,taskId,recoverable:true,nextCommand,state?}\uFF0Cstage \u4E3A session/wait/download\uFF0Cstate \u4E3A\u6700\u540E\u5DF2\u77E5\u72B6\u6001\uFF0CnextCommand \u4FDD\u7559 --output\u3002"
|
|
3000
3010
|
];
|
|
3001
3011
|
}
|
|
3002
3012
|
async _execute(ctx) {
|
|
@@ -3051,7 +3061,7 @@ var AiAudioCommand = class extends BaseCommandGroup {
|
|
|
3051
3061
|
cmd.argument("[prompt...]", "\u97F3\u9891\u751F\u6210\u63D0\u793A\u8BCD");
|
|
3052
3062
|
}
|
|
3053
3063
|
_helpExample() {
|
|
3054
|
-
return "tt ai audio '\u6E29\u67D4\u5730\u8BF4\uFF1A\u6B22\u8FCE\u56DE\u6765'\n tt ai audio wait --task-id xyq:<thread-id> --output ./result.mp3";
|
|
3064
|
+
return "tt ai audio '\u6E29\u67D4\u5730\u8BF4\uFF1A\u6B22\u8FCE\u56DE\u6765'\n tt ai audio wait --task-id 'xyq:<thread-id>' --output ./result.mp3";
|
|
3055
3065
|
}
|
|
3056
3066
|
_registerSubcommands() {
|
|
3057
3067
|
this._addSubcommand(new AiAudioStatusCommand(this._createSession));
|
|
@@ -3059,12 +3069,16 @@ var AiAudioCommand = class extends BaseCommandGroup {
|
|
|
3059
3069
|
}
|
|
3060
3070
|
_agentContract() {
|
|
3061
3071
|
return [
|
|
3062
|
-
"\u9ED8\u8BA4\
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
"\
|
|
3072
|
+
"\u9ED8\u8BA4\u5B8C\u6210\u4F1A\u8BDD\u521D\u59CB\u5316\u3001\u53C2\u8003\u97F3\u9891\u4E0A\u4F20\u548C\u8FDC\u7AEF\u4EFB\u52A1\u521B\u5EFA\u540E\u8FD4\u56DE\uFF1B\u63D0\u4EA4\u671F\u95F4 stderr \u7ACB\u5373\u8F93\u51FA progress \u5E76\u6BCF 10 \u79D2\u5FC3\u8DF3\uFF0C--quiet \u53EF\u5173\u95ED\u3002",
|
|
3073
|
+
'\u8FD4\u56DE\u5B57\u6BB5\u4E2D ? \u8868\u793A\u53EF\u9009\u3002\u9ED8\u8BA4\u63D0\u4EA4 data: {taskId:string,state:"submitted",nextCommand:string}\uFF0C\u4E0D\u542B outputs\u3002',
|
|
3074
|
+
'\u63D0\u4EA4 data \u793A\u4F8B: {"taskId":"xyq:thread-123","state":"submitted","nextCommand":"tt ai audio wait --task-id xyq:thread-123"}',
|
|
3075
|
+
`--wait \u6216 --output \u9690\u542B\u7B49\u5F85\uFF0C\u9ED8\u8BA4\u6700\u591A ${DEFAULT_AUDIO_WAIT_SECONDS} \u79D2\uFF1B\u7B49\u5F85 data: {taskId:string,state:string,outputs:({downloadUrl:string}|{localPath:string})[],retryAfterSeconds?:number,timedOut?:true,failReason?:unknown,nextCommand?:string}\u3002`,
|
|
3076
|
+
'\u5B8C\u6210 data \u793A\u4F8B: {"taskId":"xyq:thread-123","state":"completed","outputs":[{"downloadUrl":"https://example.com/audio.mp3"}]}',
|
|
3077
|
+
"taskId \u5F53\u524D\u683C\u5F0F\u4E3A xyq:<threadId>\uFF1Bstate \u679A\u4E3E\u4E3A submitted/working/completed/failed/canceled/inputRequired/unknown\u3002code=0 \u4EC5\u8868\u793A\u63D0\u4EA4\u6216\u67E5\u8BE2\u6210\u529F\uFF0C\u751F\u6210\u662F\u5426\u5B8C\u6210\u987B\u68C0\u67E5 state\u3002",
|
|
3078
|
+
"\u7B49\u5F85\u7ED3\u679C outputs \u6700\u591A\u542B\u4E00\u4E2A\u97F3\u9891\uFF0C\u65E0\u53EF\u7528\u4EA7\u7269\u65F6\u4E3A []\uFF1B\u672A\u4E0B\u8F7D\u65F6\u4E3A downloadUrl\uFF0C--output \u4E0B\u8F7D\u6210\u529F\u540E\u4E3A\u7EDD\u5BF9 localPath\u3002",
|
|
3079
|
+
"retryAfterSeconds \u4E3A\u5EFA\u8BAE\u8F6E\u8BE2\u95F4\u9694\uFF08\u79D2\uFF09\uFF0C\u4EC5\u5927\u4E8E 0 \u65F6\u8FD4\u56DE\uFF1BfailReason \u4E3A\u8FDC\u7AEF\u63D0\u4F9B\u7684\u5931\u8D25\u4FE1\u606F\uFF0C\u4EC5\u4E0D\u4E3A null/undefined \u65F6\u8FD4\u56DE\uFF0C\u7C7B\u578B\u4E0D\u56FA\u5B9A\u3002",
|
|
3080
|
+
"\u7B49\u5F85\u8D85\u65F6\u4ECD code=0\uFF0Cdata \u542B timedOut:true \u548C nextCommand\uFF1B\u7B49\u5F85\u672A\u8D85\u65F6\u7701\u7565\u8FD9\u4E24\u4E2A\u5B57\u6BB5\u3002nextCommand \u4FDD\u7559 --output \u7684\u7EDD\u5BF9\u8DEF\u5F84\uFF0C\u53EF\u7EE7\u7EED\u7B49\u5F85\u540C\u4E00\u4EFB\u52A1\uFF1Bstatus/wait \u4E0D\u91CD\u65B0\u751F\u6210\u3002",
|
|
3081
|
+
"\u5931\u8D25\u65F6 error.stage \u6807\u8BB0 input/session/upload/submit/wait/download\uFF1B\u5C1A\u672A\u53D6\u5F97\u4EFB\u52A1 ID \u65F6\u4E0D\u4FDD\u8BC1\u6709 taskId\u3002\u53D6\u5F97 ID \u540E\u7684\u67E5\u8BE2\u6216\u4E0B\u8F7D\u9519\u8BEF\u9644 taskId\u3001recoverable:true\u3001nextCommand\uFF0Cstate? \u4E3A\u6700\u540E\u5DF2\u77E5\u72B6\u6001\u3002"
|
|
3068
3082
|
];
|
|
3069
3083
|
}
|
|
3070
3084
|
async _execute(ctx) {
|
|
@@ -3333,7 +3347,17 @@ var AiImageListCommand = class extends BaseCommand {
|
|
|
3333
3347
|
return { name: "list", description: "\u5217\u51FA\u672C\u673A\u56FE\u7247\u4EFB\u52A1\u8BB0\u5F55\uFF0C\u627E\u56DE\u672A\u6536\u5230\u7684 taskId" };
|
|
3334
3348
|
}
|
|
3335
3349
|
_agentContract() {
|
|
3336
|
-
return [
|
|
3350
|
+
return [
|
|
3351
|
+
"data \u5FC5\u9009\u5B57\u6BB5: tasks:\u4EFB\u52A1\u6570\u7EC4\uFF1B\u65E0\u672C\u673A\u8BB0\u5F55\u65F6\u4E3A []\u3002\u6BCF\u6761\u4EFB\u52A1\u5FC5\u9009\u5B57\u6BB5: taskId:string\u3001state:string\u3001outputs:Array<{localPath:string}>\uFF1B\u53EF\u9009\u5B57\u6BB5\uFF08?\uFF09: createdAt?:string\u3001updatedAt?:string\u3001retryAfterSeconds?:number\u3001failReason?:string\u3001nextCommand?:string\u3002",
|
|
3352
|
+
"taskId \u683C\u5F0F\u4E3A local-image:<uuid>\uFF1Bstate \u679A\u4E3E: submitted=\u672C\u5730\u5DF2\u53D7\u7406\u3001working=\u6267\u884C\u4E2D\u3001completed=\u56FE\u7247\u53EF\u7528\u3001failed=\u751F\u6210\u5931\u8D25\u3001unknown=\u6267\u884C\u72B6\u6001\u6216\u4EA7\u7269\u65E0\u6CD5\u786E\u8BA4\u3002code=0 \u8868\u793A\u5217\u8868\u8BFB\u53D6\u6210\u529F\uFF0C\u4E0D\u8868\u793A\u5217\u8868\u5185\u4EFB\u52A1\u751F\u6210\u6210\u529F\u3002",
|
|
3353
|
+
"\u6BCF\u6761\u4EFB\u52A1\u7ED3\u6784\u4E0E image status \u76F8\u540C\uFF1Aoutputs \u65E0\u53EF\u7528\u56FE\u7247\u65F6\u4E3A []\uFF0C\u5B8C\u6210\u65F6 localPath \u662F\u672C\u673A\u5F52\u6863\u56FE\u7247\u7684\u7EDD\u5BF9\u8DEF\u5F84\u3002",
|
|
3354
|
+
"createdAt/updatedAt \u662F\u8BB0\u5F55\u521B\u5EFA/\u6700\u540E\u5199\u5165\u65F6\u95F4\uFF08ISO 8601 UTC\uFF09\uFF0C\u4E0D\u662F\u672C\u6B21\u67E5\u8BE2\u65F6\u95F4\uFF1B\u8BB0\u5F55\u635F\u574F\u65F6\u53EF\u80FD\u7701\u7565\u65F6\u95F4\uFF0C\u8FD4\u56DE unknown \u4E0E failReason\u3002",
|
|
3355
|
+
"submitted/working \u53EF\u8FD4\u56DE retryAfterSeconds\uFF08\u5EFA\u8BAE\u67E5\u8BE2\u95F4\u9694\uFF0C\u5355\u4F4D\u79D2\uFF09\uFF0Cfailed/unknown \u53EF\u8FD4\u56DE failReason\uFF1B\u5217\u8868\u4E0D\u7B49\u5F85\u4EFB\u52A1\uFF0C\u4E0D\u8FD4\u56DE timedOut\u3002",
|
|
3356
|
+
"\u6BCF\u6761\u4EFB\u52A1\u7684 nextCommand \u5728 submitted/working \u65F6\u4E3A wait \u547D\u4EE4\uFF0Cunknown \u65F6\u4E3A status \u547D\u4EE4\uFF0Ccompleted/failed \u65F6\u7701\u7565\u3002",
|
|
3357
|
+
'data \u793A\u4F8B\uFF08\u7701\u7565\u53EF\u9009\u5B57\u6BB5\uFF09: {"tasks":[{"taskId":"local-image:00000000-0000-4000-8000-000000000001","state":"completed","outputs":[{"localPath":"/tmp/image-tasks/00000000-0000-4000-8000-000000000001/image.png"}]}]}',
|
|
3358
|
+
"\u5217\u8868\u8BFB\u53D6\u5931\u8D25\u65F6\u8FD4\u56DE\u975E\u96F6 code\uFF0Cerror.stage=query\uFF1B\u5355\u6761\u8BB0\u5F55\u8BFB\u53D6\u5931\u8D25\u5219\u4FDD\u7559\u8BE5\u9879 taskId\uFF0C\u4F7F\u7528 state=unknown \u4E0E failReason \u8BF4\u660E\u3002",
|
|
3359
|
+
"\u53EF\u627E\u56DE\u63D0\u4EA4\u65F6\u672A\u6536\u5230\u7684 taskId\uFF1B\u53EA\u8BFB\u53D6\u672C\u673A\u4EFB\u52A1\u4E0E\u4EA7\u7269\u72B6\u6001\uFF0C\u4E0D\u542F\u52A8\u6216\u6062\u590D\u751F\u6210\uFF0C\u8BB0\u5F55\u4E0D\u968F\u666E\u901A\u7D20\u6750\u7F13\u5B58\u6E05\u7406\u3002"
|
|
3360
|
+
];
|
|
3337
3361
|
}
|
|
3338
3362
|
async _execute() {
|
|
3339
3363
|
const result = await this._service.list();
|
|
@@ -3357,8 +3381,14 @@ var AiImageStatusCommand = class extends BaseCommand {
|
|
|
3357
3381
|
}
|
|
3358
3382
|
_agentContract() {
|
|
3359
3383
|
return [
|
|
3360
|
-
"\
|
|
3361
|
-
"
|
|
3384
|
+
"data \u5FC5\u9009\u5B57\u6BB5: taskId:string\u3001state:string\u3001outputs:Array<{localPath:string}>\uFF1B\u53EF\u9009\u5B57\u6BB5\uFF08?\uFF09: createdAt?:string\u3001updatedAt?:string\u3001retryAfterSeconds?:number\u3001failReason?:string\u3001nextCommand?:string\u3002",
|
|
3385
|
+
"taskId \u683C\u5F0F\u4E3A local-image:<uuid>\uFF1Bstate \u679A\u4E3E: submitted=\u672C\u5730\u5DF2\u53D7\u7406\u3001working=\u6267\u884C\u4E2D\u3001completed=\u56FE\u7247\u53EF\u7528\u3001failed=\u751F\u6210\u5931\u8D25\u3001unknown=\u6267\u884C\u72B6\u6001\u6216\u4EA7\u7269\u65E0\u6CD5\u786E\u8BA4\u3002code=0 \u8868\u793A\u67E5\u8BE2\u6210\u529F\uFF0C\u4E0D\u8868\u793A\u56FE\u7247\u751F\u6210\u6210\u529F\u3002",
|
|
3386
|
+
"outputs \u65E0\u53EF\u7528\u56FE\u7247\u65F6\u4E3A []\uFF0C\u5B8C\u6210\u65F6 localPath \u662F\u672C\u673A\u5F52\u6863\u56FE\u7247\u7684\u7EDD\u5BF9\u8DEF\u5F84\u3002createdAt/updatedAt \u662F\u8BB0\u5F55\u521B\u5EFA/\u6700\u540E\u5199\u5165\u65F6\u95F4\uFF08ISO 8601 UTC\uFF09\uFF0C\u4E0D\u662F\u67E5\u8BE2\u65F6\u95F4\u3002",
|
|
3387
|
+
"submitted/working \u53EF\u8FD4\u56DE retryAfterSeconds\uFF08\u5EFA\u8BAE\u67E5\u8BE2\u95F4\u9694\uFF0C\u5355\u4F4D\u79D2\uFF09\uFF1Bfailed/unknown \u53EF\u8FD4\u56DE failReason\u3002\u672C\u547D\u4EE4\u5355\u6B21\u67E5\u8BE2\uFF0C\u4E0D\u8FD4\u56DE timedOut\u3002",
|
|
3388
|
+
"nextCommand \u5728 submitted/working \u65F6\u4E3A wait \u547D\u4EE4\uFF0Cunknown \u65F6\u4E3A status \u547D\u4EE4\uFF0Ccompleted/failed \u65F6\u7701\u7565\u3002",
|
|
3389
|
+
'data \u793A\u4F8B\uFF08\u7701\u7565\u53EF\u9009\u5B57\u6BB5\uFF09: {"taskId":"local-image:00000000-0000-4000-8000-000000000001","state":"completed","outputs":[{"localPath":"/tmp/image-tasks/00000000-0000-4000-8000-000000000001/image.png"}]}',
|
|
3390
|
+
"\u67E5\u8BE2\u5931\u8D25\u65F6\u8FD4\u56DE\u975E\u96F6 code\uFF0Cerror \u542B stage=query \u548C taskId\uFF1B\u6B64\u5931\u8D25\u5206\u652F\u4E0D\u63D0\u4F9B nextCommand\u3002",
|
|
3391
|
+
"\u53EA\u89C2\u5BDF\u539F\u4EFB\u52A1\uFF0C\u4E0D\u91CD\u65B0\u751F\u6210\u6216\u6062\u590D Codex \u4F1A\u8BDD\uFF1Bunknown \u65F6\u5148\u68C0\u67E5\u539F\u4EFB\u52A1\u4E0E\u4EA7\u7269\uFF0C\u4E22\u5931 taskId \u53EF\u7528 tt ai image list \u627E\u56DE\u672C\u673A\u8BB0\u5F55\u3002"
|
|
3362
3392
|
];
|
|
3363
3393
|
}
|
|
3364
3394
|
async _execute(ctx) {
|
|
@@ -3386,9 +3416,15 @@ var AiImageWaitCommand = class extends BaseCommand {
|
|
|
3386
3416
|
}
|
|
3387
3417
|
_agentContract() {
|
|
3388
3418
|
return [
|
|
3389
|
-
"\
|
|
3390
|
-
"\
|
|
3391
|
-
"
|
|
3419
|
+
"data \u5FC5\u9009\u5B57\u6BB5: taskId:string\u3001state:string\u3001outputs:Array<{localPath:string}>\uFF1B\u53EF\u9009\u5B57\u6BB5\uFF08?\uFF09: createdAt?:string\u3001updatedAt?:string\u3001retryAfterSeconds?:number\u3001timedOut?:true\u3001failReason?:string\u3001nextCommand?:string\u3002",
|
|
3420
|
+
"taskId \u683C\u5F0F\u4E3A local-image:<uuid>\uFF1Bstate \u679A\u4E3E: submitted=\u672C\u5730\u5DF2\u53D7\u7406\u3001working=\u6267\u884C\u4E2D\u3001completed=\u56FE\u7247\u53EF\u7528\u3001failed=\u751F\u6210\u5931\u8D25\u3001unknown=\u6267\u884C\u72B6\u6001\u6216\u4EA7\u7269\u65E0\u6CD5\u786E\u8BA4\u3002code=0 \u53EA\u8868\u793A\u8FD4\u56DE\u4E86\u7B49\u5F85\u7ED3\u679C\uFF0C\u751F\u6210\u662F\u5426\u6210\u529F\u987B\u68C0\u67E5 state\u3002",
|
|
3421
|
+
"outputs \u65E0\u53EF\u7528\u56FE\u7247\u65F6\u4E3A []\uFF1B\u5B8C\u6210\u65F6 localPath \u662F\u56FE\u7247\u7EDD\u5BF9\u8DEF\u5F84\uFF0C\u4F7F\u7528 --output \u65F6\u6307\u5411\u6307\u5B9A\u4FDD\u5B58\u4F4D\u7F6E\uFF0C\u91CD\u590D\u8C03\u7528\u53EA\u7B49\u5F85\u6216\u590D\u5236\u5DF2\u6709\u4EA7\u7269\u3002",
|
|
3422
|
+
"createdAt/updatedAt \u662F\u8BB0\u5F55\u521B\u5EFA/\u6700\u540E\u5199\u5165\u65F6\u95F4\uFF08ISO 8601 UTC\uFF09\uFF0C\u4E0D\u662F\u7B49\u5F85\u7ED3\u675F\u65F6\u95F4\uFF1Bsubmitted/working \u53EF\u8FD4\u56DE retryAfterSeconds\uFF08\u5355\u4F4D\u79D2\uFF09\uFF0Cfailed/unknown \u53EF\u8FD4\u56DE failReason\u3002",
|
|
3423
|
+
"\u4EC5\u7B49\u5F85\u8D85\u65F6\u65F6\u8FD4\u56DE timedOut=true\uFF0C\u6B64\u65F6 state \u4ECD\u4E3A submitted/working\uFF0C\u540E\u53F0\u4EFB\u52A1\u7EE7\u7EED\uFF1B\u5176\u4ED6\u7ED3\u679C\u7701\u7565 timedOut\u3002",
|
|
3424
|
+
"nextCommand \u5728 submitted/working \u65F6\u4E3A wait \u547D\u4EE4\uFF08\u4FDD\u7559\u672C\u6B21 --output\uFF09\uFF0Cunknown \u65F6\u4E3A status \u547D\u4EE4\uFF0Ccompleted/failed \u65F6\u7701\u7565\u3002",
|
|
3425
|
+
'data \u793A\u4F8B\uFF08\u7701\u7565\u90E8\u5206\u53EF\u9009\u5B57\u6BB5\uFF09: {"taskId":"local-image:00000000-0000-4000-8000-000000000001","state":"working","outputs":[],"retryAfterSeconds":1,"timedOut":true,"nextCommand":"tt ai image wait --task-id local-image:00000000-0000-4000-8000-000000000001"}',
|
|
3426
|
+
"\u53C2\u6570\u6821\u9A8C\u5931\u8D25\u4E3A error.stage=input\uFF1B\u7B49\u5F85\u6216\u4FDD\u5B58\u5931\u8D25\u7684 error \u542B stage=wait\u3001taskId\u3001recoverable:true\u3001\u4FDD\u7559 --output \u7684 nextCommand\u3002",
|
|
3427
|
+
"\u4E0D\u91CD\u65B0\u751F\u6210\u6216\u6062\u590D Codex \u4F1A\u8BDD\uFF1Bunknown \u65F6\u5148\u68C0\u67E5\u539F\u4EFB\u52A1\u4E0E\u4EA7\u7269\uFF0C\u4E22\u5931 taskId \u53EF\u7528 tt ai image list \u627E\u56DE\u672C\u673A\u8BB0\u5F55\u3002"
|
|
3392
3428
|
];
|
|
3393
3429
|
}
|
|
3394
3430
|
async _execute(ctx) {
|
|
@@ -3437,12 +3473,16 @@ var AiImageCommand = class extends BaseCommandGroup {
|
|
|
3437
3473
|
}
|
|
3438
3474
|
_agentContract() {
|
|
3439
3475
|
return [
|
|
3440
|
-
"\
|
|
3441
|
-
"
|
|
3442
|
-
"\u5B8C\u6210\u65F6
|
|
3443
|
-
"
|
|
3444
|
-
"\
|
|
3445
|
-
"\
|
|
3476
|
+
"data \u5FC5\u9009\u5B57\u6BB5: taskId:string\u3001state:string\u3001outputs:Array<{localPath:string}>\uFF1B\u53EF\u9009\u5B57\u6BB5\uFF08?\uFF09: createdAt?:string\u3001updatedAt?:string\u3001retryAfterSeconds?:number\u3001timedOut?:true\u3001failReason?:string\u3001nextCommand?:string\u3002",
|
|
3477
|
+
"taskId \u683C\u5F0F\u4E3A local-image:<uuid>\uFF1Bstate \u679A\u4E3E: submitted=\u672C\u5730\u5DF2\u53D7\u7406\u3001working=\u6267\u884C\u4E2D\u3001completed=\u56FE\u7247\u53EF\u7528\u3001failed=\u751F\u6210\u5931\u8D25\u3001unknown=\u6267\u884C\u72B6\u6001\u6216\u4EA7\u7269\u65E0\u6CD5\u786E\u8BA4\u3002code=0 \u53EA\u8868\u793A\u547D\u4EE4\u6210\u529F\u8FD4\u56DE\u7ED3\u679C\uFF0C\u751F\u6210\u662F\u5426\u6210\u529F\u987B\u68C0\u67E5 state\u3002",
|
|
3478
|
+
"outputs \u65E0\u53EF\u7528\u56FE\u7247\u65F6\u4E3A []\uFF1B\u5B8C\u6210\u65F6 localPath \u662F\u56FE\u7247\u7EDD\u5BF9\u8DEF\u5F84\uFF0C\u4F7F\u7528 --output \u65F6\u6307\u5411\u6307\u5B9A\u4FDD\u5B58\u4F4D\u7F6E\u3002",
|
|
3479
|
+
"createdAt/updatedAt \u662F\u4EFB\u52A1\u8BB0\u5F55\u521B\u5EFA/\u6700\u540E\u5199\u5165\u65F6\u95F4\uFF08ISO 8601 UTC\uFF09\uFF0C\u4E0D\u662F\u672C\u6B21\u67E5\u8BE2\u65F6\u95F4\uFF1Bsubmitted/working \u53EF\u8FD4\u56DE retryAfterSeconds\uFF0C\u5355\u4F4D\u79D2\uFF1Bfailed/unknown \u53EF\u8FD4\u56DE failReason\u3002",
|
|
3480
|
+
"nextCommand \u5728 submitted/working \u65F6\u4E3A wait \u547D\u4EE4\uFF08\u4FDD\u7559\u672C\u6B21 --output\uFF09\uFF0Cunknown \u65F6\u4E3A status \u547D\u4EE4\uFF0Ccompleted/failed \u65F6\u7701\u7565\u3002",
|
|
3481
|
+
"\u9ED8\u8BA4\u5148\u4FDD\u5B58\u8BB0\u5F55\u5E76\u542F\u52A8\u540E\u53F0\u8FDB\u7A0B\u540E\u8FD4\u56DE\uFF1B--wait \u6216 --output \u7B49\u5F85\u540C\u4E00\u4EFB\u52A1\uFF0C\u4EC5\u7B49\u5F85\u8D85\u65F6\u65F6\u8FD4\u56DE timedOut=true\uFF0C\u540E\u53F0\u4EFB\u52A1\u7EE7\u7EED\u8FD0\u884C\u3002",
|
|
3482
|
+
'data \u793A\u4F8B\uFF08\u7701\u7565\u90E8\u5206\u53EF\u9009\u5B57\u6BB5\uFF09: {"taskId":"local-image:00000000-0000-4000-8000-000000000001","state":"working","outputs":[],"retryAfterSeconds":1,"nextCommand":"tt ai image wait --task-id local-image:00000000-0000-4000-8000-000000000001"}',
|
|
3483
|
+
'\u547D\u4EE4\u5931\u8D25\u65F6 error.stage \u6807\u8BB0 input/submit/wait\uFF1B\u63D0\u4EA4\u5931\u8D25\u7ED9\u51FA nextCommand="tt ai image list"\uFF0CtaskId \u53EF\u80FD\u5C1A\u4E0D\u53EF\u7528\uFF1B\u7B49\u5F85\u6216\u4FDD\u5B58\u5931\u8D25\u9644 taskId\u3001recoverable:true\u3001\u4FDD\u7559 --output \u7684 nextCommand\u3002',
|
|
3484
|
+
"status/wait \u4E0D\u4F1A\u91CD\u65B0\u751F\u6210\u6216\u6062\u590D Codex \u4F1A\u8BDD\uFF1B\u4E22\u5931 taskId \u53EF\u7528 tt ai image list \u627E\u56DE\u672C\u673A\u8BB0\u5F55\uFF0C\u8BB0\u5F55\u4E0D\u968F\u666E\u901A\u7D20\u6750\u7F13\u5B58\u6E05\u7406\u3002",
|
|
3485
|
+
"\u540E\u53F0\u4EFB\u52A1\u53EF\u5728\u8C03\u7528\u65B9\u9000\u51FA\u540E\u7EE7\u7EED\uFF1B\u673A\u5668\u91CD\u542F\u6216\u8FDB\u7A0B\u4E2D\u65AD\u4E0D\u4FDD\u8BC1\u65E0\u635F\u7EED\u7B97\uFF0Cunknown \u65F6\u5148\u68C0\u67E5\u539F\u4EFB\u52A1\u4E0E\u4EA7\u7269\u3002"
|
|
3446
3486
|
];
|
|
3447
3487
|
}
|
|
3448
3488
|
async _execute(ctx) {
|
|
@@ -4325,13 +4365,20 @@ var AiVideoStatusCommand = class extends BaseCommand {
|
|
|
4325
4365
|
}
|
|
4326
4366
|
_configureOptions(cmd) {
|
|
4327
4367
|
cmd.addOption(
|
|
4328
|
-
new Option7("--task-id <task-id>", "\u63D0\u4EA4\u65F6\u8FD4\u56DE\u7684\
|
|
4368
|
+
new Option7("--task-id <task-id>", "\u63D0\u4EA4\u65F6\u8FD4\u56DE\u7684\u89C6\u9891 taskId\uFF0C\u5373\u540E\u7AEF threadId").makeOptionMandatory()
|
|
4329
4369
|
);
|
|
4330
4370
|
}
|
|
4331
4371
|
_agentContract() {
|
|
4332
4372
|
return [
|
|
4333
|
-
"\u4E0D\u7B49\u5F85\uFF1A\
|
|
4334
|
-
"
|
|
4373
|
+
"\u4E0D\u7B49\u5F85\uFF1A\u76F4\u63A5\u6309\u540E\u7AEF threadId \u67E5\u8BE2\uFF0Cdata.taskId \u5373\u8BE5 threadId\u3002",
|
|
4374
|
+
"data \u5B57\u6BB5\uFF08? \u8868\u793A\u53EF\u9009\uFF09\uFF1A{taskId:string,state:string,outputs:object[],retryAfterSeconds?:number,failReason?:unknown}\u3002",
|
|
4375
|
+
"state \u53EF\u4E3A submitted/working/completed/failed/canceled/inputRequired/unknown\uFF1Bcode=0 \u53EA\u8868\u793A\u67E5\u8BE2\u6210\u529F\uFF0C\u751F\u6210\u7ED3\u679C\u9700\u5224\u65AD state \u548C outputs\u3002",
|
|
4376
|
+
"outputs \u662F\u6700\u9AD8\u753B\u8D28\u4EA7\u7269\u6570\u7EC4\uFF0C\u65E0\u4EA7\u7269\u65F6\u4E3A []\uFF1B\u6BCF\u9879\u542B downloadUrl:string\uFF0C\u53EF\u9009 assetId:string\u3001pippitAssetId:string\u3001width:number\u3001height:number\uFF08\u50CF\u7D20\uFF09\u3001durationMs:number\uFF08\u6BEB\u79D2\uFF09\u3002",
|
|
4377
|
+
"retryAfterSeconds \u662F\u5EFA\u8BAE\u8F6E\u8BE2\u95F4\u9694\u79D2\u6570\uFF0C\u4EC5\u5927\u4E8E 0 \u65F6\u8FD4\u56DE\uFF1BfailReason \u662F\u540E\u7AEF\u63D0\u4F9B\u7684\u5931\u8D25\u8BE6\u60C5\uFF0C\u7C7B\u578B\u4E0D\u56FA\u5B9A\u3002",
|
|
4378
|
+
'data \u793A\u4F8B\uFF1A{"taskId":"thread-id","state":"working","retryAfterSeconds":3,"outputs":[]}',
|
|
4379
|
+
"\u672C\u547D\u4EE4\u4E0D\u8FD4\u56DE timedOut \u6216 nextCommand\uFF1B\u9700\u8981\u963B\u585E\u7B49\u5F85\u8BF7\u7528 tt ai video wait --task-id <threadId>\u3002",
|
|
4380
|
+
"\u67E5\u8BE2\u53EF\u8DE8\u8FDB\u7A0B\u3001\u9694\u5929\u7EE7\u7EED\uFF0C\u65E0\u5BA2\u6237\u7AEF\u4EFB\u52A1\u8FC7\u671F\u65F6\u95F4\uFF1B\u4ECD\u9700\u6709\u6548\u767B\u5F55\u6001\u3001\u8BBF\u95EE\u6743\u9650\u53CA\u540E\u7AEF\u4FDD\u7559\u4EFB\u52A1\u3002\u6309 thread \u67E5\u8BE2\u4F1A\u53D6\u8FD4\u56DE\u5217\u8868\u6700\u540E\u4E00\u4E2A run\u3002",
|
|
4381
|
+
"\u547D\u4EE4\u5931\u8D25\u65F6 error.stage \u6807\u8BC6 input/session/query\uFF1B\u67E5\u8BE2\u8BF7\u6C42\u5931\u8D25\u9644\u5E26 error.taskId\uFF0C\u672C\u547D\u4EE4\u4E0D\u63D0\u4F9B\u6062\u590D\u547D\u4EE4\u3002"
|
|
4335
4382
|
];
|
|
4336
4383
|
}
|
|
4337
4384
|
async _execute(ctx) {
|
|
@@ -4347,7 +4394,7 @@ var AiVideoStatusCommand = class extends BaseCommand {
|
|
|
4347
4394
|
threadId: threadIdResult.value
|
|
4348
4395
|
});
|
|
4349
4396
|
if (!result.ok) {
|
|
4350
|
-
return failFrom(result, { stage: "query", taskId:
|
|
4397
|
+
return failFrom(result, { stage: "query", taskId: threadIdResult.value });
|
|
4351
4398
|
}
|
|
4352
4399
|
return ok26(toVideoTaskOutput(result.value));
|
|
4353
4400
|
}
|
|
@@ -4369,7 +4416,7 @@ var AiVideoWaitCommand = class extends BaseCommand {
|
|
|
4369
4416
|
}
|
|
4370
4417
|
_configureOptions(cmd) {
|
|
4371
4418
|
cmd.addOption(
|
|
4372
|
-
new Option8("--task-id <task-id>", "\u63D0\u4EA4\u65F6\u8FD4\u56DE\u7684\
|
|
4419
|
+
new Option8("--task-id <task-id>", "\u63D0\u4EA4\u65F6\u8FD4\u56DE\u7684\u89C6\u9891 taskId\uFF0C\u5373\u540E\u7AEF threadId").makeOptionMandatory()
|
|
4373
4420
|
);
|
|
4374
4421
|
cmd.addOption(
|
|
4375
4422
|
new Option8(
|
|
@@ -4386,23 +4433,36 @@ var AiVideoWaitCommand = class extends BaseCommand {
|
|
|
4386
4433
|
}
|
|
4387
4434
|
_agentContract() {
|
|
4388
4435
|
return [
|
|
4389
|
-
"\u963B\u585E\u7B49\u5F85\
|
|
4390
|
-
"
|
|
4436
|
+
"\u963B\u585E\u7B49\u5F85\u5DF2\u6709\u4EFB\u52A1\uFF0C\u4E0D\u91CD\u65B0\u63D0\u4EA4\uFF1Bdata.taskId \u5373\u540E\u7AEF threadId\u3002",
|
|
4437
|
+
"data \u5B57\u6BB5\uFF08? \u8868\u793A\u53EF\u9009\uFF09\uFF1A{taskId:string,state:string,outputs:object[],retryAfterSeconds?:number,timedOut?:true,failReason?:unknown}\u3002",
|
|
4438
|
+
"state \u53EF\u4E3A submitted/working/completed/failed/canceled/inputRequired/unknown\uFF1Bcode=0 \u53EA\u8868\u793A\u67E5\u8BE2\u6210\u529F\uFF0C\u751F\u6210\u7ED3\u679C\u9700\u5224\u65AD state \u548C outputs\u3002",
|
|
4439
|
+
"outputs \u662F\u6700\u9AD8\u753B\u8D28\u4EA7\u7269\u6570\u7EC4\uFF0C\u65E0\u4EA7\u7269\u65F6\u4E3A []\uFF1B\u6BCF\u9879\u542B downloadUrl:string\uFF0C--output \u4E0B\u8F7D\u6210\u529F\u540E\u6539\u4E3A\u7EDD\u5BF9 localPath:string\u3002",
|
|
4440
|
+
"\u4EA7\u7269\u53EF\u9009\u5B57\u6BB5\uFF1AassetId:string\u3001pippitAssetId:string\u3001width:number\u3001height:number\uFF08\u50CF\u7D20\uFF09\u3001durationMs:number\uFF08\u6BEB\u79D2\uFF09\u3002",
|
|
4441
|
+
"retryAfterSeconds \u662F\u5EFA\u8BAE\u8F6E\u8BE2\u95F4\u9694\u79D2\u6570\uFF0C\u4EC5\u5927\u4E8E 0 \u65F6\u8FD4\u56DE\uFF1BfailReason \u662F\u540E\u7AEF\u63D0\u4F9B\u7684\u5931\u8D25\u8BE6\u60C5\uFF0C\u7C7B\u578B\u4E0D\u56FA\u5B9A\u3002",
|
|
4442
|
+
"\u8D85\u65F6\u4ECD code=0\uFF0Cdata.timedOut=true\uFF0C\u672A\u8D85\u65F6\u7701\u7565\u8BE5\u5B57\u6BB5\uFF1B\u7B49\u5F85\u7ED3\u679C\u6CA1\u6709 nextCommand\uFF0C\u8BF7\u7528\u540C\u4E00 taskId \u518D\u6B21\u8C03\u7528 wait\u3002",
|
|
4443
|
+
'\u8D85\u65F6 data \u793A\u4F8B\uFF1A{"taskId":"thread-id","state":"working","retryAfterSeconds":3,"timedOut":true,"outputs":[]}',
|
|
4444
|
+
'\u4FDD\u5B58\u6210\u529F data \u793A\u4F8B\uFF1A{"taskId":"thread-id","state":"completed","outputs":[{"localPath":"/absolute/result.mp4"}]}',
|
|
4445
|
+
"\u7B49\u5F85/\u4E0B\u8F7D\u5F02\u5E38\u7684 error \u542B stage\u3001taskId\u3001recoverable\u3001nextCommand\uFF1B\u5F53\u524D\u6062\u590D\u547D\u4EE4\u672A\u5305\u542B --output\uFF0C\u9700\u8981\u4FDD\u5B58\u6587\u4EF6\u65F6\u8BF7\u8865\u56DE\u8F93\u51FA\u8DEF\u5F84\u3002"
|
|
4391
4446
|
];
|
|
4392
4447
|
}
|
|
4393
4448
|
async _execute(ctx) {
|
|
4394
4449
|
const options = ctx.command.optsWithGlobals();
|
|
4450
|
+
const threadIdResult = parseXyqTaskId(options.taskId);
|
|
4451
|
+
if (!threadIdResult.ok) {
|
|
4452
|
+
return failFrom(threadIdResult, { stage: "input" });
|
|
4453
|
+
}
|
|
4454
|
+
const taskId = threadIdResult.value;
|
|
4395
4455
|
const result = await this._runVideoTask({
|
|
4396
|
-
taskId
|
|
4456
|
+
taskId,
|
|
4397
4457
|
timeoutSeconds: options.timeoutSeconds,
|
|
4398
4458
|
outputPath: options.output
|
|
4399
4459
|
});
|
|
4400
4460
|
if (!result.ok) {
|
|
4401
4461
|
return failFrom(result, {
|
|
4402
4462
|
stage: "wait",
|
|
4403
|
-
taskId
|
|
4463
|
+
taskId,
|
|
4404
4464
|
recoverable: true,
|
|
4405
|
-
nextCommand: `tt ai video wait --task-id ${
|
|
4465
|
+
nextCommand: `tt ai video wait --task-id ${taskId}`
|
|
4406
4466
|
});
|
|
4407
4467
|
}
|
|
4408
4468
|
return ok27(
|
|
@@ -4503,11 +4563,20 @@ var AiVideoCommand = class extends BaseCommandGroup {
|
|
|
4503
4563
|
_agentContract() {
|
|
4504
4564
|
return [
|
|
4505
4565
|
"\u9ED8\u8BA4: \u751F\u6210\u8FC7\u7A0B\u5F02\u6B65\uFF0C\u4F46\u672C\u547D\u4EE4\u4F1A\u540C\u6B65\u5B8C\u6210\u4F1A\u8BDD\u521D\u59CB\u5316\u3001\u53C2\u8003\u7D20\u6750\u4E0A\u4F20\u548C\u8FDC\u7AEF\u4EFB\u52A1\u521B\u5EFA\uFF0C\u4E4B\u540E\u624D\u8FD4\u56DE taskId\u3002",
|
|
4566
|
+
"\u89C6\u9891 taskId \u76F4\u63A5\u4F7F\u7528\u540E\u7AEF threadId\u3002",
|
|
4567
|
+
'\u63D0\u4EA4 data \u5B57\u6BB5\uFF08? \u8868\u793A\u53EF\u9009\uFF09\uFF1A{taskId:string,state:"submitted",nextCommand:string,estimatedWaitSeconds?:number,appliedParameters?:object,adjustments?:object[]}\uFF1B\u6B64\u65F6\u6CA1\u6709 outputs \u5B57\u6BB5\u3002',
|
|
4568
|
+
'\u63D0\u4EA4 data \u793A\u4F8B\uFF08\u7701\u7565\u53EF\u9009\u5B57\u6BB5\uFF09\uFF1A{"taskId":"thread-id","state":"submitted","nextCommand":"tt ai video wait --task-id thread-id"}',
|
|
4569
|
+
"estimatedWaitSeconds \u662F\u9884\u8BA1\u751F\u6210\u79D2\u6570\uFF1BappliedParameters \u662F\u5B9E\u9645\u751F\u6548\u53C2\u6570\uFF1Badjustments \u662F\u53C2\u6570\u9ED8\u8BA4\u503C\u6216\u8C03\u6574\u8BF4\u660E\uFF0C\u4EC5\u975E\u7A7A\u65F6\u8FD4\u56DE\u3002",
|
|
4506
4570
|
"\u63D0\u4EA4\u671F\u95F4 stderr \u7ACB\u5373\u8F93\u51FA\u7ED3\u6784\u5316 progress\uFF0C\u4E4B\u540E\u6BCF 10 \u79D2\u5FC3\u8DF3\uFF1Bprogress \u4E0D\u662F\u6700\u7EC8\u7ED3\u679C\uFF0C\u5FC5\u987B\u7B49\u5F85\u8FDB\u7A0B\u9000\u51FA\u3002",
|
|
4507
|
-
"--quiet: \u5173\u95ED\
|
|
4508
|
-
"--wait
|
|
4509
|
-
"
|
|
4510
|
-
"\
|
|
4571
|
+
"--quiet: \u5173\u95ED\u63D0\u4EA4\u9636\u6BB5\u7684 stderr progress\uFF0Cstdout \u4ECD\u4EC5\u8F93\u51FA\u6700\u7EC8 envelope\u3002",
|
|
4572
|
+
"--wait/--output \u7684 data \u5FC5\u542B taskId\u3001state\u3001outputs\uFF1B\u53EF\u9009 retryAfterSeconds:number\u3001timedOut:true\u3001failReason\uFF0C\u4EE5\u53CA\u63D0\u4EA4\u9636\u6BB5\u7684 estimatedWaitSeconds/appliedParameters/adjustments\u3002",
|
|
4573
|
+
"outputs \u662F\u6700\u9AD8\u753B\u8D28\u4EA7\u7269\u6570\u7EC4\uFF0C\u65E0\u4EA7\u7269\u65F6\u4E3A []\uFF1B\u6BCF\u9879\u542B downloadUrl:string\uFF0C--output \u81EA\u52A8\u7B49\u5F85\u5E76\u4E0B\u8F7D\u6210\u529F\u540E\u6539\u4E3A\u7EDD\u5BF9 localPath:string\u3002",
|
|
4574
|
+
"\u4EA7\u7269\u53EF\u9009\u5B57\u6BB5\uFF1AassetId:string\u3001pippitAssetId:string\u3001width:number\u3001height:number\uFF08\u50CF\u7D20\uFF09\u3001durationMs:number\uFF08\u6BEB\u79D2\uFF09\u3002",
|
|
4575
|
+
'\u5B8C\u6210 data \u793A\u4F8B\uFF08\u7701\u7565\u53EF\u9009\u5B57\u6BB5\uFF09\uFF1A{"taskId":"thread-id","state":"completed","outputs":[{"downloadUrl":"https://example.com/result.mp4"}]}',
|
|
4576
|
+
"state \u53EF\u4E3A submitted/working/completed/failed/canceled/inputRequired/unknown\uFF1Bcode=0 \u53EA\u8868\u793A\u63D0\u4EA4\u6216\u67E5\u8BE2\u6210\u529F\uFF0C\u751F\u6210\u7ED3\u679C\u9700\u5224\u65AD state \u548C outputs\u3002",
|
|
4577
|
+
"retryAfterSeconds \u662F\u5EFA\u8BAE\u8F6E\u8BE2\u95F4\u9694\u79D2\u6570\uFF0C\u4EC5\u5927\u4E8E 0 \u65F6\u8FD4\u56DE\uFF1BfailReason \u662F\u540E\u7AEF\u63D0\u4F9B\u7684\u5931\u8D25\u8BE6\u60C5\uFF0C\u7C7B\u578B\u4E0D\u56FA\u5B9A\u3002",
|
|
4578
|
+
"\u751F\u6210\u901A\u5E38\u7EA6 5 \u5206\u949F\uFF1B\u7B49\u5F85\u8D85\u65F6\u4ECD code=0\uFF0Cdata.timedOut=true\uFF0C\u672A\u8D85\u65F6\u7701\u7565\u8BE5\u5B57\u6BB5\u3002\u7B49\u5F85\u7ED3\u679C\u6CA1\u6709 nextCommand\uFF0C\u8BF7\u7528\u540C\u4E00 taskId \u8C03\u7528 tt ai video wait --task-id <threadId>\u3002",
|
|
4579
|
+
"\u7B49\u5F85/\u4E0B\u8F7D\u5F02\u5E38\u7684 error \u542B stage\u3001taskId\u3001recoverable\u3001nextCommand\uFF1B\u5F53\u524D\u6062\u590D\u547D\u4EE4\u672A\u5305\u542B --output\uFF0C\u9700\u8981\u4FDD\u5B58\u6587\u4EF6\u65F6\u8BF7\u8865\u56DE\u8F93\u51FA\u8DEF\u5F84\u3002"
|
|
4511
4580
|
];
|
|
4512
4581
|
}
|
|
4513
4582
|
_registerSubcommands() {
|
|
@@ -7970,4 +8039,4 @@ export {
|
|
|
7970
8039
|
ToolCommand,
|
|
7971
8040
|
createRootCommands
|
|
7972
8041
|
};
|
|
7973
|
-
//# sourceMappingURL=chunk-
|
|
8042
|
+
//# sourceMappingURL=chunk-N7MMM2TO.js.map
|