@lingjingai/scriptctl 0.62.2 → 0.62.3

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.
@@ -0,0 +1,60 @@
1
+ import { type JsonSchema, type LlmAdapter, type TextGenerationRequest, type TextGenerationResponse, type ToolGenerationRequest, type ToolGenerationResponse, type VideoGenerationResponse } from "../../llm/types.js";
2
+ export interface ArkResponse {
3
+ status?: string;
4
+ incomplete_details?: {
5
+ reason?: string;
6
+ };
7
+ output?: Array<{
8
+ type?: string;
9
+ content?: Array<{
10
+ type?: string;
11
+ text?: string;
12
+ }>;
13
+ }>;
14
+ usage?: {
15
+ input_tokens?: number;
16
+ output_tokens?: number;
17
+ };
18
+ }
19
+ export interface ArkFile {
20
+ id?: string;
21
+ status?: string;
22
+ }
23
+ export interface ArkClient {
24
+ uploadFile(params: {
25
+ filePath: string;
26
+ mimeType: string;
27
+ fps: number;
28
+ }): Promise<ArkFile>;
29
+ getFile(params: {
30
+ id: string;
31
+ }): Promise<ArkFile>;
32
+ createResponse(params: Record<string, unknown>, signal?: AbortSignal): Promise<ArkResponse>;
33
+ deleteFile(params: {
34
+ id: string;
35
+ }): Promise<void>;
36
+ }
37
+ export interface DoubaoRunRequest {
38
+ localPath: string;
39
+ localMime: string;
40
+ system?: string;
41
+ user: string;
42
+ fps: number;
43
+ maxOutputTokens: number;
44
+ responseJsonSchema?: JsonSchema;
45
+ signal?: AbortSignal;
46
+ }
47
+ export declare class DoubaoModel implements LlmAdapter {
48
+ private readonly model;
49
+ private readonly timeoutMs;
50
+ private readonly maxAttempts;
51
+ private readonly client;
52
+ constructor(model: string, timeoutMs: number, maxAttempts: number, apiKey: string, baseUrl: string, client?: ArkClient);
53
+ run(request: DoubaoRunRequest): Promise<VideoGenerationResponse>;
54
+ private pollActive;
55
+ private generateOnce;
56
+ generateText(request: TextGenerationRequest): Promise<TextGenerationResponse>;
57
+ generateTool(request: ToolGenerationRequest): Promise<ToolGenerationResponse>;
58
+ private textParams;
59
+ private generateResponse;
60
+ }
@@ -0,0 +1,250 @@
1
+ // Ark Responses adapter for text, structured tools, and uploaded video.
2
+ import * as fs from "node:fs";
3
+ import * as path from "node:path";
4
+ import { File } from "node:buffer";
5
+ import { Agent, fetch, FormData } from "undici";
6
+ import { LlmTransportError, } from "../../llm/types.js";
7
+ import { httpError, httpStatusOf, networkError } from "./failure-mapping.js";
8
+ import { addTokenUsage, withTransientRetry } from "./retry.js";
9
+ const POLL_INTERVAL_MS = 2000;
10
+ function delay(ms) {
11
+ return new Promise((resolve) => setTimeout(resolve, ms));
12
+ }
13
+ // Map an SDK/HTTP error to a transport error with the shared retry policy: retry
14
+ // only transient network/timeout/408/429/5xx.
15
+ function toArkError(error, signal, what, model) {
16
+ if (error instanceof LlmTransportError)
17
+ return error;
18
+ const message = error instanceof Error ? error.message : String(error);
19
+ const status = httpStatusOf(error);
20
+ const context = { provider: "doubao", model, operation: what };
21
+ if (status !== null) {
22
+ return httpError(status, `Doubao ${what} failed.`, message.slice(0, 500), context);
23
+ }
24
+ return networkError(error, signal, `Doubao ${what} failed.`, message.slice(0, 500), context);
25
+ }
26
+ function arkUsage(u) {
27
+ if (!u)
28
+ return {};
29
+ const num = (v) => (typeof v === "number" ? v : undefined);
30
+ return { inputTokens: num(u.input_tokens), outputTokens: num(u.output_tokens) };
31
+ }
32
+ // Concatenate every output_text across message items (reasoning items carry no
33
+ // output_text, so they are naturally skipped).
34
+ function extractText(res) {
35
+ const parts = [];
36
+ for (const item of res.output ?? []) {
37
+ if (item.type !== "message")
38
+ continue;
39
+ for (const c of item.content ?? []) {
40
+ if (c.type === "output_text" && typeof c.text === "string")
41
+ parts.push(c.text);
42
+ }
43
+ }
44
+ return parts.join("").trim();
45
+ }
46
+ export class DoubaoModel {
47
+ model;
48
+ timeoutMs;
49
+ maxAttempts;
50
+ client;
51
+ constructor(model, timeoutMs, maxAttempts, apiKey, baseUrl, client) {
52
+ this.model = model;
53
+ this.timeoutMs = timeoutMs;
54
+ this.maxAttempts = maxAttempts;
55
+ this.client = client ?? createArkClient(apiKey, baseUrl, timeoutMs);
56
+ }
57
+ // upload local transcode → poll ACTIVE → respond → best-effort delete.
58
+ async run(request) {
59
+ const { value: file } = await withTransientRetry(this.maxAttempts, async () => {
60
+ try {
61
+ return await this.client.uploadFile({ filePath: request.localPath, mimeType: request.localMime, fps: request.fps });
62
+ }
63
+ catch (error) {
64
+ throw toArkError(error, request.signal, "upload", this.model);
65
+ }
66
+ });
67
+ if (!file.id)
68
+ throw new LlmTransportError("invalid_response", "Doubao upload returned no file id.");
69
+ const active = await this.pollActive(file.id, request.signal);
70
+ try {
71
+ return await this.generateOnce(active, request);
72
+ }
73
+ finally {
74
+ await this.client.deleteFile({ id: active }).catch(() => { }); // cleanup is best-effort
75
+ }
76
+ }
77
+ async pollActive(id, signal) {
78
+ const deadline = Date.now() + this.timeoutMs;
79
+ let status = "processing";
80
+ while (status === "processing" || status === "") {
81
+ if (signal?.aborted) {
82
+ throw new LlmTransportError("cancelled", "Doubao upload aborted.", {
83
+ context: { provider: "doubao", model: this.model, operation: "file_poll" },
84
+ });
85
+ }
86
+ if (Date.now() >= deadline) {
87
+ throw new LlmTransportError("timeout", "Doubao file processing timed out.", {
88
+ retryable: true,
89
+ classification: { failure_type: "timeout", failure_code: "media_processing_timeout" },
90
+ context: { provider: "doubao", model: this.model, operation: "file_poll" },
91
+ });
92
+ }
93
+ await delay(POLL_INTERVAL_MS);
94
+ let file;
95
+ try {
96
+ file = await this.client.getFile({ id });
97
+ }
98
+ catch (error) {
99
+ throw toArkError(error, signal, "file_poll", this.model);
100
+ }
101
+ status = (file.status ?? "").toLowerCase();
102
+ }
103
+ if (status === "failed" || status === "error") {
104
+ throw new LlmTransportError("invalid_response", "Doubao file processing failed.", {
105
+ classification: { failure_type: "media", failure_code: "media_processing_failed" },
106
+ context: { provider: "doubao", model: this.model, operation: "file_poll" },
107
+ });
108
+ }
109
+ return id;
110
+ }
111
+ async generateOnce(fileId, request) {
112
+ const params = {
113
+ model: this.model,
114
+ max_output_tokens: request.maxOutputTokens,
115
+ input: [{ role: "user", content: [
116
+ { type: "input_video", file_id: fileId },
117
+ { type: "input_text", text: request.user },
118
+ ] }],
119
+ };
120
+ if (request.system?.trim())
121
+ params["instructions"] = request.system;
122
+ if (request.responseJsonSchema) {
123
+ params["text"] = { format: { type: "json_schema", name: "video_serial", schema: request.responseJsonSchema } };
124
+ }
125
+ return this.generateResponse(params, request.signal, Boolean(request.responseJsonSchema));
126
+ }
127
+ async generateText(request) {
128
+ const params = this.textParams(request);
129
+ if (request.responseFormat)
130
+ params["text"] = { format: { type: request.responseFormat } };
131
+ return this.generateResponse(params, request.signal, Boolean(request.responseFormat));
132
+ }
133
+ async generateTool(request) {
134
+ const params = this.textParams(request);
135
+ params["text"] = { format: {
136
+ type: "json_schema", name: request.tool.name,
137
+ description: request.tool.description, schema: request.tool.inputSchema,
138
+ } };
139
+ const response = await this.generateResponse(params, request.signal, true);
140
+ return { input: JSON.parse(response.text), finishReason: response.finishReason,
141
+ attempts: response.attempts, usage: response.usage, raw: response.raw };
142
+ }
143
+ textParams(request) {
144
+ return {
145
+ model: this.model, max_output_tokens: request.maxOutputTokens,
146
+ instructions: request.system,
147
+ input: [{ role: "user", content: [{ type: "input_text", text: request.user }] }],
148
+ };
149
+ }
150
+ async generateResponse(params, signal, structured) {
151
+ const { value, attempts, failedUsage } = await withTransientRetry(this.maxAttempts, async () => {
152
+ let res;
153
+ try {
154
+ res = await this.client.createResponse(params, signal);
155
+ }
156
+ catch (error) {
157
+ throw toArkError(error, signal, "generate", this.model);
158
+ }
159
+ const status = (res.status ?? "").toLowerCase();
160
+ const usage = arkUsage(res.usage);
161
+ if (status === "incomplete") {
162
+ const reason = res.incomplete_details?.reason ?? "unknown";
163
+ if (reason === "max_output_tokens")
164
+ throw new LlmTransportError("truncated", "Doubao output was truncated.", { usage });
165
+ throw new LlmTransportError("content_filtered", `Doubao response incomplete (reason=${reason}).`, { usage });
166
+ }
167
+ const text = extractText(res);
168
+ if (!text)
169
+ throw new LlmTransportError("empty_response", "Doubao returned an empty response.", { retryable: true, usage });
170
+ if (structured) {
171
+ try {
172
+ JSON.parse(text);
173
+ }
174
+ catch {
175
+ throw new LlmTransportError("invalid_response", "Doubao returned malformed JSON for a structured response.", {
176
+ retryable: true,
177
+ usage,
178
+ context: { provider: "doubao", model: this.model, operation: "generate" },
179
+ });
180
+ }
181
+ }
182
+ return { text, usage, raw: res };
183
+ });
184
+ return { text: value.text, finishReason: "STOP", attempts, usage: addTokenUsage(failedUsage, value.usage), raw: value.raw };
185
+ }
186
+ }
187
+ // Real HTTP client over the Ark REST API using global fetch (Node 18+). No SDK
188
+ // dependency — the surface is tiny (4 calls) and multipart upload is trivial.
189
+ class HttpError extends Error {
190
+ status;
191
+ constructor(status, message) {
192
+ super(message);
193
+ this.status = status;
194
+ this.name = "HttpError";
195
+ }
196
+ }
197
+ function createArkClient(apiKey, baseUrl, timeoutMs) {
198
+ const root = baseUrl.replace(/\/$/, "");
199
+ const auth = { Authorization: `Bearer ${apiKey}` };
200
+ // Node's global fetch uses Undici's 5-minute response-header timeout even
201
+ // when the AbortSignal allows a longer model request. Ark video responses
202
+ // can legitimately take longer, so keep the transport deadline aligned with
203
+ // the provider timeout instead of failing every retry at exactly 5 minutes.
204
+ const dispatcher = new Agent({ headersTimeout: timeoutMs, bodyTimeout: timeoutMs });
205
+ function signalFor(extra) {
206
+ const timeout = AbortSignal.timeout(timeoutMs);
207
+ return extra ? AbortSignal.any([extra, timeout]) : timeout;
208
+ }
209
+ async function readError(res) {
210
+ const body = await res.text().catch(() => "");
211
+ throw new HttpError(res.status, body.slice(0, 500));
212
+ }
213
+ return {
214
+ async uploadFile({ filePath, mimeType, fps }) {
215
+ const form = new FormData();
216
+ const bytes = fs.readFileSync(filePath);
217
+ form.append("file", new File([bytes], path.basename(filePath), { type: mimeType }));
218
+ form.append("purpose", "user_data");
219
+ form.append("preprocess_configs[video][fps]", String(fps));
220
+ const res = await fetch(`${root}/files`, { method: "POST", headers: auth, body: form, signal: signalFor(), dispatcher });
221
+ if (!res.ok)
222
+ await readError(res);
223
+ return (await res.json());
224
+ },
225
+ async getFile({ id }) {
226
+ const res = await fetch(`${root}/files/${id}`, { headers: auth, signal: signalFor(), dispatcher });
227
+ if (!res.ok)
228
+ await readError(res);
229
+ return (await res.json());
230
+ },
231
+ async createResponse(params, signal) {
232
+ const res = await fetch(`${root}/responses`, {
233
+ method: "POST",
234
+ headers: { ...auth, "Content-Type": "application/json" },
235
+ body: JSON.stringify(params),
236
+ signal: signalFor(signal),
237
+ dispatcher,
238
+ });
239
+ if (!res.ok)
240
+ await readError(res);
241
+ return (await res.json());
242
+ },
243
+ async deleteFile({ id }) {
244
+ const res = await fetch(`${root}/files/${id}`, { method: "DELETE", headers: auth, signal: signalFor(), dispatcher });
245
+ if (!res.ok)
246
+ await readError(res);
247
+ },
248
+ };
249
+ }
250
+ //# sourceMappingURL=doubao-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doubao-model.js","sourceRoot":"","sources":["../../../src/infra/llm/doubao-model.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { type DoubaoRunRequest } from "../infra/llm/doubao-video-model.js";
1
+ import { type DoubaoRunRequest } from "../infra/llm/doubao-model.js";
2
2
  import { type LlmModelConfig, type LlmProviderConfig, type ResolvedLlmConfig } from "./config.js";
3
- import type { LlmExecutorOptions, LlmRouteInfo, LlmRouteUsage, LlmTaskExecutor, LlmTaskId, LlmUsageEvent, TaskVideoPort, TextGenerationRequest, TextGenerationResponse, ToolGenerationRequest, ToolGenerationResponse, VideoUnderstandingPort, VideoGenerationResponse } from "./types.js";
3
+ import type { LlmAdapter, LlmExecutorOptions, LlmRouteInfo, LlmRouteUsage, LlmTaskExecutor, LlmTaskId, LlmUsageEvent, TaskVideoPort, TextGenerationRequest, TextGenerationResponse, ToolGenerationRequest, ToolGenerationResponse, VideoUnderstandingPort, VideoGenerationResponse } from "./types.js";
4
4
  export interface ResolvedRoute {
5
5
  info: LlmRouteInfo;
6
6
  providerConfig: LlmProviderConfig;
@@ -38,7 +38,10 @@ export declare class ModelRouter implements LlmTaskExecutor {
38
38
  private videoCredential;
39
39
  videoPort(task: LlmTaskId): TaskVideoPort;
40
40
  protected doubaoAdapter(route?: ResolvedRoute): DoubaoVideoRunner | null;
41
+ protected doubaoTextAdapter(): LlmAdapter | null;
42
+ private arkAdapter;
41
43
  protected doubaoModel(): string;
44
+ private withModerationFallback;
42
45
  generateText(task: LlmTaskId, request: Omit<TextGenerationRequest, "maxOutputTokens">): Promise<TextGenerationResponse>;
43
46
  generateTool(task: LlmTaskId, request: Omit<ToolGenerationRequest, "maxOutputTokens">): Promise<ToolGenerationResponse>;
44
47
  }
@@ -2,7 +2,7 @@ import * as crypto from "node:crypto";
2
2
  import { CliError, EXIT_INPUT, EXIT_RUNTIME } from "../common.js";
3
3
  import { aggregateFailures, classificationOf, contextOf, createOperationalFailure, formatFailure, } from "../failures.js";
4
4
  import { AnthropicModel } from "../infra/llm/anthropic-model.js";
5
- import { DoubaoVideoModel, } from "../infra/llm/doubao-video-model.js";
5
+ import { DoubaoModel, } from "../infra/llm/doubao-model.js";
6
6
  import { GeminiVideoModel } from "../infra/llm/gemini-video-model.js";
7
7
  import { OpenAiCompatibleModel } from "../infra/llm/openai-compatible-model.js";
8
8
  import { loadLlmConfig, normalizeProviderBaseUrl, } from "./config.js";
@@ -505,6 +505,12 @@ export class ModelRouter {
505
505
  // Resolve an explicit Doubao route or the default fallback; absent fallback credentials skip it.
506
506
  // Overridable in tests to inject a fake Ark client.
507
507
  doubaoAdapter(route) {
508
+ return this.arkAdapter(route);
509
+ }
510
+ doubaoTextAdapter() {
511
+ return this.arkAdapter();
512
+ }
513
+ arkAdapter(route) {
508
514
  const apiKey = route ? this.videoCredential(route) : (process.env[DOUBAO_FALLBACK.apiKeyEnv] ?? "").trim();
509
515
  if (!apiKey)
510
516
  return null;
@@ -514,7 +520,7 @@ export class ModelRouter {
514
520
  const cached = this.doubaoAdapters.get(key);
515
521
  if (cached)
516
522
  return cached;
517
- const adapter = new DoubaoVideoModel(model, DOUBAO_FALLBACK.timeoutMs, DOUBAO_FALLBACK.maxAttempts, apiKey, baseUrl);
523
+ const adapter = new DoubaoModel(model, DOUBAO_FALLBACK.timeoutMs, DOUBAO_FALLBACK.maxAttempts, apiKey, baseUrl);
518
524
  this.doubaoAdapters.set(key, adapter);
519
525
  return adapter;
520
526
  }
@@ -522,21 +528,33 @@ export class ModelRouter {
522
528
  doubaoModel() {
523
529
  return (process.env[DOUBAO_FALLBACK.modelEnv] ?? "").trim() || DOUBAO_FALLBACK.model;
524
530
  }
531
+ async withModerationFallback(task, signal, generate) {
532
+ const route = this.resolve(task);
533
+ const adapter = this.adapter(route);
534
+ try {
535
+ return await this.tracked(route.info, () => generate(adapter));
536
+ }
537
+ catch (error) {
538
+ if (signal?.aborted || !(error instanceof LlmTransportError) || error.code !== "content_filtered")
539
+ throw error;
540
+ const doubao = this.doubaoTextAdapter();
541
+ if (!doubao)
542
+ throw error;
543
+ process.stderr.write(`↪️ 文本内容审核拒绝,回退到豆包 ${this.doubaoModel()}\n`);
544
+ return this.tracked(this.doubaoRoute(task), () => generate(doubao));
545
+ }
546
+ }
525
547
  async generateText(task, request) {
526
548
  const spec = LLM_TASK_REGISTRY[task];
527
549
  if (spec.mode !== "text")
528
550
  throw configRuntimeError("The task does not support text generation.", ["text task"], [`task: ${task}`]);
529
- const route = this.resolve(task);
530
- const adapter = this.adapter(route);
531
- return this.tracked(route.info, () => adapter.generateText({ ...request, maxOutputTokens: spec.maxOutputTokens }));
551
+ return this.withModerationFallback(task, request.signal, (adapter) => adapter.generateText({ ...request, maxOutputTokens: spec.maxOutputTokens }));
532
552
  }
533
553
  async generateTool(task, request) {
534
554
  const spec = LLM_TASK_REGISTRY[task];
535
555
  if (spec.mode !== "tool")
536
556
  throw configRuntimeError("The task does not support tool generation.", ["tool task"], [`task: ${task}`]);
537
- const route = this.resolve(task);
538
- const adapter = this.adapter(route);
539
- return this.tracked(route.info, () => adapter.generateTool({ ...request, maxOutputTokens: spec.maxOutputTokens }));
557
+ return this.withModerationFallback(task, request.signal, (adapter) => adapter.generateTool({ ...request, maxOutputTokens: spec.maxOutputTokens }));
540
558
  }
541
559
  }
542
560
  export function createLlmExecutor(explicitConfigPath, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lingjingai/scriptctl",
3
- "version": "0.62.2",
3
+ "version": "0.62.3",
4
4
  "description": "剧本阶段统一 CLI:素材转 Script v4,并兼容 Script v3 的本地写作、精修、校验和发布。",
5
5
  "type": "module",
6
6
  "bin": {