@lingjingai/scriptctl 0.7.5 → 0.8.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.
- package/dist/common.d.ts +0 -4
- package/dist/common.js +0 -87
- package/dist/common.js.map +1 -1
- package/dist/infra/providers.d.ts +7 -35
- package/dist/infra/providers.js +324 -266
- package/dist/infra/providers.js.map +1 -1
- package/package.json +6 -3
package/dist/common.d.ts
CHANGED
|
@@ -42,10 +42,6 @@ export declare const EFFECTIVE_FROM_VALUES: Set<string>;
|
|
|
42
42
|
export declare const ACTOR_REUSE_SCENE_LIMIT = 1;
|
|
43
43
|
export declare const PROP_REUSE_SCENE_LIMIT = 1;
|
|
44
44
|
export declare const MARKDOWN_BATCH_PROMPT_SPEC: string;
|
|
45
|
-
export type JsonSchema = Record<string, unknown>;
|
|
46
|
-
export declare const METADATA_EXTRACTION_SCHEMA: JsonSchema;
|
|
47
|
-
export declare const ASSET_CURATION_SCHEMA: JsonSchema;
|
|
48
|
-
export declare const EPISODE_TITLE_EXTRACTION_SCHEMA: JsonSchema;
|
|
49
45
|
export interface Report {
|
|
50
46
|
title?: string;
|
|
51
47
|
message?: string;
|
package/dist/common.js
CHANGED
|
@@ -178,93 +178,6 @@ export const MARKDOWN_BATCH_PROMPT_SPEC = "Output format: a single markdown docu
|
|
|
178
178
|
" An item without `:` carries no description.\n" +
|
|
179
179
|
"- Lines marked [meta] in Batch Source are read-only metadata; do not promote\n" +
|
|
180
180
|
" them to actions.\n";
|
|
181
|
-
export const METADATA_EXTRACTION_SCHEMA = {
|
|
182
|
-
type: "object",
|
|
183
|
-
required: ["confidence", "worldview", "worldview_raw", "actors", "locations", "props"],
|
|
184
|
-
additionalProperties: false,
|
|
185
|
-
properties: {
|
|
186
|
-
confidence: { type: "string", enum: ["high", "medium", "low"] },
|
|
187
|
-
worldview: { type: "string", enum: WORLDVIEW_VALUES },
|
|
188
|
-
worldview_raw: { type: "string" },
|
|
189
|
-
actors: {
|
|
190
|
-
type: "array",
|
|
191
|
-
items: {
|
|
192
|
-
type: "object",
|
|
193
|
-
required: ["actor_id", "role_type", "description"],
|
|
194
|
-
additionalProperties: false,
|
|
195
|
-
properties: {
|
|
196
|
-
actor_id: { type: "string" },
|
|
197
|
-
role_type: { type: "string", enum: ROLE_TYPE_VALUES },
|
|
198
|
-
description: { type: "string" },
|
|
199
|
-
},
|
|
200
|
-
},
|
|
201
|
-
},
|
|
202
|
-
locations: {
|
|
203
|
-
type: "array",
|
|
204
|
-
items: {
|
|
205
|
-
type: "object",
|
|
206
|
-
required: ["location_id", "description"],
|
|
207
|
-
additionalProperties: false,
|
|
208
|
-
properties: {
|
|
209
|
-
location_id: { type: "string" },
|
|
210
|
-
description: { type: "string" },
|
|
211
|
-
},
|
|
212
|
-
},
|
|
213
|
-
},
|
|
214
|
-
props: {
|
|
215
|
-
type: "array",
|
|
216
|
-
items: {
|
|
217
|
-
type: "object",
|
|
218
|
-
required: ["prop_id", "description"],
|
|
219
|
-
additionalProperties: false,
|
|
220
|
-
properties: {
|
|
221
|
-
prop_id: { type: "string" },
|
|
222
|
-
description: { type: "string" },
|
|
223
|
-
},
|
|
224
|
-
},
|
|
225
|
-
},
|
|
226
|
-
},
|
|
227
|
-
};
|
|
228
|
-
export const ASSET_CURATION_SCHEMA = {
|
|
229
|
-
type: "object",
|
|
230
|
-
required: ["locations"],
|
|
231
|
-
additionalProperties: false,
|
|
232
|
-
properties: {
|
|
233
|
-
locations: {
|
|
234
|
-
type: "array",
|
|
235
|
-
items: {
|
|
236
|
-
type: "object",
|
|
237
|
-
required: ["location_id", "decision", "target_location_id", "reason"],
|
|
238
|
-
additionalProperties: false,
|
|
239
|
-
properties: {
|
|
240
|
-
location_id: { type: "string" },
|
|
241
|
-
decision: { type: "string", enum: ["keep", "merge"] },
|
|
242
|
-
target_location_id: { type: ["string", "null"] },
|
|
243
|
-
reason: { type: "string" },
|
|
244
|
-
},
|
|
245
|
-
},
|
|
246
|
-
},
|
|
247
|
-
},
|
|
248
|
-
};
|
|
249
|
-
export const EPISODE_TITLE_EXTRACTION_SCHEMA = {
|
|
250
|
-
type: "object",
|
|
251
|
-
required: ["episode_titles"],
|
|
252
|
-
additionalProperties: false,
|
|
253
|
-
properties: {
|
|
254
|
-
episode_titles: {
|
|
255
|
-
type: "array",
|
|
256
|
-
items: {
|
|
257
|
-
type: "object",
|
|
258
|
-
required: ["episode", "title"],
|
|
259
|
-
additionalProperties: false,
|
|
260
|
-
properties: {
|
|
261
|
-
episode: { type: "integer" },
|
|
262
|
-
title: { type: "string" },
|
|
263
|
-
},
|
|
264
|
-
},
|
|
265
|
-
},
|
|
266
|
-
},
|
|
267
|
-
};
|
|
268
181
|
export class CliError extends Error {
|
|
269
182
|
title;
|
|
270
183
|
exitCode;
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,53 +13,25 @@ export declare class MockProvider implements ProviderLike {
|
|
|
13
13
|
extractAssetCuration(_sourceText: string, _script: Dict): Dict;
|
|
14
14
|
extractEpisodeTitles(sourceText: string, episodePlan: Dict): Dict;
|
|
15
15
|
}
|
|
16
|
-
export declare class
|
|
16
|
+
export declare class LiteLLMProvider implements ProviderLike {
|
|
17
17
|
readonly name = "anthropic";
|
|
18
|
-
private readonly client;
|
|
19
18
|
private readonly model;
|
|
20
|
-
|
|
21
|
-
private
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* Run a request that forces a specific tool call via `tool_choice`, then return that
|
|
25
|
-
* tool's `input` dict (already parsed by the SDK — no JSON.parse needed). Returns
|
|
26
|
-
* `null` when the provider didn't emit the expected tool_use block (e.g. refusal,
|
|
27
|
-
* truncated before tool call, gateway dropped tools field), letting the caller
|
|
28
|
-
* raise a method-specific CliError.
|
|
29
|
-
*/
|
|
30
|
-
private collectToolUseInput;
|
|
31
|
-
/**
|
|
32
|
-
* Generic completion entry point. Used by episode subcommand's gemini-writer to draft
|
|
33
|
-
* one episode's spec markdown from the assembled prompt. Throws CliError when the
|
|
34
|
-
* provider truncates output (so the caller can surface a deterministic error rather
|
|
35
|
-
* than committing a half-baked episode).
|
|
36
|
-
*/
|
|
19
|
+
private readonly modelId;
|
|
20
|
+
private readonly configuredMaxTokens;
|
|
21
|
+
constructor(modelId: string);
|
|
22
|
+
private capTokens;
|
|
37
23
|
complete(prompt: string, maxTokens?: number): Promise<string>;
|
|
38
24
|
extractEpisode(sourceText: string, episodePlan: Dict): Promise<Dict>;
|
|
39
25
|
extractBatch(sourceText: string, batchPlan: Dict): Promise<Dict>;
|
|
40
26
|
extractEpisodeTitles(sourceText: string, episodePlan: Dict): Promise<Dict>;
|
|
41
27
|
extractAssetCuration(_sourceText: string, script: Dict): Promise<Dict>;
|
|
42
28
|
extractMetadata(_sourceText: string, script: Dict): Promise<Dict>;
|
|
29
|
+
private extractStructured;
|
|
43
30
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Google Gemini provider via REST API. No SDK dependency (uses fetch).
|
|
46
|
-
*
|
|
47
|
-
* Used as the default writer for `scriptctl episode draft`. The Anthropic provider
|
|
48
|
-
* stays available for other internal extraction tasks (metadata / title generation /
|
|
49
|
-
* direct-init batch extraction) where Claude tends to outperform Gemini on JSON
|
|
50
|
-
* schema adherence.
|
|
51
|
-
*
|
|
52
|
-
* Env:
|
|
53
|
-
* - `SCRIPTCTL_GEMINI_API_KEY` (or fallback `GEMINI_API_KEY`) required
|
|
54
|
-
* - `SCRIPTCTL_GEMINI_BASE_URL` optional override
|
|
55
|
-
* - `SCRIPTCTL_GEMINI_MODEL` optional default-model override
|
|
56
|
-
*/
|
|
57
31
|
export declare class GeminiProvider implements ProviderLike {
|
|
58
32
|
readonly name = "gemini";
|
|
59
|
-
private readonly apiKey;
|
|
60
|
-
private readonly baseUrl;
|
|
61
33
|
private readonly model;
|
|
62
|
-
constructor(
|
|
34
|
+
constructor(modelId?: string);
|
|
63
35
|
/**
|
|
64
36
|
* Plain-text completion. Used by `episode draft` to write a spec-md episode body.
|
|
65
37
|
*/
|
package/dist/infra/providers.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { createGoogleGenerativeAI } from "@ai-sdk/google";
|
|
2
|
+
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
3
|
+
import { APICallError, NoObjectGeneratedError, RetryError, generateObject, generateText, } from "ai";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { CliError, DEFAULT_BATCH_MAX_TOKENS, DEFAULT_MAX_TOKENS, EXIT_RUNTIME, EXIT_USAGE, MARKDOWN_BATCH_PROMPT_SPEC, ROLE_TYPE_VALUES, WORLDVIEW_VALUES, } from "../common.js";
|
|
3
6
|
import { _md_push_asset, _normalize_speaker_list, buildAssetCurationContext, buildEpisodeTitleContext, buildMetadataContext, deterministicEpisodeShortTitle, deterministicExtractEpisode, deterministicExtractMetadata, episodesNeedingGeneratedTitles, formatBatchSource, parseMarkdownBatch, } from "../domain/direct-core.js";
|
|
4
7
|
function strOf(v) {
|
|
5
8
|
if (v === null || v === undefined)
|
|
@@ -13,6 +16,43 @@ function asList(v) {
|
|
|
13
16
|
return Array.isArray(v) ? v : [];
|
|
14
17
|
}
|
|
15
18
|
// ---------------------------------------------------------------------------
|
|
19
|
+
// Zod schemas for structured extraction (LLM JSON-mode output)
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
const ROLE_TYPE_TUPLE = ROLE_TYPE_VALUES;
|
|
22
|
+
const WORLDVIEW_TUPLE = WORLDVIEW_VALUES;
|
|
23
|
+
const METADATA_SCHEMA = z.object({
|
|
24
|
+
confidence: z.enum(["high", "medium", "low"]),
|
|
25
|
+
worldview: z.enum(WORLDVIEW_TUPLE),
|
|
26
|
+
worldview_raw: z.string(),
|
|
27
|
+
actors: z.array(z.object({
|
|
28
|
+
actor_id: z.string(),
|
|
29
|
+
role_type: z.enum(ROLE_TYPE_TUPLE),
|
|
30
|
+
description: z.string(),
|
|
31
|
+
})),
|
|
32
|
+
locations: z.array(z.object({
|
|
33
|
+
location_id: z.string(),
|
|
34
|
+
description: z.string(),
|
|
35
|
+
})),
|
|
36
|
+
props: z.array(z.object({
|
|
37
|
+
prop_id: z.string(),
|
|
38
|
+
description: z.string(),
|
|
39
|
+
})),
|
|
40
|
+
});
|
|
41
|
+
const ASSET_CURATION_SCHEMA = z.object({
|
|
42
|
+
locations: z.array(z.object({
|
|
43
|
+
location_id: z.string(),
|
|
44
|
+
decision: z.enum(["keep", "merge"]),
|
|
45
|
+
target_location_id: z.string().nullable(),
|
|
46
|
+
reason: z.string(),
|
|
47
|
+
})),
|
|
48
|
+
});
|
|
49
|
+
const EPISODE_TITLE_SCHEMA = z.object({
|
|
50
|
+
episode_titles: z.array(z.object({
|
|
51
|
+
episode: z.number().int(),
|
|
52
|
+
title: z.string(),
|
|
53
|
+
})),
|
|
54
|
+
});
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
16
56
|
// Mock provider
|
|
17
57
|
// ---------------------------------------------------------------------------
|
|
18
58
|
export class MockProvider {
|
|
@@ -98,13 +138,23 @@ export class MockProvider {
|
|
|
98
138
|
}
|
|
99
139
|
}
|
|
100
140
|
// ---------------------------------------------------------------------------
|
|
101
|
-
//
|
|
141
|
+
// LiteLLM provider — talks to PROJECT_LITELLM_GATEWAY via OpenAI-compatible
|
|
142
|
+
// /v1/chat/completions. Backs every Claude / DeepSeek / etc. model fronted by
|
|
143
|
+
// the gateway. The protocol switch from /v1/messages (Anthropic) to
|
|
144
|
+
// /v1/chat/completions is intentional: it lets gateway-routed models that lack
|
|
145
|
+
// Anthropic tool_use support (e.g. deepseek-v4-pro-packy) reuse the same
|
|
146
|
+
// structured-output path via JSON-mode schemas.
|
|
147
|
+
//
|
|
148
|
+
// `name = "anthropic"` is preserved (not renamed to "litellm") so previously
|
|
149
|
+
// written checkpoint metadata (`{"provider": "anthropic"}`) keeps validating
|
|
150
|
+
// after upgrade — no forced re-extraction.
|
|
102
151
|
// ---------------------------------------------------------------------------
|
|
103
|
-
export class
|
|
152
|
+
export class LiteLLMProvider {
|
|
104
153
|
name = "anthropic";
|
|
105
|
-
client;
|
|
106
154
|
model;
|
|
107
|
-
|
|
155
|
+
modelId;
|
|
156
|
+
configuredMaxTokens;
|
|
157
|
+
constructor(modelId) {
|
|
108
158
|
const apiKey = (process.env.PROJECT_LITELLM_GATEWAY_API_KEY ?? "").trim();
|
|
109
159
|
if (!apiKey) {
|
|
110
160
|
throw new CliError("INIT FAILED: provider not configured", "Provider credentials are not configured for this environment.", {
|
|
@@ -115,83 +165,60 @@ export class AnthropicProvider {
|
|
|
115
165
|
errorCode: "PROVIDER_AUTH_MISSING",
|
|
116
166
|
});
|
|
117
167
|
}
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
let configuredMaxTokens = DEFAULT_MAX_TOKENS;
|
|
128
|
-
if (rawMaxTokens) {
|
|
129
|
-
const parsed = parseInt(rawMaxTokens, 10);
|
|
130
|
-
if (!Number.isNaN(parsed))
|
|
131
|
-
configuredMaxTokens = parsed;
|
|
132
|
-
}
|
|
133
|
-
let tokenBudget = maxTokens !== undefined ? maxTokens : configuredMaxTokens;
|
|
134
|
-
tokenBudget = Math.max(1024, Math.min(tokenBudget, configuredMaxTokens, DEFAULT_MAX_TOKENS));
|
|
135
|
-
const request = {
|
|
136
|
-
model: this.model,
|
|
137
|
-
max_tokens: tokenBudget,
|
|
138
|
-
messages: [{ role: "user", content: prompt }],
|
|
139
|
-
};
|
|
140
|
-
if (this.model.endsWith("-think")) {
|
|
141
|
-
const rawBudget = (process.env.SCRIPTCTL_THINKING_BUDGET_TOKENS ?? "").trim();
|
|
142
|
-
let budget = DEFAULT_THINKING_BUDGET_TOKENS;
|
|
143
|
-
if (rawBudget) {
|
|
144
|
-
const parsed = parseInt(rawBudget, 10);
|
|
145
|
-
if (!Number.isNaN(parsed))
|
|
146
|
-
budget = parsed;
|
|
147
|
-
}
|
|
148
|
-
request.thinking = { type: "enabled", budget_tokens: Math.max(1024, Math.min(budget, tokenBudget - 1000)) };
|
|
168
|
+
const baseURL = (process.env.PROJECT_LITELLM_GATEWAY_BASE_URL ?? "").trim();
|
|
169
|
+
if (!baseURL) {
|
|
170
|
+
throw new CliError("INIT FAILED: provider not configured", "Provider gateway URL is not configured for this environment.", {
|
|
171
|
+
exitCode: EXIT_RUNTIME,
|
|
172
|
+
required: ["PROJECT_LITELLM_GATEWAY_BASE_URL"],
|
|
173
|
+
received: ["no gateway base URL environment variable"],
|
|
174
|
+
nextSteps: ["Run `scriptctl doctor` to identify missing configuration."],
|
|
175
|
+
errorCode: "PROVIDER_AUTH_MISSING",
|
|
176
|
+
});
|
|
149
177
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
178
|
+
const provider = createOpenAICompatible({
|
|
179
|
+
name: "litellm",
|
|
180
|
+
apiKey,
|
|
181
|
+
baseURL,
|
|
182
|
+
});
|
|
183
|
+
this.modelId = modelId;
|
|
184
|
+
this.model = provider(modelId);
|
|
185
|
+
const raw = (process.env.SCRIPTCTL_MAX_TOKENS ?? "").trim();
|
|
186
|
+
let mt = DEFAULT_MAX_TOKENS;
|
|
187
|
+
if (raw) {
|
|
188
|
+
const parsed = parseInt(raw, 10);
|
|
189
|
+
if (!Number.isNaN(parsed))
|
|
190
|
+
mt = parsed;
|
|
158
191
|
}
|
|
159
|
-
|
|
160
|
-
return [textFromResponse(response), strOf(response.stop_reason)];
|
|
192
|
+
this.configuredMaxTokens = Math.max(1024, Math.min(mt, DEFAULT_MAX_TOKENS));
|
|
161
193
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
* `null` when the provider didn't emit the expected tool_use block (e.g. refusal,
|
|
166
|
-
* truncated before tool call, gateway dropped tools field), letting the caller
|
|
167
|
-
* raise a method-specific CliError.
|
|
168
|
-
*/
|
|
169
|
-
async collectToolUseInput(request, toolName) {
|
|
170
|
-
const maxTokens = Number(request["max_tokens"] ?? 0);
|
|
171
|
-
if (maxTokens > NONSTREAMING_MAX_TOKENS) {
|
|
172
|
-
const stream = await this.client.messages.stream(request);
|
|
173
|
-
const message = (await stream.finalMessage());
|
|
174
|
-
return [findToolUseInput(message.content ?? [], toolName), strOf(message.stop_reason)];
|
|
175
|
-
}
|
|
176
|
-
const response = (await this.client.messages.create(request));
|
|
177
|
-
return [findToolUseInput(response.content ?? [], toolName), strOf(response.stop_reason)];
|
|
194
|
+
capTokens(maxTokens, fallback) {
|
|
195
|
+
const requested = maxTokens !== undefined ? maxTokens : fallback;
|
|
196
|
+
return Math.max(1024, Math.min(requested, this.configuredMaxTokens, DEFAULT_MAX_TOKENS));
|
|
178
197
|
}
|
|
179
|
-
/**
|
|
180
|
-
* Generic completion entry point. Used by episode subcommand's gemini-writer to draft
|
|
181
|
-
* one episode's spec markdown from the assembled prompt. Throws CliError when the
|
|
182
|
-
* provider truncates output (so the caller can surface a deterministic error rather
|
|
183
|
-
* than committing a half-baked episode).
|
|
184
|
-
*/
|
|
185
198
|
async complete(prompt, maxTokens) {
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
|
|
199
|
+
const max = this.capTokens(maxTokens, DEFAULT_BATCH_MAX_TOKENS);
|
|
200
|
+
let raw;
|
|
201
|
+
let finishReason;
|
|
202
|
+
try {
|
|
203
|
+
const result = await generateText({
|
|
204
|
+
model: this.model,
|
|
205
|
+
prompt,
|
|
206
|
+
maxOutputTokens: max,
|
|
207
|
+
maxRetries: 0,
|
|
208
|
+
});
|
|
209
|
+
raw = result.text.trim();
|
|
210
|
+
finishReason = strOf(result.finishReason);
|
|
211
|
+
}
|
|
212
|
+
catch (exc) {
|
|
213
|
+
throw translateLiteLLMError(exc, "DRAFT FAILED");
|
|
214
|
+
}
|
|
215
|
+
if (finishReason === "length") {
|
|
189
216
|
throw new CliError("DRAFT FAILED: Provider output truncated", "Provider output truncated.", {
|
|
190
217
|
exitCode: EXIT_RUNTIME,
|
|
191
218
|
required: ["complete markdown within provider max_tokens"],
|
|
192
219
|
received: [
|
|
193
|
-
`
|
|
194
|
-
`max_tokens: ${
|
|
220
|
+
`finishReason: ${finishReason}`,
|
|
221
|
+
`max_tokens: ${max}`,
|
|
195
222
|
`raw chars: ${raw.length}`,
|
|
196
223
|
`tail: ${raw.slice(-160) || "<empty response>"}`,
|
|
197
224
|
],
|
|
@@ -207,7 +234,7 @@ export class AnthropicProvider {
|
|
|
207
234
|
return this.extractBatch(sourceText, episodePlan);
|
|
208
235
|
}
|
|
209
236
|
async extractBatch(sourceText, batchPlan) {
|
|
210
|
-
const context = isList(batchPlan["context"]) || typeof batchPlan["context"] === "object" && batchPlan["context"] !== null
|
|
237
|
+
const context = isList(batchPlan["context"]) || (typeof batchPlan["context"] === "object" && batchPlan["context"] !== null)
|
|
211
238
|
? batchPlan["context"]
|
|
212
239
|
: {};
|
|
213
240
|
const numberedSource = formatBatchSource(sourceText, batchPlan);
|
|
@@ -223,15 +250,29 @@ export class AnthropicProvider {
|
|
|
223
250
|
"\n" +
|
|
224
251
|
"Batch Source:\n" +
|
|
225
252
|
`${numberedSource}\n`;
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
253
|
+
const max = this.capTokens(DEFAULT_BATCH_MAX_TOKENS, DEFAULT_BATCH_MAX_TOKENS);
|
|
254
|
+
let raw;
|
|
255
|
+
let finishReason;
|
|
256
|
+
try {
|
|
257
|
+
const result = await generateText({
|
|
258
|
+
model: this.model,
|
|
259
|
+
prompt,
|
|
260
|
+
maxOutputTokens: max,
|
|
261
|
+
maxRetries: 0,
|
|
262
|
+
});
|
|
263
|
+
raw = result.text.trim();
|
|
264
|
+
finishReason = strOf(result.finishReason);
|
|
265
|
+
}
|
|
266
|
+
catch (exc) {
|
|
267
|
+
throw translateLiteLLMError(exc, "INIT FAILED");
|
|
268
|
+
}
|
|
269
|
+
if (finishReason === "length") {
|
|
229
270
|
throw new CliError("INIT FAILED: Provider output truncated", "Provider output truncated.", {
|
|
230
271
|
exitCode: EXIT_RUNTIME,
|
|
231
272
|
required: ["complete markdown within provider max_tokens"],
|
|
232
273
|
received: [
|
|
233
|
-
`
|
|
234
|
-
`max_tokens: ${
|
|
274
|
+
`finishReason: ${finishReason}`,
|
|
275
|
+
`max_tokens: ${max}`,
|
|
235
276
|
`raw chars: ${raw.length}`,
|
|
236
277
|
`tail: ${raw.slice(-160) || "<empty response>"}`,
|
|
237
278
|
],
|
|
@@ -259,32 +300,19 @@ export class AnthropicProvider {
|
|
|
259
300
|
"\n" +
|
|
260
301
|
"Episodes needing titles:\n" +
|
|
261
302
|
`${JSON.stringify(context)}\n`;
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
received: [`stop_reason: ${stopReason}`, `max_tokens: ${request["max_tokens"]}`],
|
|
276
|
-
nextSteps: ["Rerun init; if this repeats, split the source or provide explicit episode titles."],
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
if (!input) {
|
|
280
|
-
throw new CliError("INIT FAILED: Provider returned invalid episode title JSON", "Provider returned invalid episode title JSON.", {
|
|
281
|
-
exitCode: EXIT_RUNTIME,
|
|
282
|
-
required: [`tool_use block with name "${toolName}"`],
|
|
283
|
-
received: [`stop_reason: ${stopReason || "unknown"}`, `missing tool_use block: ${toolName}`],
|
|
284
|
-
nextSteps: ["Rerun init; title generation will retry before batch extraction."],
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
return input;
|
|
303
|
+
return this.extractStructured({
|
|
304
|
+
prompt,
|
|
305
|
+
maxTokens: 4096,
|
|
306
|
+
schema: EPISODE_TITLE_SCHEMA,
|
|
307
|
+
title: "INIT FAILED: Episode title output truncated",
|
|
308
|
+
truncationMessage: "Episode title output truncated.",
|
|
309
|
+
required: ["complete episode title JSON within provider max_tokens"],
|
|
310
|
+
invalidTitle: "INIT FAILED: Provider returned invalid episode title JSON",
|
|
311
|
+
invalidMessage: "Provider returned invalid episode title JSON.",
|
|
312
|
+
invalidRequired: ["valid JSON matching the configured schema"],
|
|
313
|
+
truncationNext: ["Rerun init; if this repeats, split the source or provide explicit episode titles."],
|
|
314
|
+
invalidNext: ["Rerun init; title generation will retry before batch extraction."],
|
|
315
|
+
});
|
|
288
316
|
}
|
|
289
317
|
async extractAssetCuration(_sourceText, script) {
|
|
290
318
|
const context = buildAssetCurationContext(script);
|
|
@@ -302,32 +330,19 @@ export class AnthropicProvider {
|
|
|
302
330
|
"\n" +
|
|
303
331
|
"Script asset curation context:\n" +
|
|
304
332
|
`${JSON.stringify(context)}\n`;
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
received: [`stop_reason: ${stopReason}`, `max_tokens: ${request["max_tokens"]}`],
|
|
319
|
-
nextSteps: ["Rerun init; extraction checkpoints will be reused and asset curation will retry."],
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
if (!input) {
|
|
323
|
-
throw new CliError("INIT FAILED: Provider returned invalid asset curation JSON", "Provider returned invalid asset curation JSON.", {
|
|
324
|
-
exitCode: EXIT_RUNTIME,
|
|
325
|
-
required: [`tool_use block with name "${toolName}"`],
|
|
326
|
-
received: [`stop_reason: ${stopReason || "unknown"}`, `missing tool_use block: ${toolName}`],
|
|
327
|
-
nextSteps: ["Rerun init; extraction checkpoints will be reused and asset curation will retry."],
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
return input;
|
|
333
|
+
return this.extractStructured({
|
|
334
|
+
prompt,
|
|
335
|
+
maxTokens: DEFAULT_MAX_TOKENS,
|
|
336
|
+
schema: ASSET_CURATION_SCHEMA,
|
|
337
|
+
title: "INIT FAILED: Asset curation output truncated",
|
|
338
|
+
truncationMessage: "Asset curation output truncated.",
|
|
339
|
+
required: ["complete asset curation JSON within provider max_tokens"],
|
|
340
|
+
invalidTitle: "INIT FAILED: Provider returned invalid asset curation JSON",
|
|
341
|
+
invalidMessage: "Provider returned invalid asset curation JSON.",
|
|
342
|
+
invalidRequired: ["valid JSON matching the configured schema"],
|
|
343
|
+
truncationNext: ["Rerun init; extraction checkpoints will be reused and asset curation will retry."],
|
|
344
|
+
invalidNext: ["Rerun init; extraction checkpoints will be reused and asset curation will retry."],
|
|
345
|
+
});
|
|
331
346
|
}
|
|
332
347
|
async extractMetadata(_sourceText, script) {
|
|
333
348
|
const context = buildMetadataContext(script);
|
|
@@ -345,56 +360,68 @@ export class AnthropicProvider {
|
|
|
345
360
|
"\n" +
|
|
346
361
|
"Script metadata context:\n" +
|
|
347
362
|
`${JSON.stringify(context)}\n`;
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
+
return this.extractStructured({
|
|
364
|
+
prompt,
|
|
365
|
+
maxTokens: DEFAULT_MAX_TOKENS,
|
|
366
|
+
schema: METADATA_SCHEMA,
|
|
367
|
+
title: "INIT FAILED: Metadata output truncated",
|
|
368
|
+
truncationMessage: "Metadata output truncated.",
|
|
369
|
+
required: ["complete metadata JSON within provider max_tokens"],
|
|
370
|
+
invalidTitle: "INIT FAILED: Provider returned invalid metadata JSON",
|
|
371
|
+
invalidMessage: "Provider returned invalid metadata JSON.",
|
|
372
|
+
invalidRequired: ["valid JSON matching the configured schema"],
|
|
373
|
+
truncationNext: ["Rerun init; extraction checkpoints will be reused and metadata will retry."],
|
|
374
|
+
invalidNext: ["Rerun init; extraction checkpoints will be reused and metadata will retry."],
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
async extractStructured(args) {
|
|
378
|
+
const max = this.capTokens(args.maxTokens, args.maxTokens);
|
|
379
|
+
try {
|
|
380
|
+
const result = await generateObject({
|
|
381
|
+
model: this.model,
|
|
382
|
+
prompt: args.prompt,
|
|
383
|
+
schema: args.schema,
|
|
384
|
+
maxOutputTokens: max,
|
|
385
|
+
maxRetries: 0,
|
|
363
386
|
});
|
|
387
|
+
const finishReason = strOf(result.finishReason);
|
|
388
|
+
if (finishReason === "length") {
|
|
389
|
+
throw new CliError(args.title, args.truncationMessage, {
|
|
390
|
+
exitCode: EXIT_RUNTIME,
|
|
391
|
+
required: args.required,
|
|
392
|
+
received: [`finishReason: ${finishReason}`, `max_tokens: ${max}`],
|
|
393
|
+
nextSteps: args.truncationNext,
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
return result.object;
|
|
364
397
|
}
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
398
|
+
catch (exc) {
|
|
399
|
+
if (exc instanceof CliError)
|
|
400
|
+
throw exc;
|
|
401
|
+
if (NoObjectGeneratedError.isInstance(exc)) {
|
|
402
|
+
const cause = exc.cause;
|
|
403
|
+
throw new CliError(args.invalidTitle, args.invalidMessage, {
|
|
404
|
+
exitCode: EXIT_RUNTIME,
|
|
405
|
+
required: args.invalidRequired,
|
|
406
|
+
received: [
|
|
407
|
+
`error: ${exc.message?.slice(0, 160) || "no object generated"}`,
|
|
408
|
+
...(cause?.message ? [`cause: ${cause.message.slice(0, 160)}`] : []),
|
|
409
|
+
],
|
|
410
|
+
nextSteps: args.invalidNext,
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
throw translateLiteLLMError(exc, "INIT FAILED");
|
|
372
414
|
}
|
|
373
|
-
return input;
|
|
374
415
|
}
|
|
375
416
|
}
|
|
376
417
|
// ---------------------------------------------------------------------------
|
|
377
|
-
// Gemini provider
|
|
418
|
+
// Gemini provider — @ai-sdk/google direct to Google AI Studio.
|
|
419
|
+
// Used by `scriptctl episode draft` when --provider gemini.
|
|
378
420
|
// ---------------------------------------------------------------------------
|
|
379
|
-
/**
|
|
380
|
-
* Google Gemini provider via REST API. No SDK dependency (uses fetch).
|
|
381
|
-
*
|
|
382
|
-
* Used as the default writer for `scriptctl episode draft`. The Anthropic provider
|
|
383
|
-
* stays available for other internal extraction tasks (metadata / title generation /
|
|
384
|
-
* direct-init batch extraction) where Claude tends to outperform Gemini on JSON
|
|
385
|
-
* schema adherence.
|
|
386
|
-
*
|
|
387
|
-
* Env:
|
|
388
|
-
* - `SCRIPTCTL_GEMINI_API_KEY` (or fallback `GEMINI_API_KEY`) required
|
|
389
|
-
* - `SCRIPTCTL_GEMINI_BASE_URL` optional override
|
|
390
|
-
* - `SCRIPTCTL_GEMINI_MODEL` optional default-model override
|
|
391
|
-
*/
|
|
392
421
|
export class GeminiProvider {
|
|
393
422
|
name = "gemini";
|
|
394
|
-
apiKey;
|
|
395
|
-
baseUrl;
|
|
396
423
|
model;
|
|
397
|
-
constructor(
|
|
424
|
+
constructor(modelId) {
|
|
398
425
|
const apiKey = (process.env.SCRIPTCTL_GEMINI_API_KEY ?? process.env.GEMINI_API_KEY ?? "").trim();
|
|
399
426
|
if (!apiKey) {
|
|
400
427
|
throw new CliError("DRAFT FAILED: provider not configured", "Provider credentials are not configured for this environment.", {
|
|
@@ -405,138 +432,169 @@ export class GeminiProvider {
|
|
|
405
432
|
errorCode: "PROVIDER_AUTH_MISSING",
|
|
406
433
|
});
|
|
407
434
|
}
|
|
408
|
-
|
|
409
|
-
const
|
|
410
|
-
|
|
411
|
-
|
|
435
|
+
const baseURL = (process.env.SCRIPTCTL_GEMINI_BASE_URL ?? "").trim();
|
|
436
|
+
const opts = { apiKey };
|
|
437
|
+
if (baseURL)
|
|
438
|
+
opts.baseURL = baseURL.replace(/\/+$/, "");
|
|
439
|
+
const provider = createGoogleGenerativeAI(opts);
|
|
440
|
+
const id = (modelId || process.env.SCRIPTCTL_GEMINI_MODEL || "gemini-2.5-pro").trim();
|
|
441
|
+
this.model = provider(id);
|
|
412
442
|
}
|
|
413
443
|
/**
|
|
414
444
|
* Plain-text completion. Used by `episode draft` to write a spec-md episode body.
|
|
415
445
|
*/
|
|
416
446
|
async complete(prompt, maxTokens) {
|
|
417
447
|
const tokens = Math.max(1024, Math.min(maxTokens ?? DEFAULT_BATCH_MAX_TOKENS, DEFAULT_MAX_TOKENS));
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
448
|
+
let raw;
|
|
449
|
+
let finishReason;
|
|
450
|
+
try {
|
|
451
|
+
const result = await generateText({
|
|
452
|
+
model: this.model,
|
|
453
|
+
prompt,
|
|
422
454
|
maxOutputTokens: tokens,
|
|
423
455
|
temperature: 0,
|
|
424
|
-
|
|
425
|
-
};
|
|
426
|
-
let response;
|
|
427
|
-
try {
|
|
428
|
-
response = await fetch(url, {
|
|
429
|
-
method: "POST",
|
|
430
|
-
headers: { "Content-Type": "application/json" },
|
|
431
|
-
body: JSON.stringify(body),
|
|
432
|
-
});
|
|
433
|
-
}
|
|
434
|
-
catch (exc) {
|
|
435
|
-
throw new CliError("DRAFT FAILED: provider unreachable", "Provider endpoint is unreachable.", {
|
|
436
|
-
exitCode: EXIT_RUNTIME,
|
|
437
|
-
required: ["reachable Gemini endpoint"],
|
|
438
|
-
received: [String(exc.message ?? exc)],
|
|
439
|
-
nextSteps: ["Check network connectivity and retry. Run `scriptctl doctor` if the issue persists."],
|
|
440
|
-
errorCode: "PROVIDER_NETWORK",
|
|
441
|
-
});
|
|
442
|
-
}
|
|
443
|
-
const text = await response.text();
|
|
444
|
-
if (!response.ok) {
|
|
445
|
-
const isAuth = response.status === 401 || response.status === 403;
|
|
446
|
-
const isRateLimit = response.status === 429;
|
|
447
|
-
const publicMessage = isAuth
|
|
448
|
-
? "Provider rejected the request: authentication failed."
|
|
449
|
-
: isRateLimit
|
|
450
|
-
? "Provider is rate-limited."
|
|
451
|
-
: "Provider returned an HTTP error.";
|
|
452
|
-
throw new CliError("DRAFT FAILED: provider returned error", publicMessage, {
|
|
453
|
-
exitCode: EXIT_RUNTIME,
|
|
454
|
-
required: ["HTTP 2xx from Gemini"],
|
|
455
|
-
received: [`status: ${response.status}`, `body: ${text.slice(0, 320) || "<empty>"}`],
|
|
456
|
-
nextSteps: isRateLimit
|
|
457
|
-
? ["Back off and retry after a short wait."]
|
|
458
|
-
: isAuth
|
|
459
|
-
? ["Run `scriptctl doctor` to verify provider configuration."]
|
|
460
|
-
: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
461
|
-
errorCode: isAuth
|
|
462
|
-
? "PROVIDER_AUTH_REJECTED"
|
|
463
|
-
: isRateLimit
|
|
464
|
-
? "PROVIDER_RATE_LIMITED"
|
|
465
|
-
: "PROVIDER_HTTP_ERROR",
|
|
456
|
+
maxRetries: 0,
|
|
466
457
|
});
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
try {
|
|
470
|
-
payload = JSON.parse(text);
|
|
458
|
+
raw = result.text.trim();
|
|
459
|
+
finishReason = strOf(result.finishReason);
|
|
471
460
|
}
|
|
472
461
|
catch (exc) {
|
|
473
|
-
throw
|
|
474
|
-
exitCode: EXIT_RUNTIME,
|
|
475
|
-
required: ["valid JSON response"],
|
|
476
|
-
received: [`body head: ${text.slice(0, 160)}`, `parse error: ${exc.message}`],
|
|
477
|
-
nextSteps: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
478
|
-
errorCode: "PROVIDER_INVALID_RESPONSE",
|
|
479
|
-
});
|
|
462
|
+
throw translateGeminiError(exc, tokens);
|
|
480
463
|
}
|
|
481
|
-
|
|
482
|
-
const finishReason = strOf(candidate?.finishReason ?? "");
|
|
483
|
-
if (finishReason === "MAX_TOKENS") {
|
|
464
|
+
if (finishReason === "length") {
|
|
484
465
|
throw new CliError("DRAFT FAILED: Provider output truncated", "Provider output truncated.", {
|
|
485
466
|
exitCode: EXIT_RUNTIME,
|
|
486
467
|
required: ["complete markdown within provider max_tokens"],
|
|
487
|
-
received: [`finishReason:
|
|
468
|
+
received: [`finishReason: ${finishReason}`, `maxOutputTokens: ${tokens}`],
|
|
488
469
|
nextSteps: [
|
|
489
470
|
"Re-run with --regen, or split the episode outline into smaller scopes.",
|
|
490
471
|
],
|
|
491
472
|
errorCode: "PROVIDER_OUTPUT_TRUNCATED",
|
|
492
473
|
});
|
|
493
474
|
}
|
|
494
|
-
if (finishReason && finishReason !== "
|
|
495
|
-
//
|
|
475
|
+
if (finishReason && finishReason !== "stop" && finishReason !== "length") {
|
|
476
|
+
// content-filter / error / other — surface to agent rather than silently treat as success.
|
|
496
477
|
throw new CliError("DRAFT FAILED: provider stopped abnormally", "Provider stopped before completing the response.", {
|
|
497
478
|
exitCode: EXIT_RUNTIME,
|
|
498
|
-
required: ["finishReason:
|
|
479
|
+
required: ["finishReason: stop"],
|
|
499
480
|
received: [`finishReason: ${finishReason}`],
|
|
500
481
|
nextSteps: ["Inspect prompt / outline for triggering content; retry with --regen if it looks transient."],
|
|
501
482
|
errorCode: "PROVIDER_ABNORMAL_STOP",
|
|
502
483
|
});
|
|
503
484
|
}
|
|
504
|
-
|
|
505
|
-
const out = parts.map((p) => (typeof p.text === "string" ? p.text : "")).join("").trim();
|
|
506
|
-
if (!out) {
|
|
485
|
+
if (!raw) {
|
|
507
486
|
throw new CliError("DRAFT FAILED: provider returned empty content", "Provider returned an empty response.", {
|
|
508
487
|
exitCode: EXIT_RUNTIME,
|
|
509
|
-
required: ["non-empty
|
|
510
|
-
received: [`finishReason: ${finishReason || "<unset>"}`,
|
|
488
|
+
required: ["non-empty model output"],
|
|
489
|
+
received: [`finishReason: ${finishReason || "<unset>"}`, "text: <empty>"],
|
|
511
490
|
nextSteps: ["Retry once; if it persists, run `scriptctl doctor`."],
|
|
512
491
|
errorCode: "PROVIDER_EMPTY_RESPONSE",
|
|
513
492
|
});
|
|
514
493
|
}
|
|
515
|
-
return
|
|
494
|
+
return raw;
|
|
516
495
|
}
|
|
517
496
|
}
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
497
|
+
// ---------------------------------------------------------------------------
|
|
498
|
+
// Error translation
|
|
499
|
+
// ---------------------------------------------------------------------------
|
|
500
|
+
function translateLiteLLMError(exc, titlePrefix) {
|
|
501
|
+
// ai-sdk wraps transient errors in RetryError after retries exhaust.
|
|
502
|
+
// Unwrap so 401/403/429 still resolve to their precise CliError variant
|
|
503
|
+
// instead of falling through to generic PROVIDER_NETWORK.
|
|
504
|
+
if (RetryError.isInstance(exc) && APICallError.isInstance(exc.lastError)) {
|
|
505
|
+
exc = exc.lastError;
|
|
523
506
|
}
|
|
524
|
-
|
|
507
|
+
if (APICallError.isInstance(exc)) {
|
|
508
|
+
const status = exc.statusCode ?? 0;
|
|
509
|
+
const isAuth = status === 401 || status === 403;
|
|
510
|
+
const isRateLimit = status === 429;
|
|
511
|
+
const publicMessage = isAuth
|
|
512
|
+
? "Provider rejected the request: authentication failed."
|
|
513
|
+
: isRateLimit
|
|
514
|
+
? "Provider is rate-limited."
|
|
515
|
+
: "Provider returned an HTTP error.";
|
|
516
|
+
const body = strOf(exc.responseBody).slice(0, 320) || "<empty>";
|
|
517
|
+
return new CliError(`${titlePrefix}: provider returned error`, publicMessage, {
|
|
518
|
+
exitCode: EXIT_RUNTIME,
|
|
519
|
+
required: ["HTTP 2xx from provider"],
|
|
520
|
+
received: [`status: ${status || "unknown"}`, `body: ${body}`],
|
|
521
|
+
nextSteps: isRateLimit
|
|
522
|
+
? ["Back off and retry after a short wait."]
|
|
523
|
+
: isAuth
|
|
524
|
+
? ["Run `scriptctl doctor` to verify provider configuration."]
|
|
525
|
+
: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
526
|
+
errorCode: isAuth
|
|
527
|
+
? "PROVIDER_AUTH_REJECTED"
|
|
528
|
+
: isRateLimit
|
|
529
|
+
? "PROVIDER_RATE_LIMITED"
|
|
530
|
+
: "PROVIDER_HTTP_ERROR",
|
|
531
|
+
});
|
|
532
|
+
}
|
|
533
|
+
if (RetryError.isInstance(exc)) {
|
|
534
|
+
return new CliError(`${titlePrefix}: provider unreachable`, "Provider endpoint is unreachable.", {
|
|
535
|
+
exitCode: EXIT_RUNTIME,
|
|
536
|
+
required: ["reachable provider endpoint"],
|
|
537
|
+
received: [strOf(exc.message).slice(0, 320) || "retries exhausted"],
|
|
538
|
+
nextSteps: ["Check network connectivity and retry. Run `scriptctl doctor` if the issue persists."],
|
|
539
|
+
errorCode: "PROVIDER_NETWORK",
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
const msg = strOf(exc?.message).slice(0, 320);
|
|
543
|
+
return new CliError(`${titlePrefix}: provider returned error`, "Provider returned an unexpected error.", {
|
|
544
|
+
exitCode: EXIT_RUNTIME,
|
|
545
|
+
required: ["successful provider response"],
|
|
546
|
+
received: [msg || String(exc)],
|
|
547
|
+
nextSteps: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
548
|
+
errorCode: "PROVIDER_HTTP_ERROR",
|
|
549
|
+
});
|
|
525
550
|
}
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
*/
|
|
530
|
-
function findToolUseInput(content, toolName) {
|
|
531
|
-
for (const block of content) {
|
|
532
|
-
if (block?.type === "tool_use" && block.name === toolName) {
|
|
533
|
-
const inp = block.input;
|
|
534
|
-
if (inp && typeof inp === "object" && !Array.isArray(inp))
|
|
535
|
-
return inp;
|
|
536
|
-
return null;
|
|
537
|
-
}
|
|
551
|
+
function translateGeminiError(exc, tokens) {
|
|
552
|
+
if (RetryError.isInstance(exc) && APICallError.isInstance(exc.lastError)) {
|
|
553
|
+
exc = exc.lastError;
|
|
538
554
|
}
|
|
539
|
-
|
|
555
|
+
if (APICallError.isInstance(exc)) {
|
|
556
|
+
const status = exc.statusCode ?? 0;
|
|
557
|
+
const isAuth = status === 401 || status === 403;
|
|
558
|
+
const isRateLimit = status === 429;
|
|
559
|
+
const publicMessage = isAuth
|
|
560
|
+
? "Provider rejected the request: authentication failed."
|
|
561
|
+
: isRateLimit
|
|
562
|
+
? "Provider is rate-limited."
|
|
563
|
+
: "Provider returned an HTTP error.";
|
|
564
|
+
const body = strOf(exc.responseBody).slice(0, 320) || "<empty>";
|
|
565
|
+
return new CliError("DRAFT FAILED: provider returned error", publicMessage, {
|
|
566
|
+
exitCode: EXIT_RUNTIME,
|
|
567
|
+
required: ["HTTP 2xx from Gemini"],
|
|
568
|
+
received: [`status: ${status || "unknown"}`, `body: ${body}`],
|
|
569
|
+
nextSteps: isRateLimit
|
|
570
|
+
? ["Back off and retry after a short wait."]
|
|
571
|
+
: isAuth
|
|
572
|
+
? ["Run `scriptctl doctor` to verify provider configuration."]
|
|
573
|
+
: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
574
|
+
errorCode: isAuth
|
|
575
|
+
? "PROVIDER_AUTH_REJECTED"
|
|
576
|
+
: isRateLimit
|
|
577
|
+
? "PROVIDER_RATE_LIMITED"
|
|
578
|
+
: "PROVIDER_HTTP_ERROR",
|
|
579
|
+
});
|
|
580
|
+
}
|
|
581
|
+
if (RetryError.isInstance(exc)) {
|
|
582
|
+
return new CliError("DRAFT FAILED: provider unreachable", "Provider endpoint is unreachable.", {
|
|
583
|
+
exitCode: EXIT_RUNTIME,
|
|
584
|
+
required: ["reachable Gemini endpoint"],
|
|
585
|
+
received: [strOf(exc.message).slice(0, 320) || "retries exhausted"],
|
|
586
|
+
nextSteps: ["Check network connectivity and retry. Run `scriptctl doctor` if the issue persists."],
|
|
587
|
+
errorCode: "PROVIDER_NETWORK",
|
|
588
|
+
});
|
|
589
|
+
}
|
|
590
|
+
const msg = strOf(exc?.message).slice(0, 320);
|
|
591
|
+
return new CliError("DRAFT FAILED: provider returned invalid response", "Provider returned a response that could not be parsed.", {
|
|
592
|
+
exitCode: EXIT_RUNTIME,
|
|
593
|
+
required: ["valid response from Gemini"],
|
|
594
|
+
received: [msg || String(exc), `maxOutputTokens: ${tokens}`],
|
|
595
|
+
nextSteps: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
596
|
+
errorCode: "PROVIDER_INVALID_RESPONSE",
|
|
597
|
+
});
|
|
540
598
|
}
|
|
541
599
|
// ---------------------------------------------------------------------------
|
|
542
600
|
// Factory
|
|
@@ -545,7 +603,7 @@ export function makeProvider(name, model) {
|
|
|
545
603
|
if (name === "mock")
|
|
546
604
|
return new MockProvider();
|
|
547
605
|
if (name === "anthropic")
|
|
548
|
-
return new
|
|
606
|
+
return new LiteLLMProvider(model);
|
|
549
607
|
if (name === "gemini")
|
|
550
608
|
return new GeminiProvider(model);
|
|
551
609
|
throw new CliError("INIT FAILED: Unsupported provider", "Unsupported provider.", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/infra/providers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/infra/providers.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.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "剧本阶段统一 CLI:直转外部素材到 script.json,以及当前最终剧本的读取、校验、原子编辑与批量 patch 精修。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -28,12 +28,15 @@
|
|
|
28
28
|
"typecheck": "tsc --noEmit"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@
|
|
31
|
+
"@ai-sdk/google": "^3.0.80",
|
|
32
|
+
"@ai-sdk/openai-compatible": "^2.0.48",
|
|
33
|
+
"ai": "^6.0.193",
|
|
32
34
|
"commander": "^12.1.0",
|
|
33
35
|
"exceljs": "^4.4.0",
|
|
34
36
|
"fast-xml-parser": "^4.5.0",
|
|
35
37
|
"jszip": "^3.10.1",
|
|
36
|
-
"pdfjs-dist": "^4.10.38"
|
|
38
|
+
"pdfjs-dist": "^4.10.38",
|
|
39
|
+
"zod": "^4.4.3"
|
|
37
40
|
},
|
|
38
41
|
"devDependencies": {
|
|
39
42
|
"@types/node": "^20.14.0",
|