@lingjingai/scriptctl 0.54.0 → 0.56.0

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.
Files changed (54) hide show
  1. package/changes/0.55.0.md +22 -0
  2. package/changes/0.56.0.md +13 -0
  3. package/dist/cli/register-workflows.js +6 -0
  4. package/dist/cli/register-workflows.js.map +1 -1
  5. package/dist/domain/ingest/video-context.d.ts +1 -1
  6. package/dist/domain/ingest/video-context.js +77 -44
  7. package/dist/domain/ingest/video-context.js.map +1 -1
  8. package/dist/domain/ingest/video-serial-md.d.ts +6 -5
  9. package/dist/domain/ingest/video-serial-md.js +7 -7
  10. package/dist/domain/ingest/video-serial-md.js.map +1 -1
  11. package/dist/failures.d.ts +58 -0
  12. package/dist/failures.js +96 -0
  13. package/dist/failures.js.map +1 -0
  14. package/dist/infra/llm/doubao-video-model.js +25 -24
  15. package/dist/infra/llm/doubao-video-model.js.map +1 -1
  16. package/dist/infra/llm/failure-mapping.d.ts +6 -0
  17. package/dist/infra/llm/failure-mapping.js +146 -0
  18. package/dist/infra/llm/failure-mapping.js.map +1 -0
  19. package/dist/infra/llm/gemini-upload.d.ts +4 -0
  20. package/dist/infra/llm/gemini-upload.js +63 -19
  21. package/dist/infra/llm/gemini-upload.js.map +1 -1
  22. package/dist/infra/llm/gemini-video-model.d.ts +9 -10
  23. package/dist/infra/llm/gemini-video-model.js +175 -52
  24. package/dist/infra/llm/gemini-video-model.js.map +1 -1
  25. package/dist/llm/composition.d.ts +2 -2
  26. package/dist/llm/config.d.ts +1 -0
  27. package/dist/llm/config.js +4 -1
  28. package/dist/llm/config.js.map +1 -1
  29. package/dist/llm/router.d.ts +11 -7
  30. package/dist/llm/router.js +89 -27
  31. package/dist/llm/router.js.map +1 -1
  32. package/dist/llm/tasks/ingest/video-serial.d.ts +2 -2
  33. package/dist/llm/tasks/ingest/video-serial.js +26 -21
  34. package/dist/llm/tasks/ingest/video-serial.js.map +1 -1
  35. package/dist/llm/tasks/schemas.js +16 -16
  36. package/dist/llm/tasks/schemas.js.map +1 -1
  37. package/dist/llm/types.d.ts +45 -12
  38. package/dist/llm/types.js +27 -0
  39. package/dist/llm/types.js.map +1 -1
  40. package/dist/usecases/ingest/command.js +91 -2
  41. package/dist/usecases/ingest/command.js.map +1 -1
  42. package/dist/usecases/ingest/failure.d.ts +26 -0
  43. package/dist/usecases/ingest/failure.js +149 -0
  44. package/dist/usecases/ingest/failure.js.map +1 -0
  45. package/dist/usecases/ingest/status.d.ts +13 -5
  46. package/dist/usecases/ingest/status.js +103 -17
  47. package/dist/usecases/ingest/status.js.map +1 -1
  48. package/dist/usecases/ingest/video-pipeline.d.ts +9 -1
  49. package/dist/usecases/ingest/video-pipeline.js +85 -26
  50. package/dist/usecases/ingest/video-pipeline.js.map +1 -1
  51. package/package.json +1 -1
  52. package/skills/scriptctl/SKILL.md +1 -1
  53. package/skills/scriptctl/references/ingest-workflow.md +52 -5
  54. package/skills/scriptctl/references/production-writing-standard.md +5 -0
@@ -1,5 +1,6 @@
1
+ import type { Candidate, GenerateContentResponsePromptFeedback, GenerateContentResponseUsageMetadata } from "@google/genai";
1
2
  import type { LlmModelConfig, LlmProviderConfig } from "../../llm/config.js";
2
- import { type VideoFileHandle, type VideoGenerationRequest, type VideoGenerationResponse, type VideoUnderstandingPort } from "../../llm/types.js";
3
+ import { type VideoMediaInput, type VideoGenerationRequest, type VideoGenerationResponse, type VideoUnderstandingPort } from "../../llm/types.js";
3
4
  export interface GeminiFile {
4
5
  name?: string;
5
6
  uri?: string;
@@ -11,13 +12,9 @@ export interface GeminiFile {
11
12
  }
12
13
  export interface GeminiGenerateResponse {
13
14
  text?: string;
14
- candidates?: Array<{
15
- finishReason?: string;
16
- }>;
17
- promptFeedback?: {
18
- blockReason?: string;
19
- };
20
- usageMetadata?: unknown;
15
+ candidates?: Candidate[];
16
+ promptFeedback?: GenerateContentResponsePromptFeedback;
17
+ usageMetadata?: GenerateContentResponseUsageMetadata;
21
18
  }
22
19
  export interface GeminiClient {
23
20
  files: {
@@ -41,10 +38,12 @@ export interface GeminiClient {
41
38
  export declare class GeminiVideoModel implements VideoUnderstandingPort {
42
39
  private readonly provider;
43
40
  private readonly model;
41
+ private readonly apiKey;
44
42
  private readonly client;
45
43
  constructor(provider: LlmProviderConfig, model: LlmModelConfig, apiKey: string, client?: GeminiClient);
46
- upload(localPath: string, mimeType: string, signal?: AbortSignal): Promise<VideoFileHandle>;
44
+ prepare(localPath: string, mimeType: string, mode: "file-api" | "base64", signal?: AbortSignal): Promise<VideoMediaInput>;
45
+ private uploadFile;
47
46
  private pollActive;
48
47
  generate(request: VideoGenerationRequest): Promise<VideoGenerationResponse>;
49
- delete(handle: VideoFileHandle, signal?: AbortSignal): Promise<void>;
48
+ release(media: VideoMediaInput, signal?: AbortSignal): Promise<void>;
50
49
  }
@@ -4,12 +4,66 @@
4
4
  // adapter owns transport only — it never builds business prompts or imports the
5
5
  // ingest domain. The Google SDK is reached through a narrow structural client so
6
6
  // tests inject a fake and never hit the network.
7
+ import * as fs from "node:fs";
7
8
  import { createRequire } from "node:module";
9
+ import { classificationOf, contextOf, } from "../../failures.js";
8
10
  import { LlmTransportError, } from "../../llm/types.js";
9
- import { resumableUpload } from "./gemini-upload.js";
11
+ import { redactCredential, resumableUpload } from "./gemini-upload.js";
12
+ import { httpError, httpStatusOf, networkError } from "./failure-mapping.js";
10
13
  import { addTokenUsage, withTransientRetry } from "./retry.js";
11
14
  // finishReasons that yield empty text but are terminal: retry/resume never clears them.
12
- const FILTERED_FINISH = new Set(["SAFETY", "PROHIBITED_CONTENT", "RECITATION", "BLOCKLIST", "SPII", "IMAGE_SAFETY"]);
15
+ const FILTERED_FINISH = new Set([
16
+ "SAFETY",
17
+ "PROHIBITED_CONTENT",
18
+ "RECITATION",
19
+ "BLOCKLIST",
20
+ "SPII",
21
+ "IMAGE_SAFETY",
22
+ "IMAGE_PROHIBITED_CONTENT",
23
+ "IMAGE_RECITATION",
24
+ "ESCALATION",
25
+ ]);
26
+ const TERMINAL_RESPONSE_FINISH = new Set([
27
+ "LANGUAGE",
28
+ "OTHER",
29
+ "MALFORMED_FUNCTION_CALL",
30
+ "IMAGE_OTHER",
31
+ "NO_IMAGE",
32
+ "UNEXPECTED_TOOL_CALL",
33
+ "TOO_MANY_TOOL_CALLS",
34
+ "MISSING_THOUGHT_SIGNATURE",
35
+ "MALFORMED_RESPONSE",
36
+ ]);
37
+ function policyReason(raw) {
38
+ switch (raw) {
39
+ case "SAFETY":
40
+ case "PROHIBITED_CONTENT":
41
+ case "BLOCKLIST":
42
+ case "SPII":
43
+ case "RECITATION":
44
+ case "IMAGE_SAFETY":
45
+ case "IMAGE_PROHIBITED_CONTENT":
46
+ case "IMAGE_RECITATION":
47
+ case "ESCALATION":
48
+ case "OTHER":
49
+ return raw;
50
+ case "":
51
+ case "BLOCK_REASON_UNSPECIFIED":
52
+ case "FINISH_REASON_UNSPECIFIED":
53
+ return "UNSPECIFIED";
54
+ default:
55
+ return "UNKNOWN";
56
+ }
57
+ }
58
+ function safetyRatings(values) {
59
+ if (!values?.length)
60
+ return undefined;
61
+ return values.map((rating) => ({
62
+ category: rating.category ?? "UNSPECIFIED",
63
+ probability: rating.probability ?? "UNSPECIFIED",
64
+ blocked: rating.blocked ?? false,
65
+ }));
66
+ }
13
67
  // Gemini reports usageMetadata.{promptTokenCount,candidatesTokenCount}. promptTokenCount
14
68
  // already includes the (large) video token count. Missing → undefined → counted as zero.
15
69
  function geminiUsage(meta) {
@@ -25,51 +79,60 @@ const POLL_INTERVAL_MS = 2000;
25
79
  function delay(ms) {
26
80
  return new Promise((resolve) => setTimeout(resolve, ms));
27
81
  }
28
- function statusOf(error) {
29
- if (error && typeof error === "object" && typeof error.status === "number") {
30
- return error.status;
31
- }
32
- return null;
33
- }
34
82
  // Map an SDK/network error to a transport error with the same retry policy as
35
83
  // the other adapters: retry only transient network/timeout/408/429/5xx.
36
- function toTransportError(error, signal, what) {
37
- if (error instanceof LlmTransportError)
38
- return error;
39
- const message = error instanceof Error ? error.message : String(error);
40
- const status = statusOf(error);
84
+ function toTransportError(error, signal, what, credential, provider, model) {
85
+ if (error instanceof LlmTransportError) {
86
+ return new LlmTransportError(error.code, redactCredential(error.message, credential), {
87
+ retryable: error.retryable,
88
+ details: error.details.map((detail) => redactCredential(detail, credential)),
89
+ attempts: error.attempts,
90
+ usage: error.usage,
91
+ classification: classificationOf(error.failure),
92
+ context: { ...contextOf(error.failure), provider, model, operation: what },
93
+ modelFailures: error.modelFailures,
94
+ });
95
+ }
96
+ const message = redactCredential(error instanceof Error ? error.message : String(error), credential);
97
+ const status = httpStatusOf(error);
98
+ const context = { provider, model, operation: what };
41
99
  if (status !== null) {
42
- const retryable = status === 408 || status === 429 || status >= 500;
43
- const code = status === 401 || status === 403 ? "auth" : status === 429 ? "rate_limited" : "request_failed";
44
- return new LlmTransportError(code, `Gemini ${what} failed.`, { retryable, details: [`status: ${status}`, message.slice(0, 500)] });
100
+ return httpError(status, `Gemini ${what} failed.`, message.slice(0, 500), context);
45
101
  }
46
- const aborted = signal?.aborted ?? false;
47
- return new LlmTransportError(aborted ? "request_failed" : "timeout", `Gemini ${what} failed.`, {
48
- retryable: !aborted,
49
- details: [message.slice(0, 500)],
50
- });
102
+ return networkError(error, signal, `Gemini ${what} failed.`, message.slice(0, 500), context);
51
103
  }
52
104
  export class GeminiVideoModel {
53
105
  provider;
54
106
  model;
107
+ apiKey;
55
108
  client;
56
109
  constructor(provider, model, apiKey, client) {
57
110
  this.provider = provider;
58
111
  this.model = model;
59
- this.client = client ?? createGoogleClient(apiKey, provider.timeoutMs);
112
+ this.apiKey = apiKey;
113
+ this.client = client ?? createGoogleClient(apiKey, provider.timeoutMs, provider.baseUrl);
60
114
  }
61
- async upload(localPath, mimeType, signal) {
115
+ async prepare(localPath, mimeType, mode, signal) {
116
+ if (mode === "base64") {
117
+ return { kind: "base64", data: fs.readFileSync(localPath, "base64"), mimeType };
118
+ }
119
+ const file = await this.uploadFile(localPath, mimeType, signal);
120
+ return { kind: "file-api", file };
121
+ }
122
+ async uploadFile(localPath, mimeType, signal) {
62
123
  const { value: file } = await withTransientRetry(this.provider.maxAttempts, async () => {
63
124
  try {
64
125
  return await this.client.files.upload({ file: localPath, config: { mimeType } });
65
126
  }
66
127
  catch (error) {
67
- throw toTransportError(error, signal, "upload");
128
+ throw toTransportError(error, signal, "upload", this.apiKey, this.model.provider, this.model.model);
68
129
  }
69
130
  });
70
131
  const active = await this.pollActive(file, signal);
71
132
  if (!active.name || !active.uri) {
72
- throw new LlmTransportError("invalid_response", "Gemini upload returned no file reference.");
133
+ throw new LlmTransportError("invalid_response", "Gemini upload returned no file reference.", {
134
+ context: { provider: this.model.provider, model: this.model.model, operation: "upload" },
135
+ });
73
136
  }
74
137
  return { name: active.name, uri: active.uri, mimeType: active.mimeType ?? mimeType };
75
138
  }
@@ -78,22 +141,37 @@ export class GeminiVideoModel {
78
141
  const deadline = Date.now() + this.provider.timeoutMs;
79
142
  // Media-processing failure is terminal — never retried (§12.3).
80
143
  while ((file.state ?? "").toUpperCase() === "PROCESSING") {
81
- if (signal?.aborted)
82
- throw new LlmTransportError("request_failed", "Gemini upload aborted.");
83
- if (Date.now() >= deadline)
84
- throw new LlmTransportError("timeout", "Gemini file processing timed out.");
144
+ if (signal?.aborted) {
145
+ throw new LlmTransportError("cancelled", "Gemini upload aborted.", {
146
+ context: { provider: this.model.provider, model: this.model.model, operation: "file_poll" },
147
+ });
148
+ }
149
+ if (Date.now() >= deadline) {
150
+ throw new LlmTransportError("timeout", "Gemini file processing timed out.", {
151
+ retryable: true,
152
+ classification: { failure_type: "timeout", failure_code: "media_processing_timeout" },
153
+ context: { provider: this.model.provider, model: this.model.model, operation: "file_poll" },
154
+ });
155
+ }
85
156
  await delay(POLL_INTERVAL_MS);
86
- if (!file.name)
87
- throw new LlmTransportError("invalid_response", "Gemini upload returned no file name to poll.");
157
+ if (!file.name) {
158
+ throw new LlmTransportError("invalid_response", "Gemini upload returned no file name to poll.", {
159
+ context: { provider: this.model.provider, model: this.model.model, operation: "file_poll" },
160
+ });
161
+ }
88
162
  try {
89
163
  file = await this.client.files.get({ name: file.name });
90
164
  }
91
165
  catch (error) {
92
- throw toTransportError(error, signal, "file poll");
166
+ throw toTransportError(error, signal, "file_poll", this.apiKey, this.model.provider, this.model.model);
93
167
  }
94
168
  }
95
169
  if ((file.state ?? "").toUpperCase() === "FAILED") {
96
- throw new LlmTransportError("invalid_response", "Gemini file processing failed.", { details: [file.error?.message ?? "unknown media error"] });
170
+ throw new LlmTransportError("invalid_response", "Gemini file processing failed.", {
171
+ details: [redactCredential(file.error?.message ?? "unknown media error", this.apiKey)],
172
+ classification: { failure_type: "media", failure_code: "media_processing_failed" },
173
+ context: { provider: this.model.provider, model: this.model.model, operation: "file_poll" },
174
+ });
97
175
  }
98
176
  return file;
99
177
  }
@@ -115,9 +193,10 @@ export class GeminiVideoModel {
115
193
  contents: [{
116
194
  role: "user",
117
195
  parts: [
196
+ request.media.kind === "file-api"
197
+ ? { fileData: { fileUri: request.media.file.uri, mimeType: request.media.file.mimeType }, videoMetadata: { fps: request.fps } }
198
+ : { inlineData: { data: request.media.data, mimeType: request.media.mimeType }, videoMetadata: { fps: request.fps } },
118
199
  { text: request.user },
119
- // fps is part-level; >1 fps sharpens second-level MM:SS timing (§10.3).
120
- { fileData: { fileUri: request.file.uri, mimeType: request.file.mimeType }, videoMetadata: { fps: request.fps } },
121
200
  ],
122
201
  }],
123
202
  config,
@@ -128,33 +207,67 @@ export class GeminiVideoModel {
128
207
  response = await this.client.models.generateContent(params);
129
208
  }
130
209
  catch (error) {
131
- throw toTransportError(error, request.signal, "generateContent");
210
+ throw toTransportError(error, request.signal, "generate", this.apiKey, this.model.provider, this.model.model);
132
211
  }
133
- const finishReason = response.candidates?.[0]?.finishReason ?? "";
212
+ const candidate = response.candidates?.[0];
213
+ const finishReason = candidate?.finishReason ?? "";
134
214
  const blockReason = response.promptFeedback?.blockReason ?? "";
135
215
  const usage = geminiUsage(response.usageMetadata);
136
- if (finishReason === "MAX_TOKENS")
137
- throw new LlmTransportError("truncated", "Gemini output was truncated.", { usage });
216
+ const baseContext = { provider: this.model.provider, model: this.model.model, operation: "generate" };
217
+ if (finishReason === "MAX_TOKENS") {
218
+ throw new LlmTransportError("truncated", "Gemini output was truncated.", { usage, context: baseContext });
219
+ }
220
+ if (blockReason) {
221
+ throw new LlmTransportError("content_filtered", `Gemini blocked the prompt (blockReason=${blockReason}).`, {
222
+ usage,
223
+ classification: { failure_type: "policy", failure_code: "content_blocked" },
224
+ context: {
225
+ ...baseContext,
226
+ provider_source: "prompt",
227
+ provider_reason: policyReason(blockReason),
228
+ ...(policyReason(blockReason) === "UNKNOWN" ? { provider_reason_raw: blockReason } : {}),
229
+ safety_ratings: safetyRatings(response.promptFeedback?.safetyRatings),
230
+ },
231
+ });
232
+ }
233
+ if (FILTERED_FINISH.has(finishReason)) {
234
+ throw new LlmTransportError("content_filtered", `Gemini filtered the response (finishReason=${finishReason}).`, {
235
+ usage,
236
+ classification: { failure_type: "policy", failure_code: "content_blocked" },
237
+ context: {
238
+ ...baseContext,
239
+ provider_source: "candidate",
240
+ provider_reason: policyReason(finishReason),
241
+ finish_message: candidate?.finishMessage,
242
+ safety_ratings: safetyRatings(candidate?.safetyRatings),
243
+ },
244
+ });
245
+ }
138
246
  const text = (response.text ?? "").trim();
139
247
  if (!text) {
140
- // An empty body is terminal when the prompt was blocked or the candidate
141
- // hit a content/policy filter — retry & resume never clear these, so surface
142
- // the real reason instead of spinning through maxAttempts on a stuck episode.
143
- if (blockReason)
144
- throw new LlmTransportError("content_filtered", `Gemini blocked the prompt (blockReason=${blockReason}).`, { usage });
145
- if (FILTERED_FINISH.has(finishReason))
146
- throw new LlmTransportError("content_filtered", `Gemini filtered the response (finishReason=${finishReason}).`, { usage });
248
+ if (TERMINAL_RESPONSE_FINISH.has(finishReason)) {
249
+ throw new LlmTransportError("invalid_response", `Gemini returned no usable response (finishReason=${finishReason}).`, {
250
+ usage,
251
+ context: { ...baseContext, provider_reason_raw: finishReason, finish_message: candidate?.finishMessage },
252
+ });
253
+ }
147
254
  // Empty body with a normal/blank finishReason is a transient generation hiccup
148
255
  // (observed ~1/15 episodes); retry it — a resume of the same episode succeeds.
149
- throw new LlmTransportError("empty_response", `Gemini returned an empty response (finishReason=${finishReason || "none"}).`, { retryable: true, usage });
256
+ throw new LlmTransportError("empty_response", `Gemini returned an empty response (finishReason=${finishReason || "none"}).`, {
257
+ retryable: true,
258
+ usage,
259
+ context: baseContext,
260
+ });
150
261
  }
151
262
  return { text, finishReason, usage, raw: response };
152
263
  });
153
264
  return { text: value.text, finishReason: value.finishReason, attempts, usage: addTokenUsage(failedUsage, value.usage), raw: value.raw };
154
265
  }
155
- async delete(handle, signal) {
266
+ async release(media, signal) {
267
+ if (media.kind === "base64")
268
+ return;
156
269
  try {
157
- await this.client.files.delete({ name: handle.name });
270
+ await this.client.files.delete({ name: media.file.name });
158
271
  }
159
272
  catch (error) {
160
273
  // Cleanup is best-effort (§10.5); a failed delete must not fail the run.
@@ -166,9 +279,12 @@ export class GeminiVideoModel {
166
279
  // Lazily import the SDK so the dependency is only loaded when a video route is
167
280
  // actually exercised (keeps text-only runs free of @google/genai).
168
281
  const require = createRequire(import.meta.url);
169
- function createGoogleClient(apiKey, timeoutMs) {
282
+ function createGoogleClient(apiKey, timeoutMs, baseUrl) {
170
283
  const { GoogleGenAI } = require("@google/genai");
171
- const sdk = new GoogleGenAI({ apiKey });
284
+ const sdk = new GoogleGenAI({
285
+ apiKey,
286
+ ...(baseUrl ? { httpOptions: { baseUrl, timeout: timeoutMs } } : {}),
287
+ });
172
288
  const proxyUrl = (process.env.https_proxy ?? process.env.HTTPS_PROXY ?? process.env.http_proxy ?? process.env.HTTP_PROXY ?? "").trim();
173
289
  // A proxy is set but Node's built-in fetch (which the SDK's get/delete/generate
174
290
  // use) ignores https_proxy unless NODE_USE_ENV_PROXY=1 — so upload (our proxied
@@ -183,7 +299,14 @@ function createGoogleClient(apiKey, timeoutMs) {
183
299
  // content-length behind a proxy); get/delete/generateContent use the SDK.
184
300
  return {
185
301
  files: {
186
- upload: (p) => resumableUpload({ apiKey, filePath: p.file, mimeType: p.config?.mimeType ?? "video/mp4", timeoutMs, proxyUrl }),
302
+ upload: (p) => resumableUpload({
303
+ apiKey,
304
+ filePath: p.file,
305
+ mimeType: p.config?.mimeType ?? "video/mp4",
306
+ timeoutMs,
307
+ proxyUrl,
308
+ baseUrl,
309
+ }),
187
310
  get: (p) => sdk.files.get(p),
188
311
  delete: (p) => sdk.files.delete(p),
189
312
  },
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-video-model.js","sourceRoot":"","sources":["../../../src/infra/llm/gemini-video-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini-video-model.js","sourceRoot":"","sources":["../../../src/infra/llm/gemini-video-model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { LlmTaskExecutor } from "./types.js";
1
+ import type { LlmExecutorOptions, LlmTaskExecutor } from "./types.js";
2
2
  export interface LlmComposition {
3
- createExecutor(configPath?: string): LlmTaskExecutor;
3
+ createExecutor(configPath?: string, options?: LlmExecutorOptions): LlmTaskExecutor;
4
4
  }
5
5
  export declare const PRODUCTION_LLM_COMPOSITION: LlmComposition;
@@ -21,6 +21,7 @@ export interface ResolvedLlmConfig {
21
21
  source: "builtin" | "file";
22
22
  sourcePath: string | null;
23
23
  }
24
+ export declare function normalizeProviderBaseUrl(value: string, label?: string): string;
24
25
  export declare function parseLlmConfig(value: unknown, sourcePath: string): ResolvedLlmConfig;
25
26
  export declare const BUILTIN_LLM_CONFIG: ResolvedLlmConfig;
26
27
  export declare function builtinLlmConfig(): ResolvedLlmConfig;
@@ -29,6 +29,9 @@ function httpUrlAt(value, label) {
29
29
  }
30
30
  return parsedUrl.toString().replace(/\/$/, "");
31
31
  }
32
+ export function normalizeProviderBaseUrl(value, label = "provider base URL") {
33
+ return httpUrlAt(value, label);
34
+ }
32
35
  function isRecord(value) {
33
36
  return typeof value === "object" && value !== null && !Array.isArray(value);
34
37
  }
@@ -161,7 +164,7 @@ export const BUILTIN_LLM_CONFIG = {
161
164
  // reliably than grok did (skeleton leads split correctly, no paren-polluted
162
165
  // names), which markdown/text mode could not hold on this model.
163
166
  "ingest-normalize": { provider: "gw", model: "claude-sonnet-4-6-aihubmix", temperature: 0 },
164
- "ingest-video": { provider: "google-gemini", model: "gemini-3.5-flash" },
167
+ "ingest-video": { provider: "google-gemini", model: "gemini-3.6-flash" },
165
168
  },
166
169
  tasks: {
167
170
  // Ingest: cheap model for chunk normalization + pronoun resolve + recall;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/llm/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/llm/config.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,23 @@
1
- import { DoubaoVideoModel } from "../infra/llm/doubao-video-model.js";
1
+ import { type DoubaoRunRequest } from "../infra/llm/doubao-video-model.js";
2
2
  import { type LlmModelConfig, type LlmProviderConfig, type ResolvedLlmConfig } from "./config.js";
3
- import type { LlmRouteInfo, LlmRouteUsage, LlmTaskExecutor, LlmTaskId, LlmUsageEvent, TaskVideoPort, TextGenerationRequest, TextGenerationResponse, ToolGenerationRequest, ToolGenerationResponse, VideoUnderstandingPort } from "./types.js";
4
- interface ResolvedRoute {
3
+ import type { LlmExecutorOptions, LlmRouteInfo, LlmRouteUsage, LlmTaskExecutor, LlmTaskId, LlmUsageEvent, TaskVideoPort, TextGenerationRequest, TextGenerationResponse, ToolGenerationRequest, ToolGenerationResponse, VideoUnderstandingPort, VideoGenerationResponse } from "./types.js";
4
+ export interface ResolvedRoute {
5
5
  info: LlmRouteInfo;
6
6
  providerConfig: LlmProviderConfig;
7
7
  modelConfig: LlmModelConfig;
8
8
  }
9
+ export interface DoubaoVideoRunner {
10
+ run(request: DoubaoRunRequest): Promise<VideoGenerationResponse>;
11
+ }
9
12
  export declare class ModelRouter implements LlmTaskExecutor {
10
13
  private readonly config;
14
+ private readonly options;
11
15
  private readonly adapters;
12
16
  private readonly videoAdapters;
13
17
  private readonly doubaoAdapters;
14
18
  private readonly resolvedRoutes;
15
19
  private readonly usageLog;
16
- constructor(config: ResolvedLlmConfig);
20
+ constructor(config: ResolvedLlmConfig, options?: LlmExecutorOptions);
17
21
  get configSource(): "builtin" | "file";
18
22
  private resolve;
19
23
  route(task: LlmTaskId): LlmRouteInfo;
@@ -28,11 +32,11 @@ export declare class ModelRouter implements LlmTaskExecutor {
28
32
  private doubaoRoute;
29
33
  private adapter;
30
34
  protected videoAdapter(route: ResolvedRoute, model?: string): VideoUnderstandingPort;
35
+ private videoCredential;
31
36
  videoPort(task: LlmTaskId): TaskVideoPort;
32
- protected doubaoAdapter(): DoubaoVideoModel | null;
37
+ protected doubaoAdapter(): DoubaoVideoRunner | null;
33
38
  protected doubaoModel(): string;
34
39
  generateText(task: LlmTaskId, request: Omit<TextGenerationRequest, "maxOutputTokens">): Promise<TextGenerationResponse>;
35
40
  generateTool(task: LlmTaskId, request: Omit<ToolGenerationRequest, "maxOutputTokens">): Promise<ToolGenerationResponse>;
36
41
  }
37
- export declare function createLlmExecutor(explicitConfigPath?: string): ModelRouter;
38
- export {};
42
+ export declare function createLlmExecutor(explicitConfigPath?: string, options?: LlmExecutorOptions): ModelRouter;