@lingjingai/scriptctl 0.7.5 → 0.8.1
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 +333 -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":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,aAAa,EACb,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AACzB,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,aAAa,GAAG,uBAAuB,CAAC;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACxC,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAC9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AACnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAChE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,OAAO;IACP,UAAU;IACV,MAAM;IACN,QAAQ;IACR,WAAW;IACX,OAAO;IACP,OAAO;CACR,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,0BAA0B,GACrC,0EAA0E;IAC1E,2EAA2E;IAC3E,+CAA+C;IAC/C,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,WAAW;IACX,qBAAqB;IACrB,4BAA4B;IAC5B,2CAA2C;IAC3C,sCAAsC;IACtC,IAAI;IACJ,oBAAoB;IACpB,wBAAwB;IACxB,kCAAkC;IAClC,mCAAmC;IACnC,8BAA8B;IAC9B,wCAAwC;IACxC,wDAAwD;IACxD,2DAA2D;IAC3D,6BAA6B;IAC7B,IAAI;IACJ,WAAW;IACX,OAAO;IACP,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,IAAI;IACJ,SAAS;IACT,kBAAkB;IAClB,SAAS;IACT,IAAI;IACJ,SAAS;IACT,eAAe;IACf,SAAS;IACT,IAAI;IACJ,UAAU;IACV,0BAA0B;IAC1B,sBAAsB;IACtB,IAAI;IACJ,WAAW;IACX,qCAAqC;IACrC,IAAI;IACJ,WAAW;IACX,qCAAqC;IACrC,IAAI;IACJ,WAAW;IACX,qCAAqC;IACrC,IAAI;IACJ,UAAU;IACV,kFAAkF;IAClF,mFAAmF;IACnF,kFAAkF;IAClF,8FAA8F;IAC9F,kFAAkF;IAClF,sCAAsC;IACtC,8EAA8E;IAC9E,2EAA2E;IAC3E,wEAAwE;IACxE,kCAAkC;IAClC,gFAAgF;IAChF,4EAA4E;IAC5E,+EAA+E;IAC/E,6CAA6C;IAC7C,0EAA0E;IAC1E,+EAA+E;IAC/E,iFAAiF;IACjF,8EAA8E;IAC9E,gFAAgF;IAChF,+DAA+D;IAC/D,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,+DAA+D;IAC/D,mFAAmF;IACnF,sEAAsE;IACtE,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,iFAAiF;IACjF,mFAAmF;IACnF,4EAA4E;IAC5E,qDAAqD;IACrD,6EAA6E;IAC7E,8EAA8E;IAC9E,gCAAgC;IAChC,oFAAoF;IACpF,2EAA2E;IAC3E,+DAA+D;IAC/D,mFAAmF;IACnF,8CAA8C;IAC9C,mFAAmF;IACnF,oFAAoF;IACpF,kFAAkF;IAClF,2EAA2E;IAC3E,oCAAoC;IACpC,8EAA8E;IAC9E,6EAA6E;IAC7E,0EAA0E;IAC1E,mFAAmF;IACnF,oDAAoD;IACpD,qFAAqF;IACrF,sDAAsD;IACtD,iFAAiF;IACjF,6EAA6E;IAC7E,gEAAgE;IAChE,iDAAiD;IACjD,gFAAgF;IAChF,sBAAsB,CAAC;
|
|
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, extractJsonMiddleware, generateObject, generateText, wrapLanguageModel, } 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,69 @@ 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
|
+
// LiteLLM forwards OpenAI-compatible requests to Claude / DeepSeek / etc.
|
|
185
|
+
// Those upstream models don't honor `response_format: json_schema`, so
|
|
186
|
+
// generateObject falls back to prompt-engineered JSON output — and Claude
|
|
187
|
+
// habitually wraps that output in ```json ... ``` fences. extractJsonMiddleware
|
|
188
|
+
// strips the fences before ai-sdk's JSON.parse runs, so generateObject
|
|
189
|
+
// doesn't blow up with NoObjectGeneratedError on every well-formed reply.
|
|
190
|
+
this.model = wrapLanguageModel({
|
|
191
|
+
model: provider(modelId),
|
|
192
|
+
middleware: extractJsonMiddleware(),
|
|
193
|
+
});
|
|
194
|
+
const raw = (process.env.SCRIPTCTL_MAX_TOKENS ?? "").trim();
|
|
195
|
+
let mt = DEFAULT_MAX_TOKENS;
|
|
196
|
+
if (raw) {
|
|
197
|
+
const parsed = parseInt(raw, 10);
|
|
198
|
+
if (!Number.isNaN(parsed))
|
|
199
|
+
mt = parsed;
|
|
158
200
|
}
|
|
159
|
-
|
|
160
|
-
return [textFromResponse(response), strOf(response.stop_reason)];
|
|
201
|
+
this.configuredMaxTokens = Math.max(1024, Math.min(mt, DEFAULT_MAX_TOKENS));
|
|
161
202
|
}
|
|
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)];
|
|
203
|
+
capTokens(maxTokens, fallback) {
|
|
204
|
+
const requested = maxTokens !== undefined ? maxTokens : fallback;
|
|
205
|
+
return Math.max(1024, Math.min(requested, this.configuredMaxTokens, DEFAULT_MAX_TOKENS));
|
|
178
206
|
}
|
|
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
207
|
async complete(prompt, maxTokens) {
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
|
|
208
|
+
const max = this.capTokens(maxTokens, DEFAULT_BATCH_MAX_TOKENS);
|
|
209
|
+
let raw;
|
|
210
|
+
let finishReason;
|
|
211
|
+
try {
|
|
212
|
+
const result = await generateText({
|
|
213
|
+
model: this.model,
|
|
214
|
+
prompt,
|
|
215
|
+
maxOutputTokens: max,
|
|
216
|
+
maxRetries: 0,
|
|
217
|
+
});
|
|
218
|
+
raw = result.text.trim();
|
|
219
|
+
finishReason = strOf(result.finishReason);
|
|
220
|
+
}
|
|
221
|
+
catch (exc) {
|
|
222
|
+
throw translateLiteLLMError(exc, "DRAFT FAILED");
|
|
223
|
+
}
|
|
224
|
+
if (finishReason === "length") {
|
|
189
225
|
throw new CliError("DRAFT FAILED: Provider output truncated", "Provider output truncated.", {
|
|
190
226
|
exitCode: EXIT_RUNTIME,
|
|
191
227
|
required: ["complete markdown within provider max_tokens"],
|
|
192
228
|
received: [
|
|
193
|
-
`
|
|
194
|
-
`max_tokens: ${
|
|
229
|
+
`finishReason: ${finishReason}`,
|
|
230
|
+
`max_tokens: ${max}`,
|
|
195
231
|
`raw chars: ${raw.length}`,
|
|
196
232
|
`tail: ${raw.slice(-160) || "<empty response>"}`,
|
|
197
233
|
],
|
|
@@ -207,7 +243,7 @@ export class AnthropicProvider {
|
|
|
207
243
|
return this.extractBatch(sourceText, episodePlan);
|
|
208
244
|
}
|
|
209
245
|
async extractBatch(sourceText, batchPlan) {
|
|
210
|
-
const context = isList(batchPlan["context"]) || typeof batchPlan["context"] === "object" && batchPlan["context"] !== null
|
|
246
|
+
const context = isList(batchPlan["context"]) || (typeof batchPlan["context"] === "object" && batchPlan["context"] !== null)
|
|
211
247
|
? batchPlan["context"]
|
|
212
248
|
: {};
|
|
213
249
|
const numberedSource = formatBatchSource(sourceText, batchPlan);
|
|
@@ -223,15 +259,29 @@ export class AnthropicProvider {
|
|
|
223
259
|
"\n" +
|
|
224
260
|
"Batch Source:\n" +
|
|
225
261
|
`${numberedSource}\n`;
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
262
|
+
const max = this.capTokens(DEFAULT_BATCH_MAX_TOKENS, DEFAULT_BATCH_MAX_TOKENS);
|
|
263
|
+
let raw;
|
|
264
|
+
let finishReason;
|
|
265
|
+
try {
|
|
266
|
+
const result = await generateText({
|
|
267
|
+
model: this.model,
|
|
268
|
+
prompt,
|
|
269
|
+
maxOutputTokens: max,
|
|
270
|
+
maxRetries: 0,
|
|
271
|
+
});
|
|
272
|
+
raw = result.text.trim();
|
|
273
|
+
finishReason = strOf(result.finishReason);
|
|
274
|
+
}
|
|
275
|
+
catch (exc) {
|
|
276
|
+
throw translateLiteLLMError(exc, "INIT FAILED");
|
|
277
|
+
}
|
|
278
|
+
if (finishReason === "length") {
|
|
229
279
|
throw new CliError("INIT FAILED: Provider output truncated", "Provider output truncated.", {
|
|
230
280
|
exitCode: EXIT_RUNTIME,
|
|
231
281
|
required: ["complete markdown within provider max_tokens"],
|
|
232
282
|
received: [
|
|
233
|
-
`
|
|
234
|
-
`max_tokens: ${
|
|
283
|
+
`finishReason: ${finishReason}`,
|
|
284
|
+
`max_tokens: ${max}`,
|
|
235
285
|
`raw chars: ${raw.length}`,
|
|
236
286
|
`tail: ${raw.slice(-160) || "<empty response>"}`,
|
|
237
287
|
],
|
|
@@ -259,32 +309,19 @@ export class AnthropicProvider {
|
|
|
259
309
|
"\n" +
|
|
260
310
|
"Episodes needing titles:\n" +
|
|
261
311
|
`${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;
|
|
312
|
+
return this.extractStructured({
|
|
313
|
+
prompt,
|
|
314
|
+
maxTokens: 4096,
|
|
315
|
+
schema: EPISODE_TITLE_SCHEMA,
|
|
316
|
+
title: "INIT FAILED: Episode title output truncated",
|
|
317
|
+
truncationMessage: "Episode title output truncated.",
|
|
318
|
+
required: ["complete episode title JSON within provider max_tokens"],
|
|
319
|
+
invalidTitle: "INIT FAILED: Provider returned invalid episode title JSON",
|
|
320
|
+
invalidMessage: "Provider returned invalid episode title JSON.",
|
|
321
|
+
invalidRequired: ["valid JSON matching the configured schema"],
|
|
322
|
+
truncationNext: ["Rerun init; if this repeats, split the source or provide explicit episode titles."],
|
|
323
|
+
invalidNext: ["Rerun init; title generation will retry before batch extraction."],
|
|
324
|
+
});
|
|
288
325
|
}
|
|
289
326
|
async extractAssetCuration(_sourceText, script) {
|
|
290
327
|
const context = buildAssetCurationContext(script);
|
|
@@ -302,32 +339,19 @@ export class AnthropicProvider {
|
|
|
302
339
|
"\n" +
|
|
303
340
|
"Script asset curation context:\n" +
|
|
304
341
|
`${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;
|
|
342
|
+
return this.extractStructured({
|
|
343
|
+
prompt,
|
|
344
|
+
maxTokens: DEFAULT_MAX_TOKENS,
|
|
345
|
+
schema: ASSET_CURATION_SCHEMA,
|
|
346
|
+
title: "INIT FAILED: Asset curation output truncated",
|
|
347
|
+
truncationMessage: "Asset curation output truncated.",
|
|
348
|
+
required: ["complete asset curation JSON within provider max_tokens"],
|
|
349
|
+
invalidTitle: "INIT FAILED: Provider returned invalid asset curation JSON",
|
|
350
|
+
invalidMessage: "Provider returned invalid asset curation JSON.",
|
|
351
|
+
invalidRequired: ["valid JSON matching the configured schema"],
|
|
352
|
+
truncationNext: ["Rerun init; extraction checkpoints will be reused and asset curation will retry."],
|
|
353
|
+
invalidNext: ["Rerun init; extraction checkpoints will be reused and asset curation will retry."],
|
|
354
|
+
});
|
|
331
355
|
}
|
|
332
356
|
async extractMetadata(_sourceText, script) {
|
|
333
357
|
const context = buildMetadataContext(script);
|
|
@@ -345,56 +369,68 @@ export class AnthropicProvider {
|
|
|
345
369
|
"\n" +
|
|
346
370
|
"Script metadata context:\n" +
|
|
347
371
|
`${JSON.stringify(context)}\n`;
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
372
|
+
return this.extractStructured({
|
|
373
|
+
prompt,
|
|
374
|
+
maxTokens: DEFAULT_MAX_TOKENS,
|
|
375
|
+
schema: METADATA_SCHEMA,
|
|
376
|
+
title: "INIT FAILED: Metadata output truncated",
|
|
377
|
+
truncationMessage: "Metadata output truncated.",
|
|
378
|
+
required: ["complete metadata JSON within provider max_tokens"],
|
|
379
|
+
invalidTitle: "INIT FAILED: Provider returned invalid metadata JSON",
|
|
380
|
+
invalidMessage: "Provider returned invalid metadata JSON.",
|
|
381
|
+
invalidRequired: ["valid JSON matching the configured schema"],
|
|
382
|
+
truncationNext: ["Rerun init; extraction checkpoints will be reused and metadata will retry."],
|
|
383
|
+
invalidNext: ["Rerun init; extraction checkpoints will be reused and metadata will retry."],
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
async extractStructured(args) {
|
|
387
|
+
const max = this.capTokens(args.maxTokens, args.maxTokens);
|
|
388
|
+
try {
|
|
389
|
+
const result = await generateObject({
|
|
390
|
+
model: this.model,
|
|
391
|
+
prompt: args.prompt,
|
|
392
|
+
schema: args.schema,
|
|
393
|
+
maxOutputTokens: max,
|
|
394
|
+
maxRetries: 0,
|
|
363
395
|
});
|
|
396
|
+
const finishReason = strOf(result.finishReason);
|
|
397
|
+
if (finishReason === "length") {
|
|
398
|
+
throw new CliError(args.title, args.truncationMessage, {
|
|
399
|
+
exitCode: EXIT_RUNTIME,
|
|
400
|
+
required: args.required,
|
|
401
|
+
received: [`finishReason: ${finishReason}`, `max_tokens: ${max}`],
|
|
402
|
+
nextSteps: args.truncationNext,
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
return result.object;
|
|
364
406
|
}
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
407
|
+
catch (exc) {
|
|
408
|
+
if (exc instanceof CliError)
|
|
409
|
+
throw exc;
|
|
410
|
+
if (NoObjectGeneratedError.isInstance(exc)) {
|
|
411
|
+
const cause = exc.cause;
|
|
412
|
+
throw new CliError(args.invalidTitle, args.invalidMessage, {
|
|
413
|
+
exitCode: EXIT_RUNTIME,
|
|
414
|
+
required: args.invalidRequired,
|
|
415
|
+
received: [
|
|
416
|
+
`error: ${exc.message?.slice(0, 160) || "no object generated"}`,
|
|
417
|
+
...(cause?.message ? [`cause: ${cause.message.slice(0, 160)}`] : []),
|
|
418
|
+
],
|
|
419
|
+
nextSteps: args.invalidNext,
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
throw translateLiteLLMError(exc, "INIT FAILED");
|
|
372
423
|
}
|
|
373
|
-
return input;
|
|
374
424
|
}
|
|
375
425
|
}
|
|
376
426
|
// ---------------------------------------------------------------------------
|
|
377
|
-
// Gemini provider
|
|
427
|
+
// Gemini provider — @ai-sdk/google direct to Google AI Studio.
|
|
428
|
+
// Used by `scriptctl episode draft` when --provider gemini.
|
|
378
429
|
// ---------------------------------------------------------------------------
|
|
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
430
|
export class GeminiProvider {
|
|
393
431
|
name = "gemini";
|
|
394
|
-
apiKey;
|
|
395
|
-
baseUrl;
|
|
396
432
|
model;
|
|
397
|
-
constructor(
|
|
433
|
+
constructor(modelId) {
|
|
398
434
|
const apiKey = (process.env.SCRIPTCTL_GEMINI_API_KEY ?? process.env.GEMINI_API_KEY ?? "").trim();
|
|
399
435
|
if (!apiKey) {
|
|
400
436
|
throw new CliError("DRAFT FAILED: provider not configured", "Provider credentials are not configured for this environment.", {
|
|
@@ -405,138 +441,169 @@ export class GeminiProvider {
|
|
|
405
441
|
errorCode: "PROVIDER_AUTH_MISSING",
|
|
406
442
|
});
|
|
407
443
|
}
|
|
408
|
-
|
|
409
|
-
const
|
|
410
|
-
|
|
411
|
-
|
|
444
|
+
const baseURL = (process.env.SCRIPTCTL_GEMINI_BASE_URL ?? "").trim();
|
|
445
|
+
const opts = { apiKey };
|
|
446
|
+
if (baseURL)
|
|
447
|
+
opts.baseURL = baseURL.replace(/\/+$/, "");
|
|
448
|
+
const provider = createGoogleGenerativeAI(opts);
|
|
449
|
+
const id = (modelId || process.env.SCRIPTCTL_GEMINI_MODEL || "gemini-2.5-pro").trim();
|
|
450
|
+
this.model = provider(id);
|
|
412
451
|
}
|
|
413
452
|
/**
|
|
414
453
|
* Plain-text completion. Used by `episode draft` to write a spec-md episode body.
|
|
415
454
|
*/
|
|
416
455
|
async complete(prompt, maxTokens) {
|
|
417
456
|
const tokens = Math.max(1024, Math.min(maxTokens ?? DEFAULT_BATCH_MAX_TOKENS, DEFAULT_MAX_TOKENS));
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
457
|
+
let raw;
|
|
458
|
+
let finishReason;
|
|
459
|
+
try {
|
|
460
|
+
const result = await generateText({
|
|
461
|
+
model: this.model,
|
|
462
|
+
prompt,
|
|
422
463
|
maxOutputTokens: tokens,
|
|
423
464
|
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",
|
|
465
|
+
maxRetries: 0,
|
|
466
466
|
});
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
try {
|
|
470
|
-
payload = JSON.parse(text);
|
|
467
|
+
raw = result.text.trim();
|
|
468
|
+
finishReason = strOf(result.finishReason);
|
|
471
469
|
}
|
|
472
470
|
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
|
-
});
|
|
471
|
+
throw translateGeminiError(exc, tokens);
|
|
480
472
|
}
|
|
481
|
-
|
|
482
|
-
const finishReason = strOf(candidate?.finishReason ?? "");
|
|
483
|
-
if (finishReason === "MAX_TOKENS") {
|
|
473
|
+
if (finishReason === "length") {
|
|
484
474
|
throw new CliError("DRAFT FAILED: Provider output truncated", "Provider output truncated.", {
|
|
485
475
|
exitCode: EXIT_RUNTIME,
|
|
486
476
|
required: ["complete markdown within provider max_tokens"],
|
|
487
|
-
received: [`finishReason:
|
|
477
|
+
received: [`finishReason: ${finishReason}`, `maxOutputTokens: ${tokens}`],
|
|
488
478
|
nextSteps: [
|
|
489
479
|
"Re-run with --regen, or split the episode outline into smaller scopes.",
|
|
490
480
|
],
|
|
491
481
|
errorCode: "PROVIDER_OUTPUT_TRUNCATED",
|
|
492
482
|
});
|
|
493
483
|
}
|
|
494
|
-
if (finishReason && finishReason !== "
|
|
495
|
-
//
|
|
484
|
+
if (finishReason && finishReason !== "stop" && finishReason !== "length") {
|
|
485
|
+
// content-filter / error / other — surface to agent rather than silently treat as success.
|
|
496
486
|
throw new CliError("DRAFT FAILED: provider stopped abnormally", "Provider stopped before completing the response.", {
|
|
497
487
|
exitCode: EXIT_RUNTIME,
|
|
498
|
-
required: ["finishReason:
|
|
488
|
+
required: ["finishReason: stop"],
|
|
499
489
|
received: [`finishReason: ${finishReason}`],
|
|
500
490
|
nextSteps: ["Inspect prompt / outline for triggering content; retry with --regen if it looks transient."],
|
|
501
491
|
errorCode: "PROVIDER_ABNORMAL_STOP",
|
|
502
492
|
});
|
|
503
493
|
}
|
|
504
|
-
|
|
505
|
-
const out = parts.map((p) => (typeof p.text === "string" ? p.text : "")).join("").trim();
|
|
506
|
-
if (!out) {
|
|
494
|
+
if (!raw) {
|
|
507
495
|
throw new CliError("DRAFT FAILED: provider returned empty content", "Provider returned an empty response.", {
|
|
508
496
|
exitCode: EXIT_RUNTIME,
|
|
509
|
-
required: ["non-empty
|
|
510
|
-
received: [`finishReason: ${finishReason || "<unset>"}`,
|
|
497
|
+
required: ["non-empty model output"],
|
|
498
|
+
received: [`finishReason: ${finishReason || "<unset>"}`, "text: <empty>"],
|
|
511
499
|
nextSteps: ["Retry once; if it persists, run `scriptctl doctor`."],
|
|
512
500
|
errorCode: "PROVIDER_EMPTY_RESPONSE",
|
|
513
501
|
});
|
|
514
502
|
}
|
|
515
|
-
return
|
|
503
|
+
return raw;
|
|
516
504
|
}
|
|
517
505
|
}
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
506
|
+
// ---------------------------------------------------------------------------
|
|
507
|
+
// Error translation
|
|
508
|
+
// ---------------------------------------------------------------------------
|
|
509
|
+
function translateLiteLLMError(exc, titlePrefix) {
|
|
510
|
+
// ai-sdk wraps transient errors in RetryError after retries exhaust.
|
|
511
|
+
// Unwrap so 401/403/429 still resolve to their precise CliError variant
|
|
512
|
+
// instead of falling through to generic PROVIDER_NETWORK.
|
|
513
|
+
if (RetryError.isInstance(exc) && APICallError.isInstance(exc.lastError)) {
|
|
514
|
+
exc = exc.lastError;
|
|
523
515
|
}
|
|
524
|
-
|
|
516
|
+
if (APICallError.isInstance(exc)) {
|
|
517
|
+
const status = exc.statusCode ?? 0;
|
|
518
|
+
const isAuth = status === 401 || status === 403;
|
|
519
|
+
const isRateLimit = status === 429;
|
|
520
|
+
const publicMessage = isAuth
|
|
521
|
+
? "Provider rejected the request: authentication failed."
|
|
522
|
+
: isRateLimit
|
|
523
|
+
? "Provider is rate-limited."
|
|
524
|
+
: "Provider returned an HTTP error.";
|
|
525
|
+
const body = strOf(exc.responseBody).slice(0, 320) || "<empty>";
|
|
526
|
+
return new CliError(`${titlePrefix}: provider returned error`, publicMessage, {
|
|
527
|
+
exitCode: EXIT_RUNTIME,
|
|
528
|
+
required: ["HTTP 2xx from provider"],
|
|
529
|
+
received: [`status: ${status || "unknown"}`, `body: ${body}`],
|
|
530
|
+
nextSteps: isRateLimit
|
|
531
|
+
? ["Back off and retry after a short wait."]
|
|
532
|
+
: isAuth
|
|
533
|
+
? ["Run `scriptctl doctor` to verify provider configuration."]
|
|
534
|
+
: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
535
|
+
errorCode: isAuth
|
|
536
|
+
? "PROVIDER_AUTH_REJECTED"
|
|
537
|
+
: isRateLimit
|
|
538
|
+
? "PROVIDER_RATE_LIMITED"
|
|
539
|
+
: "PROVIDER_HTTP_ERROR",
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
if (RetryError.isInstance(exc)) {
|
|
543
|
+
return new CliError(`${titlePrefix}: provider unreachable`, "Provider endpoint is unreachable.", {
|
|
544
|
+
exitCode: EXIT_RUNTIME,
|
|
545
|
+
required: ["reachable provider endpoint"],
|
|
546
|
+
received: [strOf(exc.message).slice(0, 320) || "retries exhausted"],
|
|
547
|
+
nextSteps: ["Check network connectivity and retry. Run `scriptctl doctor` if the issue persists."],
|
|
548
|
+
errorCode: "PROVIDER_NETWORK",
|
|
549
|
+
});
|
|
550
|
+
}
|
|
551
|
+
const msg = strOf(exc?.message).slice(0, 320);
|
|
552
|
+
return new CliError(`${titlePrefix}: provider returned error`, "Provider returned an unexpected error.", {
|
|
553
|
+
exitCode: EXIT_RUNTIME,
|
|
554
|
+
required: ["successful provider response"],
|
|
555
|
+
received: [msg || String(exc)],
|
|
556
|
+
nextSteps: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
557
|
+
errorCode: "PROVIDER_HTTP_ERROR",
|
|
558
|
+
});
|
|
525
559
|
}
|
|
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
|
-
}
|
|
560
|
+
function translateGeminiError(exc, tokens) {
|
|
561
|
+
if (RetryError.isInstance(exc) && APICallError.isInstance(exc.lastError)) {
|
|
562
|
+
exc = exc.lastError;
|
|
538
563
|
}
|
|
539
|
-
|
|
564
|
+
if (APICallError.isInstance(exc)) {
|
|
565
|
+
const status = exc.statusCode ?? 0;
|
|
566
|
+
const isAuth = status === 401 || status === 403;
|
|
567
|
+
const isRateLimit = status === 429;
|
|
568
|
+
const publicMessage = isAuth
|
|
569
|
+
? "Provider rejected the request: authentication failed."
|
|
570
|
+
: isRateLimit
|
|
571
|
+
? "Provider is rate-limited."
|
|
572
|
+
: "Provider returned an HTTP error.";
|
|
573
|
+
const body = strOf(exc.responseBody).slice(0, 320) || "<empty>";
|
|
574
|
+
return new CliError("DRAFT FAILED: provider returned error", publicMessage, {
|
|
575
|
+
exitCode: EXIT_RUNTIME,
|
|
576
|
+
required: ["HTTP 2xx from Gemini"],
|
|
577
|
+
received: [`status: ${status || "unknown"}`, `body: ${body}`],
|
|
578
|
+
nextSteps: isRateLimit
|
|
579
|
+
? ["Back off and retry after a short wait."]
|
|
580
|
+
: isAuth
|
|
581
|
+
? ["Run `scriptctl doctor` to verify provider configuration."]
|
|
582
|
+
: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
583
|
+
errorCode: isAuth
|
|
584
|
+
? "PROVIDER_AUTH_REJECTED"
|
|
585
|
+
: isRateLimit
|
|
586
|
+
? "PROVIDER_RATE_LIMITED"
|
|
587
|
+
: "PROVIDER_HTTP_ERROR",
|
|
588
|
+
});
|
|
589
|
+
}
|
|
590
|
+
if (RetryError.isInstance(exc)) {
|
|
591
|
+
return new CliError("DRAFT FAILED: provider unreachable", "Provider endpoint is unreachable.", {
|
|
592
|
+
exitCode: EXIT_RUNTIME,
|
|
593
|
+
required: ["reachable Gemini endpoint"],
|
|
594
|
+
received: [strOf(exc.message).slice(0, 320) || "retries exhausted"],
|
|
595
|
+
nextSteps: ["Check network connectivity and retry. Run `scriptctl doctor` if the issue persists."],
|
|
596
|
+
errorCode: "PROVIDER_NETWORK",
|
|
597
|
+
});
|
|
598
|
+
}
|
|
599
|
+
const msg = strOf(exc?.message).slice(0, 320);
|
|
600
|
+
return new CliError("DRAFT FAILED: provider returned invalid response", "Provider returned a response that could not be parsed.", {
|
|
601
|
+
exitCode: EXIT_RUNTIME,
|
|
602
|
+
required: ["valid response from Gemini"],
|
|
603
|
+
received: [msg || String(exc), `maxOutputTokens: ${tokens}`],
|
|
604
|
+
nextSteps: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
605
|
+
errorCode: "PROVIDER_INVALID_RESPONSE",
|
|
606
|
+
});
|
|
540
607
|
}
|
|
541
608
|
// ---------------------------------------------------------------------------
|
|
542
609
|
// Factory
|
|
@@ -545,7 +612,7 @@ export function makeProvider(name, model) {
|
|
|
545
612
|
if (name === "mock")
|
|
546
613
|
return new MockProvider();
|
|
547
614
|
if (name === "anthropic")
|
|
548
|
-
return new
|
|
615
|
+
return new LiteLLMProvider(model);
|
|
549
616
|
if (name === "gemini")
|
|
550
617
|
return new GeminiProvider(model);
|
|
551
618
|
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.1",
|
|
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",
|