gaoding-cli 1.0.0-alpha.8 → 1.0.0-alpha.9
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 +18 -0
- package/README.md +47 -64
- package/dist/bin/gd-cli.js +2 -2
- package/dist/src/api/app-runner.d.ts +1 -4
- package/dist/src/api/app-runner.js +10 -42
- package/dist/src/api/dam-client.d.ts +0 -7
- package/dist/src/api/dam-client.js +0 -17
- package/dist/src/commands/auth.js +5 -41
- package/dist/src/commands/creative.js +37 -45
- package/dist/src/commands/dam.js +248 -110
- package/dist/src/commands/org.js +17 -39
- package/dist/src/commands/skills.js +24 -114
- package/dist/src/commands/update.js +10 -85
- package/dist/src/commands/usage.js +4 -17
- package/dist/src/commands/workflows.d.ts +1 -1
- package/dist/src/commands/workflows.js +283 -199
- package/dist/src/core/output/envelope.d.ts +1 -0
- package/dist/src/core/output/envelope.js +76 -6
- package/dist/src/creative/contract.d.ts +28 -80
- package/dist/src/creative/contract.js +23 -44
- package/dist/src/creative/protocol.js +6 -6
- package/dist/src/io.d.ts +0 -2
- package/dist/src/io.js +0 -8
- package/dist/src/middleware/error-handler.d.ts +7 -1
- package/dist/src/middleware/error-handler.js +59 -54
- package/dist/src/program.d.ts +1 -0
- package/dist/src/program.js +138 -41
- package/dist/src/registry/agent-contracts.d.ts +14 -26
- package/dist/src/registry/agent-contracts.js +214 -64
- package/dist/src/utils/capability-presenter.js +6 -29
- package/dist/src/utils/config.d.ts +2 -2
- package/dist/src/utils/config.js +1 -1
- package/dist/src/utils/sensitive-path.js +1 -4
- package/package.json +2 -1
- package/skills/gd-cli/SKILL.md +6 -6
- package/skills/gd-cli/references/auth.md +3 -10
- package/skills/gd-cli/references/creative.md +11 -11
- package/skills/gd-cli/references/entitlement.md +2 -2
- package/skills/gd-cli/references/errors.md +4 -4
- package/skills/gd-cli/references/org.md +3 -3
- package/skills/gd-cli/references/sop.md +5 -5
- package/skills/gd-cli/references/update.md +4 -3
- package/skills/gd-cli/references/workflows.md +6 -5
- package/dist/src/utils/list-output-format.d.ts +0 -10
- package/dist/src/utils/list-output-format.js +0 -34
|
@@ -24,7 +24,7 @@ function normalizeEnvelopeStatus(value) {
|
|
|
24
24
|
return "completed";
|
|
25
25
|
}
|
|
26
26
|
export function failedEnvelope(error, meta) {
|
|
27
|
-
return { status: "failed", data: null, error, meta };
|
|
27
|
+
return { status: "failed", data: null, error: publicCliErrorBody(error), meta };
|
|
28
28
|
}
|
|
29
29
|
function normalizePayloadError(value) {
|
|
30
30
|
if (!value)
|
|
@@ -45,7 +45,7 @@ function normalizePayloadError(value) {
|
|
|
45
45
|
}
|
|
46
46
|
const error = value;
|
|
47
47
|
const type = error.type;
|
|
48
|
-
return {
|
|
48
|
+
return publicCliErrorBody({
|
|
49
49
|
code: typeof error.code === "string" ? error.code : "ERROR",
|
|
50
50
|
type: type === "business" ||
|
|
51
51
|
type === "auth" ||
|
|
@@ -54,11 +54,9 @@ function normalizePayloadError(value) {
|
|
|
54
54
|
type === "unknown"
|
|
55
55
|
? type
|
|
56
56
|
: "unknown",
|
|
57
|
-
message: typeof error.message === "string" ? error.message :
|
|
57
|
+
message: typeof error.message === "string" ? error.message : "请求失败",
|
|
58
58
|
reason: typeof error.reason === "string" ? error.reason : undefined,
|
|
59
59
|
hint: typeof error.hint === "string" ? error.hint : undefined,
|
|
60
|
-
app_id: typeof error.app_id === "string" ? error.app_id : undefined,
|
|
61
|
-
tool_id: typeof error.tool_id === "string" ? error.tool_id : undefined,
|
|
62
60
|
retryable: typeof error.retryable === "boolean" ? error.retryable : undefined,
|
|
63
61
|
next_command: typeof error.next_command === "string" ? error.next_command : undefined,
|
|
64
62
|
next_steps: Array.isArray(error.next_steps) ? error.next_steps.map(String) : undefined,
|
|
@@ -67,8 +65,80 @@ function normalizePayloadError(value) {
|
|
|
67
65
|
forbidden_actions: Array.isArray(error.forbidden_actions) ? error.forbidden_actions.map(String) : undefined,
|
|
68
66
|
allow_org_check: typeof error.allow_org_check === "boolean" ? error.allow_org_check : undefined,
|
|
69
67
|
agent_message_template: typeof error.agent_message_template === "string" ? error.agent_message_template : undefined,
|
|
70
|
-
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
export function publicCliErrorBody(error) {
|
|
71
|
+
const body = {
|
|
72
|
+
code: publicString(error.code) ?? "ERROR",
|
|
73
|
+
type: publicErrorType(error.type),
|
|
74
|
+
message: publicString(error.message) ?? "请求失败",
|
|
75
|
+
reason: publicString(error.reason),
|
|
76
|
+
hint: publicString(error.hint),
|
|
77
|
+
retryable: typeof error.retryable === "boolean" ? error.retryable : undefined,
|
|
78
|
+
diagnostic_context: publicDiagnosticContext(error.diagnostic_context),
|
|
79
|
+
next_command: publicString(error.next_command),
|
|
80
|
+
next_steps: publicStringArray(error.next_steps),
|
|
81
|
+
pricing_url: publicString(error.pricing_url),
|
|
82
|
+
user_action_required: publicString(error.user_action_required),
|
|
83
|
+
forbidden_actions: publicStringArray(error.forbidden_actions),
|
|
84
|
+
allow_org_check: typeof error.allow_org_check === "boolean" ? error.allow_org_check : undefined,
|
|
85
|
+
agent_message_template: publicString(error.agent_message_template),
|
|
71
86
|
};
|
|
87
|
+
return Object.fromEntries(Object.entries(body).filter(([, value]) => value !== undefined));
|
|
88
|
+
}
|
|
89
|
+
const PUBLIC_DIAGNOSTIC_KEYS = new Set([
|
|
90
|
+
"environment",
|
|
91
|
+
"business_id",
|
|
92
|
+
"channel_id",
|
|
93
|
+
"org_id",
|
|
94
|
+
"org_name",
|
|
95
|
+
"user_id",
|
|
96
|
+
"api_path",
|
|
97
|
+
"selected_model",
|
|
98
|
+
"attempted_models",
|
|
99
|
+
]);
|
|
100
|
+
function publicDiagnosticContext(value) {
|
|
101
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
102
|
+
return undefined;
|
|
103
|
+
const entries = Object.entries(value)
|
|
104
|
+
.filter(([key]) => PUBLIC_DIAGNOSTIC_KEYS.has(key))
|
|
105
|
+
.flatMap(([key, item]) => {
|
|
106
|
+
const projected = publicDiagnosticValue(item);
|
|
107
|
+
return projected === undefined ? [] : [[key, projected]];
|
|
108
|
+
});
|
|
109
|
+
return entries.length > 0 ? Object.fromEntries(entries) : undefined;
|
|
110
|
+
}
|
|
111
|
+
function publicDiagnosticValue(value) {
|
|
112
|
+
if (typeof value === "string" ||
|
|
113
|
+
typeof value === "number" ||
|
|
114
|
+
typeof value === "boolean") {
|
|
115
|
+
return value;
|
|
116
|
+
}
|
|
117
|
+
if (Array.isArray(value)) {
|
|
118
|
+
const items = value.filter((item) => typeof item === "string" ||
|
|
119
|
+
typeof item === "number" ||
|
|
120
|
+
typeof item === "boolean");
|
|
121
|
+
return items.length > 0 ? items : undefined;
|
|
122
|
+
}
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
function publicString(value) {
|
|
126
|
+
return typeof value === "string" && value.length > 0 ? value : undefined;
|
|
127
|
+
}
|
|
128
|
+
function publicStringArray(value) {
|
|
129
|
+
if (!Array.isArray(value))
|
|
130
|
+
return undefined;
|
|
131
|
+
const items = value.filter((item) => typeof item === "string" && item.length > 0);
|
|
132
|
+
return items.length > 0 ? items : undefined;
|
|
133
|
+
}
|
|
134
|
+
function publicErrorType(value) {
|
|
135
|
+
return value === "business" ||
|
|
136
|
+
value === "auth" ||
|
|
137
|
+
value === "network" ||
|
|
138
|
+
value === "validation" ||
|
|
139
|
+
value === "unknown"
|
|
140
|
+
? value
|
|
141
|
+
: "unknown";
|
|
72
142
|
}
|
|
73
143
|
function extractAssets(obj) {
|
|
74
144
|
const out = [];
|
|
@@ -4,7 +4,7 @@ export interface CreativeInput {
|
|
|
4
4
|
media?: CreativeMedia[];
|
|
5
5
|
parameters?: CreativeParameters;
|
|
6
6
|
conversation_id?: string;
|
|
7
|
-
|
|
7
|
+
question_message_id?: string;
|
|
8
8
|
answers?: CreativeAnswer[];
|
|
9
9
|
}
|
|
10
10
|
export interface CreativeMedia {
|
|
@@ -51,7 +51,7 @@ export interface CreativeResult {
|
|
|
51
51
|
finish_reason: "completed" | "requires_input";
|
|
52
52
|
message: string;
|
|
53
53
|
outputs: CreativeOutput[];
|
|
54
|
-
|
|
54
|
+
question_message_id?: string;
|
|
55
55
|
questions?: CreativeQuestionGroup;
|
|
56
56
|
}
|
|
57
57
|
export interface CreativeError {
|
|
@@ -73,7 +73,6 @@ export interface CreativeEnvelope {
|
|
|
73
73
|
export declare const CREATIVE_INPUT_SCHEMA: {
|
|
74
74
|
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
75
75
|
readonly $id: "https://www.gaoding.com/cli/schemas/creative-input-v1.json";
|
|
76
|
-
readonly title: "Creative Input";
|
|
77
76
|
readonly description: "发起或继续一次稿定 Creative 创作所需的完整输入。";
|
|
78
77
|
readonly type: "object";
|
|
79
78
|
readonly additionalProperties: false;
|
|
@@ -89,7 +88,6 @@ export declare const CREATIVE_INPUT_SCHEMA: {
|
|
|
89
88
|
readonly description: "本次创作使用的输入素材;媒体不能脱离 prompt 或 answers 单独提交。";
|
|
90
89
|
readonly items: {
|
|
91
90
|
readonly type: "object";
|
|
92
|
-
readonly description: "一份带有明确用途的输入素材。";
|
|
93
91
|
readonly additionalProperties: false;
|
|
94
92
|
readonly required: readonly ["source", "role"];
|
|
95
93
|
readonly properties: {
|
|
@@ -133,7 +131,7 @@ export declare const CREATIVE_INPUT_SCHEMA: {
|
|
|
133
131
|
readonly minLength: 1;
|
|
134
132
|
readonly description: "继续已有创作或回答追问时使用的会话标识;首次请求和独立的新创作不传。";
|
|
135
133
|
};
|
|
136
|
-
readonly
|
|
134
|
+
readonly question_message_id: {
|
|
137
135
|
readonly type: "string";
|
|
138
136
|
readonly minLength: 1;
|
|
139
137
|
readonly description: "正在回答或跳过的追问消息标识,原样使用上一次 requires_input 输出中的值。";
|
|
@@ -144,7 +142,6 @@ export declare const CREATIVE_INPUT_SCHEMA: {
|
|
|
144
142
|
readonly description: "对上一次 requires_input 输出中一个或多个问题的结构化回答。";
|
|
145
143
|
readonly items: {
|
|
146
144
|
readonly type: "object";
|
|
147
|
-
readonly description: "对一条 GD Agent 追问的回答。";
|
|
148
145
|
readonly additionalProperties: false;
|
|
149
146
|
readonly required: readonly ["question", "values"];
|
|
150
147
|
readonly properties: {
|
|
@@ -160,7 +157,6 @@ export declare const CREATIVE_INPUT_SCHEMA: {
|
|
|
160
157
|
readonly items: {
|
|
161
158
|
readonly type: "string";
|
|
162
159
|
readonly minLength: 1;
|
|
163
|
-
readonly description: "一项非空的选择值或自定义回答。";
|
|
164
160
|
};
|
|
165
161
|
};
|
|
166
162
|
};
|
|
@@ -168,18 +164,15 @@ export declare const CREATIVE_INPUT_SCHEMA: {
|
|
|
168
164
|
};
|
|
169
165
|
};
|
|
170
166
|
readonly anyOf: readonly [{
|
|
171
|
-
readonly description: "普通新创作或连续编辑必须提供 prompt。";
|
|
172
167
|
readonly required: readonly ["prompt"];
|
|
173
168
|
}, {
|
|
174
|
-
readonly
|
|
175
|
-
readonly required: readonly ["answers", "conversation_id", "last_tool_message_id"];
|
|
169
|
+
readonly required: readonly ["answers"];
|
|
176
170
|
}];
|
|
177
171
|
readonly dependentRequired: {
|
|
178
|
-
readonly answers: readonly ["conversation_id", "
|
|
179
|
-
readonly
|
|
172
|
+
readonly answers: readonly ["conversation_id", "question_message_id"];
|
|
173
|
+
readonly question_message_id: readonly ["conversation_id"];
|
|
180
174
|
};
|
|
181
175
|
readonly allOf: readonly [{
|
|
182
|
-
readonly description: "first_frame 最多出现一次。";
|
|
183
176
|
readonly properties: {
|
|
184
177
|
readonly media: {
|
|
185
178
|
readonly description: "用于检查首帧数量的素材列表。";
|
|
@@ -198,7 +191,6 @@ export declare const CREATIVE_INPUT_SCHEMA: {
|
|
|
198
191
|
};
|
|
199
192
|
};
|
|
200
193
|
}, {
|
|
201
|
-
readonly description: "last_frame 最多出现一次。";
|
|
202
194
|
readonly properties: {
|
|
203
195
|
readonly media: {
|
|
204
196
|
readonly description: "用于检查尾帧数量的素材列表。";
|
|
@@ -221,7 +213,6 @@ export declare const CREATIVE_INPUT_SCHEMA: {
|
|
|
221
213
|
export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
222
214
|
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
223
215
|
readonly $id: "https://www.gaoding.com/cli/schemas/creative-output-v1.json";
|
|
224
|
-
readonly title: "Creative Output";
|
|
225
216
|
readonly description: "creative run 的统一最终输出;中间事件和内部调用过程不属于本 Schema。";
|
|
226
217
|
readonly type: "object";
|
|
227
218
|
readonly additionalProperties: false;
|
|
@@ -234,19 +225,9 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
234
225
|
};
|
|
235
226
|
readonly data: {
|
|
236
227
|
readonly description: "status 为 completed 时存在的 Creative 最终结果;failed 时为 null。";
|
|
237
|
-
readonly oneOf: readonly [{
|
|
238
|
-
readonly $ref: "#/$defs/result";
|
|
239
|
-
}, {
|
|
240
|
-
readonly type: "null";
|
|
241
|
-
}];
|
|
242
228
|
};
|
|
243
229
|
readonly error: {
|
|
244
230
|
readonly description: "status 为 failed 时存在的结构化错误;completed 时为 null。";
|
|
245
|
-
readonly oneOf: readonly [{
|
|
246
|
-
readonly $ref: "#/$defs/error";
|
|
247
|
-
}, {
|
|
248
|
-
readonly type: "null";
|
|
249
|
-
}];
|
|
250
231
|
};
|
|
251
232
|
readonly meta: {
|
|
252
233
|
readonly type: "object";
|
|
@@ -266,7 +247,6 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
266
247
|
};
|
|
267
248
|
};
|
|
268
249
|
readonly oneOf: readonly [{
|
|
269
|
-
readonly description: "成功完成或需要使用者继续回答的结果。";
|
|
270
250
|
readonly properties: {
|
|
271
251
|
readonly status: {
|
|
272
252
|
readonly const: "completed";
|
|
@@ -282,7 +262,6 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
282
262
|
};
|
|
283
263
|
};
|
|
284
264
|
}, {
|
|
285
|
-
readonly description: "校验、认证、业务或网络失败的结果。";
|
|
286
265
|
readonly properties: {
|
|
287
266
|
readonly status: {
|
|
288
267
|
readonly const: "failed";
|
|
@@ -301,7 +280,6 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
301
280
|
readonly $defs: {
|
|
302
281
|
readonly result: {
|
|
303
282
|
readonly type: "object";
|
|
304
|
-
readonly description: "GD Agent 本轮的最终结果。";
|
|
305
283
|
readonly additionalProperties: false;
|
|
306
284
|
readonly required: readonly ["conversation_id", "finish_reason", "message", "outputs"];
|
|
307
285
|
readonly properties: {
|
|
@@ -324,10 +302,9 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
324
302
|
readonly description: "本轮最终产出的文本、结构化数据或媒体。";
|
|
325
303
|
readonly items: {
|
|
326
304
|
readonly $ref: "#/$defs/output";
|
|
327
|
-
readonly description: "一项 Creative 最终产出。";
|
|
328
305
|
};
|
|
329
306
|
};
|
|
330
|
-
readonly
|
|
307
|
+
readonly question_message_id: {
|
|
331
308
|
readonly type: "string";
|
|
332
309
|
readonly minLength: 1;
|
|
333
310
|
readonly description: "requires_input 时必填,并在下一次请求中原样回传。";
|
|
@@ -347,12 +324,12 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
347
324
|
};
|
|
348
325
|
};
|
|
349
326
|
readonly then: {
|
|
350
|
-
readonly required: readonly ["
|
|
327
|
+
readonly required: readonly ["question_message_id", "questions"];
|
|
351
328
|
};
|
|
352
329
|
readonly else: {
|
|
353
330
|
readonly not: {
|
|
354
331
|
readonly anyOf: readonly [{
|
|
355
|
-
readonly required: readonly ["
|
|
332
|
+
readonly required: readonly ["question_message_id"];
|
|
356
333
|
}, {
|
|
357
334
|
readonly required: readonly ["questions"];
|
|
358
335
|
}];
|
|
@@ -362,7 +339,6 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
362
339
|
};
|
|
363
340
|
readonly question_group: {
|
|
364
341
|
readonly type: "object";
|
|
365
|
-
readonly description: "GD Agent 在本轮提出的一组问题。";
|
|
366
342
|
readonly additionalProperties: false;
|
|
367
343
|
readonly required: readonly ["title", "questions"];
|
|
368
344
|
readonly properties: {
|
|
@@ -376,7 +352,6 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
376
352
|
readonly description: "需要使用者回答的一个或多个问题。";
|
|
377
353
|
readonly items: {
|
|
378
354
|
readonly type: "object";
|
|
379
|
-
readonly description: "一条 GD Agent 追问。";
|
|
380
355
|
readonly additionalProperties: false;
|
|
381
356
|
readonly required: readonly ["question", "options", "allow_multiple"];
|
|
382
357
|
readonly properties: {
|
|
@@ -390,7 +365,6 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
390
365
|
readonly description: "推荐选项,可以为空;label 不是严格枚举。";
|
|
391
366
|
readonly items: {
|
|
392
367
|
readonly type: "object";
|
|
393
|
-
readonly description: "一项推荐回答。";
|
|
394
368
|
readonly additionalProperties: false;
|
|
395
369
|
readonly required: readonly ["label"];
|
|
396
370
|
readonly properties: {
|
|
@@ -412,10 +386,8 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
412
386
|
};
|
|
413
387
|
};
|
|
414
388
|
readonly output: {
|
|
415
|
-
readonly description: "文本、JSON、图片、视频、音频或文件结果。";
|
|
416
389
|
readonly oneOf: readonly [{
|
|
417
390
|
readonly type: "object";
|
|
418
|
-
readonly description: "文本结果。";
|
|
419
391
|
readonly additionalProperties: false;
|
|
420
392
|
readonly required: readonly ["type", "text"];
|
|
421
393
|
readonly properties: {
|
|
@@ -430,7 +402,6 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
430
402
|
};
|
|
431
403
|
}, {
|
|
432
404
|
readonly type: "object";
|
|
433
|
-
readonly description: "可机器解析的结构化结果。";
|
|
434
405
|
readonly additionalProperties: false;
|
|
435
406
|
readonly required: readonly ["type", "value"];
|
|
436
407
|
readonly properties: {
|
|
@@ -444,7 +415,6 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
444
415
|
};
|
|
445
416
|
}, {
|
|
446
417
|
readonly type: "object";
|
|
447
|
-
readonly description: "最终媒体或文件结果。";
|
|
448
418
|
readonly additionalProperties: false;
|
|
449
419
|
readonly required: readonly ["type", "url", "mime_type"];
|
|
450
420
|
readonly properties: {
|
|
@@ -494,7 +464,6 @@ export declare const CREATIVE_OUTPUT_SCHEMA: {
|
|
|
494
464
|
};
|
|
495
465
|
readonly error: {
|
|
496
466
|
readonly type: "object";
|
|
497
|
-
readonly description: "Creative 失败时的稳定错误信息。";
|
|
498
467
|
readonly additionalProperties: false;
|
|
499
468
|
readonly required: readonly ["code", "type", "message"];
|
|
500
469
|
readonly properties: {
|
|
@@ -531,7 +500,6 @@ export declare function getCreativeSchema(): {
|
|
|
531
500
|
input_schema: {
|
|
532
501
|
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
533
502
|
readonly $id: "https://www.gaoding.com/cli/schemas/creative-input-v1.json";
|
|
534
|
-
readonly title: "Creative Input";
|
|
535
503
|
readonly description: "发起或继续一次稿定 Creative 创作所需的完整输入。";
|
|
536
504
|
readonly type: "object";
|
|
537
505
|
readonly additionalProperties: false;
|
|
@@ -547,7 +515,6 @@ export declare function getCreativeSchema(): {
|
|
|
547
515
|
readonly description: "本次创作使用的输入素材;媒体不能脱离 prompt 或 answers 单独提交。";
|
|
548
516
|
readonly items: {
|
|
549
517
|
readonly type: "object";
|
|
550
|
-
readonly description: "一份带有明确用途的输入素材。";
|
|
551
518
|
readonly additionalProperties: false;
|
|
552
519
|
readonly required: readonly ["source", "role"];
|
|
553
520
|
readonly properties: {
|
|
@@ -591,7 +558,7 @@ export declare function getCreativeSchema(): {
|
|
|
591
558
|
readonly minLength: 1;
|
|
592
559
|
readonly description: "继续已有创作或回答追问时使用的会话标识;首次请求和独立的新创作不传。";
|
|
593
560
|
};
|
|
594
|
-
readonly
|
|
561
|
+
readonly question_message_id: {
|
|
595
562
|
readonly type: "string";
|
|
596
563
|
readonly minLength: 1;
|
|
597
564
|
readonly description: "正在回答或跳过的追问消息标识,原样使用上一次 requires_input 输出中的值。";
|
|
@@ -602,7 +569,6 @@ export declare function getCreativeSchema(): {
|
|
|
602
569
|
readonly description: "对上一次 requires_input 输出中一个或多个问题的结构化回答。";
|
|
603
570
|
readonly items: {
|
|
604
571
|
readonly type: "object";
|
|
605
|
-
readonly description: "对一条 GD Agent 追问的回答。";
|
|
606
572
|
readonly additionalProperties: false;
|
|
607
573
|
readonly required: readonly ["question", "values"];
|
|
608
574
|
readonly properties: {
|
|
@@ -618,7 +584,6 @@ export declare function getCreativeSchema(): {
|
|
|
618
584
|
readonly items: {
|
|
619
585
|
readonly type: "string";
|
|
620
586
|
readonly minLength: 1;
|
|
621
|
-
readonly description: "一项非空的选择值或自定义回答。";
|
|
622
587
|
};
|
|
623
588
|
};
|
|
624
589
|
};
|
|
@@ -626,18 +591,15 @@ export declare function getCreativeSchema(): {
|
|
|
626
591
|
};
|
|
627
592
|
};
|
|
628
593
|
readonly anyOf: readonly [{
|
|
629
|
-
readonly description: "普通新创作或连续编辑必须提供 prompt。";
|
|
630
594
|
readonly required: readonly ["prompt"];
|
|
631
595
|
}, {
|
|
632
|
-
readonly
|
|
633
|
-
readonly required: readonly ["answers", "conversation_id", "last_tool_message_id"];
|
|
596
|
+
readonly required: readonly ["answers"];
|
|
634
597
|
}];
|
|
635
598
|
readonly dependentRequired: {
|
|
636
|
-
readonly answers: readonly ["conversation_id", "
|
|
637
|
-
readonly
|
|
599
|
+
readonly answers: readonly ["conversation_id", "question_message_id"];
|
|
600
|
+
readonly question_message_id: readonly ["conversation_id"];
|
|
638
601
|
};
|
|
639
602
|
readonly allOf: readonly [{
|
|
640
|
-
readonly description: "first_frame 最多出现一次。";
|
|
641
603
|
readonly properties: {
|
|
642
604
|
readonly media: {
|
|
643
605
|
readonly description: "用于检查首帧数量的素材列表。";
|
|
@@ -656,7 +618,6 @@ export declare function getCreativeSchema(): {
|
|
|
656
618
|
};
|
|
657
619
|
};
|
|
658
620
|
}, {
|
|
659
|
-
readonly description: "last_frame 最多出现一次。";
|
|
660
621
|
readonly properties: {
|
|
661
622
|
readonly media: {
|
|
662
623
|
readonly description: "用于检查尾帧数量的素材列表。";
|
|
@@ -679,7 +640,6 @@ export declare function getCreativeSchema(): {
|
|
|
679
640
|
output_schema: {
|
|
680
641
|
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
681
642
|
readonly $id: "https://www.gaoding.com/cli/schemas/creative-output-v1.json";
|
|
682
|
-
readonly title: "Creative Output";
|
|
683
643
|
readonly description: "creative run 的统一最终输出;中间事件和内部调用过程不属于本 Schema。";
|
|
684
644
|
readonly type: "object";
|
|
685
645
|
readonly additionalProperties: false;
|
|
@@ -692,19 +652,9 @@ export declare function getCreativeSchema(): {
|
|
|
692
652
|
};
|
|
693
653
|
readonly data: {
|
|
694
654
|
readonly description: "status 为 completed 时存在的 Creative 最终结果;failed 时为 null。";
|
|
695
|
-
readonly oneOf: readonly [{
|
|
696
|
-
readonly $ref: "#/$defs/result";
|
|
697
|
-
}, {
|
|
698
|
-
readonly type: "null";
|
|
699
|
-
}];
|
|
700
655
|
};
|
|
701
656
|
readonly error: {
|
|
702
657
|
readonly description: "status 为 failed 时存在的结构化错误;completed 时为 null。";
|
|
703
|
-
readonly oneOf: readonly [{
|
|
704
|
-
readonly $ref: "#/$defs/error";
|
|
705
|
-
}, {
|
|
706
|
-
readonly type: "null";
|
|
707
|
-
}];
|
|
708
658
|
};
|
|
709
659
|
readonly meta: {
|
|
710
660
|
readonly type: "object";
|
|
@@ -724,7 +674,6 @@ export declare function getCreativeSchema(): {
|
|
|
724
674
|
};
|
|
725
675
|
};
|
|
726
676
|
readonly oneOf: readonly [{
|
|
727
|
-
readonly description: "成功完成或需要使用者继续回答的结果。";
|
|
728
677
|
readonly properties: {
|
|
729
678
|
readonly status: {
|
|
730
679
|
readonly const: "completed";
|
|
@@ -740,7 +689,6 @@ export declare function getCreativeSchema(): {
|
|
|
740
689
|
};
|
|
741
690
|
};
|
|
742
691
|
}, {
|
|
743
|
-
readonly description: "校验、认证、业务或网络失败的结果。";
|
|
744
692
|
readonly properties: {
|
|
745
693
|
readonly status: {
|
|
746
694
|
readonly const: "failed";
|
|
@@ -759,7 +707,6 @@ export declare function getCreativeSchema(): {
|
|
|
759
707
|
readonly $defs: {
|
|
760
708
|
readonly result: {
|
|
761
709
|
readonly type: "object";
|
|
762
|
-
readonly description: "GD Agent 本轮的最终结果。";
|
|
763
710
|
readonly additionalProperties: false;
|
|
764
711
|
readonly required: readonly ["conversation_id", "finish_reason", "message", "outputs"];
|
|
765
712
|
readonly properties: {
|
|
@@ -782,10 +729,9 @@ export declare function getCreativeSchema(): {
|
|
|
782
729
|
readonly description: "本轮最终产出的文本、结构化数据或媒体。";
|
|
783
730
|
readonly items: {
|
|
784
731
|
readonly $ref: "#/$defs/output";
|
|
785
|
-
readonly description: "一项 Creative 最终产出。";
|
|
786
732
|
};
|
|
787
733
|
};
|
|
788
|
-
readonly
|
|
734
|
+
readonly question_message_id: {
|
|
789
735
|
readonly type: "string";
|
|
790
736
|
readonly minLength: 1;
|
|
791
737
|
readonly description: "requires_input 时必填,并在下一次请求中原样回传。";
|
|
@@ -805,12 +751,12 @@ export declare function getCreativeSchema(): {
|
|
|
805
751
|
};
|
|
806
752
|
};
|
|
807
753
|
readonly then: {
|
|
808
|
-
readonly required: readonly ["
|
|
754
|
+
readonly required: readonly ["question_message_id", "questions"];
|
|
809
755
|
};
|
|
810
756
|
readonly else: {
|
|
811
757
|
readonly not: {
|
|
812
758
|
readonly anyOf: readonly [{
|
|
813
|
-
readonly required: readonly ["
|
|
759
|
+
readonly required: readonly ["question_message_id"];
|
|
814
760
|
}, {
|
|
815
761
|
readonly required: readonly ["questions"];
|
|
816
762
|
}];
|
|
@@ -820,7 +766,6 @@ export declare function getCreativeSchema(): {
|
|
|
820
766
|
};
|
|
821
767
|
readonly question_group: {
|
|
822
768
|
readonly type: "object";
|
|
823
|
-
readonly description: "GD Agent 在本轮提出的一组问题。";
|
|
824
769
|
readonly additionalProperties: false;
|
|
825
770
|
readonly required: readonly ["title", "questions"];
|
|
826
771
|
readonly properties: {
|
|
@@ -834,7 +779,6 @@ export declare function getCreativeSchema(): {
|
|
|
834
779
|
readonly description: "需要使用者回答的一个或多个问题。";
|
|
835
780
|
readonly items: {
|
|
836
781
|
readonly type: "object";
|
|
837
|
-
readonly description: "一条 GD Agent 追问。";
|
|
838
782
|
readonly additionalProperties: false;
|
|
839
783
|
readonly required: readonly ["question", "options", "allow_multiple"];
|
|
840
784
|
readonly properties: {
|
|
@@ -848,7 +792,6 @@ export declare function getCreativeSchema(): {
|
|
|
848
792
|
readonly description: "推荐选项,可以为空;label 不是严格枚举。";
|
|
849
793
|
readonly items: {
|
|
850
794
|
readonly type: "object";
|
|
851
|
-
readonly description: "一项推荐回答。";
|
|
852
795
|
readonly additionalProperties: false;
|
|
853
796
|
readonly required: readonly ["label"];
|
|
854
797
|
readonly properties: {
|
|
@@ -870,10 +813,8 @@ export declare function getCreativeSchema(): {
|
|
|
870
813
|
};
|
|
871
814
|
};
|
|
872
815
|
readonly output: {
|
|
873
|
-
readonly description: "文本、JSON、图片、视频、音频或文件结果。";
|
|
874
816
|
readonly oneOf: readonly [{
|
|
875
817
|
readonly type: "object";
|
|
876
|
-
readonly description: "文本结果。";
|
|
877
818
|
readonly additionalProperties: false;
|
|
878
819
|
readonly required: readonly ["type", "text"];
|
|
879
820
|
readonly properties: {
|
|
@@ -888,7 +829,6 @@ export declare function getCreativeSchema(): {
|
|
|
888
829
|
};
|
|
889
830
|
}, {
|
|
890
831
|
readonly type: "object";
|
|
891
|
-
readonly description: "可机器解析的结构化结果。";
|
|
892
832
|
readonly additionalProperties: false;
|
|
893
833
|
readonly required: readonly ["type", "value"];
|
|
894
834
|
readonly properties: {
|
|
@@ -902,7 +842,6 @@ export declare function getCreativeSchema(): {
|
|
|
902
842
|
};
|
|
903
843
|
}, {
|
|
904
844
|
readonly type: "object";
|
|
905
|
-
readonly description: "最终媒体或文件结果。";
|
|
906
845
|
readonly additionalProperties: false;
|
|
907
846
|
readonly required: readonly ["type", "url", "mime_type"];
|
|
908
847
|
readonly properties: {
|
|
@@ -952,7 +891,6 @@ export declare function getCreativeSchema(): {
|
|
|
952
891
|
};
|
|
953
892
|
readonly error: {
|
|
954
893
|
readonly type: "object";
|
|
955
|
-
readonly description: "Creative 失败时的稳定错误信息。";
|
|
956
894
|
readonly additionalProperties: false;
|
|
957
895
|
readonly required: readonly ["code", "type", "message"];
|
|
958
896
|
readonly properties: {
|
|
@@ -989,12 +927,14 @@ export declare const CREATIVE_EXAMPLES: {
|
|
|
989
927
|
readonly examples: readonly [{
|
|
990
928
|
readonly name: "text_creation";
|
|
991
929
|
readonly description: "纯文本创作";
|
|
930
|
+
readonly command: "gd-cli creative run --prompt \"为一款轻量缓震跑鞋写三条电商主图标题,语言简洁有力。\" --json";
|
|
992
931
|
readonly input: {
|
|
993
932
|
readonly prompt: "为一款轻量缓震跑鞋写三条电商主图标题,语言简洁有力。";
|
|
994
933
|
};
|
|
995
934
|
}, {
|
|
996
935
|
readonly name: "image_with_reference";
|
|
997
936
|
readonly description: "使用参考图创作图片";
|
|
937
|
+
readonly command: "gd-cli creative run --input creative-request.json --json";
|
|
998
938
|
readonly input: {
|
|
999
939
|
readonly prompt: "以产品为主体生成一张户外晨跑场景广告图,保持鞋款外观和配色。";
|
|
1000
940
|
readonly media: readonly [{
|
|
@@ -1009,6 +949,7 @@ export declare const CREATIVE_EXAMPLES: {
|
|
|
1009
949
|
}, {
|
|
1010
950
|
readonly name: "video_with_first_and_last_frames";
|
|
1011
951
|
readonly description: "使用首尾帧创作视频";
|
|
952
|
+
readonly command: "gd-cli creative run --input creative-request.json --json";
|
|
1012
953
|
readonly input: {
|
|
1013
954
|
readonly prompt: "生成从清晨城市街道过渡到终点冲线的运动广告视频,镜头运动自然。";
|
|
1014
955
|
readonly media: readonly [{
|
|
@@ -1027,6 +968,7 @@ export declare const CREATIVE_EXAMPLES: {
|
|
|
1027
968
|
}, {
|
|
1028
969
|
readonly name: "continue_creation";
|
|
1029
970
|
readonly description: "继续修改已有创作";
|
|
971
|
+
readonly command: "gd-cli creative run --input creative-request.json --json";
|
|
1030
972
|
readonly input: {
|
|
1031
973
|
readonly conversation_id: "conversation_123";
|
|
1032
974
|
readonly prompt: "保留主体和构图,把整体风格调整得更克制,并降低背景饱和度。";
|
|
@@ -1034,9 +976,10 @@ export declare const CREATIVE_EXAMPLES: {
|
|
|
1034
976
|
}, {
|
|
1035
977
|
readonly name: "answer_questions";
|
|
1036
978
|
readonly description: "回答 GD Agent 的结构化追问";
|
|
979
|
+
readonly command: "gd-cli creative run --input creative-request.json --json";
|
|
1037
980
|
readonly input: {
|
|
1038
981
|
readonly conversation_id: "conversation_123";
|
|
1039
|
-
readonly
|
|
982
|
+
readonly question_message_id: "message_456";
|
|
1040
983
|
readonly answers: readonly [{
|
|
1041
984
|
readonly question: "希望采用什么视觉风格?";
|
|
1042
985
|
readonly values: readonly ["极简"];
|
|
@@ -1051,12 +994,14 @@ export declare function getCreativeExamples(): {
|
|
|
1051
994
|
readonly examples: readonly [{
|
|
1052
995
|
readonly name: "text_creation";
|
|
1053
996
|
readonly description: "纯文本创作";
|
|
997
|
+
readonly command: "gd-cli creative run --prompt \"为一款轻量缓震跑鞋写三条电商主图标题,语言简洁有力。\" --json";
|
|
1054
998
|
readonly input: {
|
|
1055
999
|
readonly prompt: "为一款轻量缓震跑鞋写三条电商主图标题,语言简洁有力。";
|
|
1056
1000
|
};
|
|
1057
1001
|
}, {
|
|
1058
1002
|
readonly name: "image_with_reference";
|
|
1059
1003
|
readonly description: "使用参考图创作图片";
|
|
1004
|
+
readonly command: "gd-cli creative run --input creative-request.json --json";
|
|
1060
1005
|
readonly input: {
|
|
1061
1006
|
readonly prompt: "以产品为主体生成一张户外晨跑场景广告图,保持鞋款外观和配色。";
|
|
1062
1007
|
readonly media: readonly [{
|
|
@@ -1071,6 +1016,7 @@ export declare function getCreativeExamples(): {
|
|
|
1071
1016
|
}, {
|
|
1072
1017
|
readonly name: "video_with_first_and_last_frames";
|
|
1073
1018
|
readonly description: "使用首尾帧创作视频";
|
|
1019
|
+
readonly command: "gd-cli creative run --input creative-request.json --json";
|
|
1074
1020
|
readonly input: {
|
|
1075
1021
|
readonly prompt: "生成从清晨城市街道过渡到终点冲线的运动广告视频,镜头运动自然。";
|
|
1076
1022
|
readonly media: readonly [{
|
|
@@ -1089,6 +1035,7 @@ export declare function getCreativeExamples(): {
|
|
|
1089
1035
|
}, {
|
|
1090
1036
|
readonly name: "continue_creation";
|
|
1091
1037
|
readonly description: "继续修改已有创作";
|
|
1038
|
+
readonly command: "gd-cli creative run --input creative-request.json --json";
|
|
1092
1039
|
readonly input: {
|
|
1093
1040
|
readonly conversation_id: "conversation_123";
|
|
1094
1041
|
readonly prompt: "保留主体和构图,把整体风格调整得更克制,并降低背景饱和度。";
|
|
@@ -1096,9 +1043,10 @@ export declare function getCreativeExamples(): {
|
|
|
1096
1043
|
}, {
|
|
1097
1044
|
readonly name: "answer_questions";
|
|
1098
1045
|
readonly description: "回答 GD Agent 的结构化追问";
|
|
1046
|
+
readonly command: "gd-cli creative run --input creative-request.json --json";
|
|
1099
1047
|
readonly input: {
|
|
1100
1048
|
readonly conversation_id: "conversation_123";
|
|
1101
|
-
readonly
|
|
1049
|
+
readonly question_message_id: "message_456";
|
|
1102
1050
|
readonly answers: readonly [{
|
|
1103
1051
|
readonly question: "希望采用什么视觉风格?";
|
|
1104
1052
|
readonly values: readonly ["极简"];
|