@lingjingai/scriptctl 0.13.1 → 0.19.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/README.md +1 -1
- package/dist/cli.js +33 -49
- package/dist/cli.js.map +1 -1
- package/dist/common.d.ts +11 -4
- package/dist/common.js +83 -61
- package/dist/common.js.map +1 -1
- package/dist/domain/direct-core.d.ts +27 -4
- package/dist/domain/direct-core.js +281 -55
- package/dist/domain/direct-core.js.map +1 -1
- package/dist/domain/script-core.d.ts +15 -0
- package/dist/domain/script-core.js +207 -40
- package/dist/domain/script-core.js.map +1 -1
- package/dist/help-text.js +45 -315
- package/dist/help-text.js.map +1 -1
- package/dist/infra/providers.d.ts +10 -36
- package/dist/infra/providers.js +144 -300
- package/dist/infra/providers.js.map +1 -1
- package/dist/usecases/direct.js +342 -60
- package/dist/usecases/direct.js.map +1 -1
- package/dist/usecases/doctor.js +2 -5
- package/dist/usecases/doctor.js.map +1 -1
- package/dist/usecases/parse.js +104 -14
- package/dist/usecases/parse.js.map +1 -1
- package/dist/usecases/script.d.ts +7 -2
- package/dist/usecases/script.js +180 -12
- package/dist/usecases/script.js.map +1 -1
- package/package.json +2 -3
- package/dist/domain/asset-registry.d.ts +0 -141
- package/dist/domain/asset-registry.js +0 -318
- package/dist/domain/asset-registry.js.map +0 -1
- package/dist/domain/collision-detector.d.ts +0 -83
- package/dist/domain/collision-detector.js +0 -248
- package/dist/domain/collision-detector.js.map +0 -1
- package/dist/infra/default-writing-prompt.d.ts +0 -31
- package/dist/infra/default-writing-prompt.js +0 -50
- package/dist/infra/default-writing-prompt.js.map +0 -1
- package/dist/infra/default-writing-prompt.md +0 -115
- package/dist/infra/gemini-writer.d.ts +0 -107
- package/dist/infra/gemini-writer.js +0 -207
- package/dist/infra/gemini-writer.js.map +0 -1
- package/dist/usecases/episode.d.ts +0 -48
- package/dist/usecases/episode.js +0 -1242
- package/dist/usecases/episode.js.map +0 -1
package/dist/infra/providers.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Anthropic from "@anthropic-ai/sdk";
|
|
2
|
-
import {
|
|
3
|
-
import { _md_push_asset, _normalize_speaker_list,
|
|
2
|
+
import { CliError, DEFAULT_BATCH_MAX_TOKENS, DEFAULT_MAX_TOKENS, DEFAULT_THINKING_BUDGET_TOKENS, EPISODE_SYNOPSIS_SCHEMA, EPISODE_TITLE_EXTRACTION_SCHEMA, EXIT_RUNTIME, EXIT_USAGE, MARKDOWN_BATCH_PROMPT_SPEC, METADATA_MD_SPEC, NONSTREAMING_MAX_TOKENS, SCRIPT_SYNOPSIS_SCHEMA, } from "../common.js";
|
|
3
|
+
import { _md_push_asset, _normalize_speaker_list, cleanSynopsisList, buildEpisodeTitleContext, buildMetadataContext, deterministicEpisodeShortTitle, deterministicExtractEpisode, deterministicExtractMetadata, episodesNeedingGeneratedTitles, formatBatchSource, parseMarkdownBatch, parseMarkdownMetadata, } from "../domain/direct-core.js";
|
|
4
4
|
function strOf(v) {
|
|
5
5
|
if (v === null || v === undefined)
|
|
6
6
|
return "";
|
|
@@ -17,38 +17,6 @@ function asList(v) {
|
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
18
18
|
export class MockProvider {
|
|
19
19
|
name = "mock";
|
|
20
|
-
/**
|
|
21
|
-
* Mock completion for episode draft tests. Returns a small valid spec-md fragment.
|
|
22
|
-
* Real callers must never use mock provider for delivery.
|
|
23
|
-
*/
|
|
24
|
-
async complete(_prompt, _maxTokens) {
|
|
25
|
-
return [
|
|
26
|
-
"# 剧本",
|
|
27
|
-
"",
|
|
28
|
-
"## 场景 1",
|
|
29
|
-
"- 时空: 内 日",
|
|
30
|
-
"- 地点: mock-location",
|
|
31
|
-
"- 角色: mock-actor-A, mock-actor-B",
|
|
32
|
-
"- 道具: mock-prop",
|
|
33
|
-
"",
|
|
34
|
-
"> [act] mock action body for testing.",
|
|
35
|
-
"> [dlg|mock-actor-A] mock dialogue line.",
|
|
36
|
-
"> [dlg|mock-actor-B|微笑] another mock line.",
|
|
37
|
-
"",
|
|
38
|
-
"# 资产",
|
|
39
|
-
"",
|
|
40
|
-
"## 人物",
|
|
41
|
-
"- mock-actor-A: mock provider actor A",
|
|
42
|
-
"- mock-actor-B: mock provider actor B",
|
|
43
|
-
"",
|
|
44
|
-
"## 场景",
|
|
45
|
-
"- mock-location: mock provider location",
|
|
46
|
-
"",
|
|
47
|
-
"## 道具",
|
|
48
|
-
"- mock-prop: mock provider prop",
|
|
49
|
-
"",
|
|
50
|
-
].join("\n");
|
|
51
|
-
}
|
|
52
20
|
extractEpisode(sourceText, episodePlan) {
|
|
53
21
|
return this.extractBatch(sourceText, episodePlan);
|
|
54
22
|
}
|
|
@@ -80,13 +48,34 @@ export class MockProvider {
|
|
|
80
48
|
result["locations"] = locations;
|
|
81
49
|
result["props"] = props;
|
|
82
50
|
result["speakers"] = _normalize_speaker_list(speakers);
|
|
51
|
+
// Deterministic fragment synopsis so the mock-flow e2e can verify the whole
|
|
52
|
+
// synopsis chain end-to-end: take the first non-empty action content.
|
|
53
|
+
const firstContent = asList(result["scenes"])
|
|
54
|
+
.flatMap((scene) => asList(scene["actions"]))
|
|
55
|
+
.map((action) => strOf(action["content"]).trim())
|
|
56
|
+
.find((c) => c.length > 0);
|
|
57
|
+
if (firstContent)
|
|
58
|
+
result["synopsis"] = firstContent.slice(0, 40);
|
|
83
59
|
return result;
|
|
84
60
|
}
|
|
85
61
|
extractMetadata(_sourceText, script) {
|
|
86
62
|
return deterministicExtractMetadata(script);
|
|
87
63
|
}
|
|
88
|
-
|
|
89
|
-
|
|
64
|
+
extractEpisodeSynopsis(synopses, _ctx) {
|
|
65
|
+
// Prefix marks that this deterministic STITCH ran — lets e2e tests tell a
|
|
66
|
+
// real reduce-step call apart from the plain-join fallback (which has no
|
|
67
|
+
// prefix) and prove the multi-group reduce path actually executed.
|
|
68
|
+
return { synopsis: `stitch:${cleanSynopsisList(synopses).join(" ")}` };
|
|
69
|
+
}
|
|
70
|
+
extractScriptSynopsis(synopses, _ctx) {
|
|
71
|
+
const joined = cleanSynopsisList(synopses).join(" ");
|
|
72
|
+
return {
|
|
73
|
+
synopsis: joined,
|
|
74
|
+
theme: "mock-theme",
|
|
75
|
+
logline: "mock-logline",
|
|
76
|
+
style: "mock-style",
|
|
77
|
+
main_characters: [],
|
|
78
|
+
};
|
|
90
79
|
}
|
|
91
80
|
extractEpisodeTitles(sourceText, episodePlan) {
|
|
92
81
|
return {
|
|
@@ -150,12 +139,10 @@ export class AnthropicProvider {
|
|
|
150
139
|
return request;
|
|
151
140
|
}
|
|
152
141
|
async collectResponseText(request) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
return [text.trim(), strOf(message.stop_reason)];
|
|
158
|
-
}
|
|
142
|
+
// Only caller is extractBatch (max_tokens = DEFAULT_BATCH_MAX_TOKENS, always
|
|
143
|
+
// below NONSTREAMING_MAX_TOKENS), so the non-streaming create path is the
|
|
144
|
+
// only reachable one. The streaming branch lives on in collectToolUseInput
|
|
145
|
+
// for the large-token tool-use methods.
|
|
159
146
|
const response = await this.client.messages.create(request);
|
|
160
147
|
return [textFromResponse(response), strOf(response.stop_reason)];
|
|
161
148
|
}
|
|
@@ -177,31 +164,34 @@ export class AnthropicProvider {
|
|
|
177
164
|
return [findToolUseInput(response.content ?? [], toolName), strOf(response.stop_reason)];
|
|
178
165
|
}
|
|
179
166
|
/**
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
167
|
+
* Shared forced-tool-use round-trip: build the request with a single forced
|
|
168
|
+
* tool, run it, and map the two failure modes (max_tokens truncation, missing
|
|
169
|
+
* tool_use block) to method-specific CliErrors. Every tool_use extraction
|
|
170
|
+
* (titles / curation / metadata / episode-synopsis / script-synopsis) routes
|
|
171
|
+
* through here so the protocol and error contract live in one place.
|
|
184
172
|
*/
|
|
185
|
-
async
|
|
186
|
-
const request = this.messageRequest(prompt, maxTokens
|
|
187
|
-
|
|
173
|
+
async runToolUse(spec) {
|
|
174
|
+
const request = { ...this.messageRequest(spec.prompt, spec.maxTokens) };
|
|
175
|
+
request["tools"] = [{ name: spec.toolName, description: spec.description, input_schema: spec.schema }];
|
|
176
|
+
request["tool_choice"] = { type: "tool", name: spec.toolName };
|
|
177
|
+
const [input, stopReason] = await this.collectToolUseInput(request, spec.toolName);
|
|
188
178
|
if (stopReason === "max_tokens") {
|
|
189
|
-
throw new CliError(
|
|
179
|
+
throw new CliError(spec.truncatedTitle, `${spec.truncatedTitle}.`, {
|
|
190
180
|
exitCode: EXIT_RUNTIME,
|
|
191
|
-
required: ["complete
|
|
192
|
-
received: [
|
|
193
|
-
|
|
194
|
-
`max_tokens: ${request.max_tokens}`,
|
|
195
|
-
`raw chars: ${raw.length}`,
|
|
196
|
-
`tail: ${raw.slice(-160) || "<empty response>"}`,
|
|
197
|
-
],
|
|
198
|
-
nextSteps: [
|
|
199
|
-
"Re-run with --regen, or split the episode outline into smaller scopes.",
|
|
200
|
-
],
|
|
201
|
-
errorCode: "PROVIDER_OUTPUT_TRUNCATED",
|
|
181
|
+
required: ["complete JSON within provider max_tokens"],
|
|
182
|
+
received: [`stop_reason: ${stopReason}`, `max_tokens: ${request["max_tokens"]}`],
|
|
183
|
+
nextSteps: spec.nextSteps,
|
|
202
184
|
});
|
|
203
185
|
}
|
|
204
|
-
|
|
186
|
+
if (!input) {
|
|
187
|
+
throw new CliError(spec.invalidTitle, `${spec.invalidTitle}.`, {
|
|
188
|
+
exitCode: EXIT_RUNTIME,
|
|
189
|
+
required: [`tool_use block with name "${spec.toolName}"`],
|
|
190
|
+
received: [`stop_reason: ${stopReason || "unknown"}`, `missing tool_use block: ${spec.toolName}`],
|
|
191
|
+
nextSteps: spec.nextSteps,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
return input;
|
|
205
195
|
}
|
|
206
196
|
extractEpisode(sourceText, episodePlan) {
|
|
207
197
|
return this.extractBatch(sourceText, episodePlan);
|
|
@@ -275,260 +265,116 @@ export class AnthropicProvider {
|
|
|
275
265
|
"\n" +
|
|
276
266
|
"Episodes needing titles:\n" +
|
|
277
267
|
`${JSON.stringify(context)}\n`;
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
throw new CliError("INIT FAILED: Episode title output truncated", "Episode title output truncated.", {
|
|
289
|
-
exitCode: EXIT_RUNTIME,
|
|
290
|
-
required: ["complete episode title JSON within provider max_tokens"],
|
|
291
|
-
received: [`stop_reason: ${stopReason}`, `max_tokens: ${request["max_tokens"]}`],
|
|
292
|
-
nextSteps: ["Rerun init; if this repeats, split the source or provide explicit episode titles."],
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
if (!input) {
|
|
296
|
-
throw new CliError("INIT FAILED: Provider returned invalid episode title JSON", "Provider returned invalid episode title JSON.", {
|
|
297
|
-
exitCode: EXIT_RUNTIME,
|
|
298
|
-
required: [`tool_use block with name "${toolName}"`],
|
|
299
|
-
received: [`stop_reason: ${stopReason || "unknown"}`, `missing tool_use block: ${toolName}`],
|
|
300
|
-
nextSteps: ["Rerun init; title generation will retry before batch extraction."],
|
|
301
|
-
});
|
|
302
|
-
}
|
|
303
|
-
return input;
|
|
304
|
-
}
|
|
305
|
-
async extractAssetCuration(_sourceText, script) {
|
|
306
|
-
const context = buildAssetCurationContext(script);
|
|
307
|
-
const prompt = "You decide which extracted locations should be merged into stable parent locations.\n" +
|
|
308
|
-
"Use only the structured script context below. Do not decide from names alone.\n" +
|
|
309
|
-
"Return JSON matching the configured schema.\n" +
|
|
310
|
-
"\n" +
|
|
311
|
-
"Requirements:\n" +
|
|
312
|
-
"- This task only handles location merge decisions. Actors and props are pruned by deterministic scene-count rules outside this provider step.\n" +
|
|
313
|
-
"- For locations, choose merge only when the location is clearly the same stable space as another existing location_id.\n" +
|
|
314
|
-
"- Keep a location whenever its parent location is uncertain, it may need distinct visual continuity, or no stable parent exists.\n" +
|
|
315
|
-
"- target_location_id must be an existing location_id when decision is merge; use null for keep.\n" +
|
|
316
|
-
"- Reasons must cite evidence from the provided examples/usage, not a keyword rule.\n" +
|
|
317
|
-
"- Do not rewrite actions or metadata; this task only decides asset curation.\n" +
|
|
318
|
-
"\n" +
|
|
319
|
-
"Script asset curation context:\n" +
|
|
320
|
-
`${JSON.stringify(context)}\n`;
|
|
321
|
-
const toolName = "submit_asset_curation";
|
|
322
|
-
const request = { ...this.messageRequest(prompt, DEFAULT_MAX_TOKENS) };
|
|
323
|
-
request["tools"] = [{
|
|
324
|
-
name: toolName,
|
|
325
|
-
description: "Return location merge decisions for the provided script.",
|
|
326
|
-
input_schema: ASSET_CURATION_SCHEMA,
|
|
327
|
-
}];
|
|
328
|
-
request["tool_choice"] = { type: "tool", name: toolName };
|
|
329
|
-
const [input, stopReason] = await this.collectToolUseInput(request, toolName);
|
|
330
|
-
if (stopReason === "max_tokens") {
|
|
331
|
-
throw new CliError("INIT FAILED: Asset curation output truncated", "Asset curation output truncated.", {
|
|
332
|
-
exitCode: EXIT_RUNTIME,
|
|
333
|
-
required: ["complete asset curation JSON within provider max_tokens"],
|
|
334
|
-
received: [`stop_reason: ${stopReason}`, `max_tokens: ${request["max_tokens"]}`],
|
|
335
|
-
nextSteps: ["Rerun init; extraction checkpoints will be reused and asset curation will retry."],
|
|
336
|
-
});
|
|
337
|
-
}
|
|
338
|
-
if (!input) {
|
|
339
|
-
throw new CliError("INIT FAILED: Provider returned invalid asset curation JSON", "Provider returned invalid asset curation JSON.", {
|
|
340
|
-
exitCode: EXIT_RUNTIME,
|
|
341
|
-
required: [`tool_use block with name "${toolName}"`],
|
|
342
|
-
received: [`stop_reason: ${stopReason || "unknown"}`, `missing tool_use block: ${toolName}`],
|
|
343
|
-
nextSteps: ["Rerun init; extraction checkpoints will be reused and asset curation will retry."],
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
return input;
|
|
268
|
+
return this.runToolUse({
|
|
269
|
+
prompt,
|
|
270
|
+
maxTokens: 4096,
|
|
271
|
+
toolName: "submit_episode_titles",
|
|
272
|
+
description: "Return generated short Chinese titles for every input episode.",
|
|
273
|
+
schema: EPISODE_TITLE_EXTRACTION_SCHEMA,
|
|
274
|
+
truncatedTitle: "INIT FAILED: Episode title output truncated",
|
|
275
|
+
invalidTitle: "INIT FAILED: Provider returned invalid episode title JSON",
|
|
276
|
+
nextSteps: ["Rerun init; title generation will retry before batch extraction."],
|
|
277
|
+
});
|
|
347
278
|
}
|
|
279
|
+
// Metadata uses the markdown + non-streaming `messages.create` path (like
|
|
280
|
+
// extractBatch), NOT a large-token tool_use call. The output (worldview + one
|
|
281
|
+
// short line per asset) is small, so DEFAULT_BATCH_MAX_TOKENS keeps it under
|
|
282
|
+
// NONSTREAMING_MAX_TOKENS and avoids the streaming long-connection the LiteLLM
|
|
283
|
+
// gateway kept dropping. parseMarkdownMetadata backfills from the deterministic
|
|
284
|
+
// baseline, so a partial response still yields a complete, schema-valid result.
|
|
348
285
|
async extractMetadata(_sourceText, script) {
|
|
349
286
|
const context = buildMetadataContext(script);
|
|
350
|
-
const prompt = "You produce global metadata for a direct script conversion.\n" +
|
|
287
|
+
const prompt = "You produce global metadata (worldview + per-asset role/description) for a direct script conversion.\n" +
|
|
351
288
|
"Use only the structured script context below. Do not invent plot events outside it.\n" +
|
|
352
|
-
"Return JSON matching the configured schema.\n" +
|
|
353
289
|
"\n" +
|
|
354
|
-
|
|
355
|
-
`- worldview must be exactly one of: ${WORLDVIEW_VALUES.join(", ")}\n` +
|
|
356
|
-
"- confidence is high/medium/low; use low only when the script context is insufficient.\n" +
|
|
357
|
-
"- Every actor_id listed in the input must appear once with role_type 主角 or 配角 and a non-empty description.\n" +
|
|
358
|
-
"- Every location_id and prop_id listed in the input must appear once with a non-empty description.\n" +
|
|
359
|
-
"- Descriptions should be concise, useful for downstream asset generation, and grounded in names/states/examples.\n" +
|
|
360
|
-
"- Do not rewrite action/dialogue source content; this task only writes metadata fields.\n" +
|
|
290
|
+
`${METADATA_MD_SPEC}\n` +
|
|
361
291
|
"\n" +
|
|
362
292
|
"Script metadata context:\n" +
|
|
363
293
|
`${JSON.stringify(context)}\n`;
|
|
364
|
-
const
|
|
365
|
-
const
|
|
366
|
-
request["tools"] = [{
|
|
367
|
-
name: toolName,
|
|
368
|
-
description: "Return global script metadata (worldview, actors, locations, props).",
|
|
369
|
-
input_schema: METADATA_EXTRACTION_SCHEMA,
|
|
370
|
-
}];
|
|
371
|
-
request["tool_choice"] = { type: "tool", name: toolName };
|
|
372
|
-
const [input, stopReason] = await this.collectToolUseInput(request, toolName);
|
|
294
|
+
const request = this.messageRequest(prompt, DEFAULT_BATCH_MAX_TOKENS);
|
|
295
|
+
const [raw, stopReason] = await this.collectResponseText(request);
|
|
373
296
|
if (stopReason === "max_tokens") {
|
|
374
297
|
throw new CliError("INIT FAILED: Metadata output truncated", "Metadata output truncated.", {
|
|
375
298
|
exitCode: EXIT_RUNTIME,
|
|
376
|
-
required: ["complete metadata
|
|
377
|
-
received: [
|
|
299
|
+
required: ["complete metadata markdown within provider max_tokens"],
|
|
300
|
+
received: [
|
|
301
|
+
`stop_reason: ${stopReason}`,
|
|
302
|
+
`max_tokens: ${request.max_tokens}`,
|
|
303
|
+
`raw chars: ${raw.length}`,
|
|
304
|
+
`tail: ${raw.slice(-160) || "<empty response>"}`,
|
|
305
|
+
],
|
|
378
306
|
nextSteps: ["Rerun init; extraction checkpoints will be reused and metadata will retry."],
|
|
307
|
+
errorCode: "PROVIDER_OUTPUT_TRUNCATED",
|
|
379
308
|
});
|
|
380
309
|
}
|
|
381
|
-
if (!
|
|
382
|
-
|
|
310
|
+
if (!raw.trim()) {
|
|
311
|
+
// Empty body with a non-max_tokens stop reason is how a content filter /
|
|
312
|
+
// refusal surfaces. Mark it distinctly instead of silently degrading to a
|
|
313
|
+
// name-only deterministic baseline.
|
|
314
|
+
throw new CliError("INIT FAILED: Provider returned invalid metadata", "Provider returned an empty metadata response (content filter / refusal).", {
|
|
383
315
|
exitCode: EXIT_RUNTIME,
|
|
384
|
-
required: [
|
|
385
|
-
received: [`stop_reason: ${stopReason || "unknown"}`,
|
|
316
|
+
required: ["non-empty metadata markdown"],
|
|
317
|
+
received: [`stop_reason: ${stopReason || "unknown"}`, "raw chars: 0"],
|
|
386
318
|
nextSteps: ["Rerun init; extraction checkpoints will be reused and metadata will retry."],
|
|
319
|
+
errorCode: "PROVIDER_CONTENT_FILTERED",
|
|
387
320
|
});
|
|
388
321
|
}
|
|
389
|
-
return
|
|
322
|
+
return parseMarkdownMetadata(raw, script);
|
|
390
323
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
throw new CliError("DRAFT FAILED: provider not configured", "Provider credentials are not configured for this environment.", {
|
|
417
|
-
exitCode: EXIT_RUNTIME,
|
|
418
|
-
required: ["SCRIPTCTL_GEMINI_API_KEY (or GEMINI_API_KEY)"],
|
|
419
|
-
received: ["no API key environment variable"],
|
|
420
|
-
nextSteps: ["Run `scriptctl doctor` to identify missing configuration."],
|
|
421
|
-
errorCode: "PROVIDER_AUTH_MISSING",
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
this.apiKey = apiKey;
|
|
425
|
-
const baseUrl = (process.env.SCRIPTCTL_GEMINI_BASE_URL ?? "https://generativelanguage.googleapis.com").trim();
|
|
426
|
-
this.baseUrl = baseUrl.replace(/\/+$/, "");
|
|
427
|
-
this.model = (model || process.env.SCRIPTCTL_GEMINI_MODEL || "gemini-2.5-pro").trim();
|
|
324
|
+
async extractEpisodeSynopsis(synopses, ctx) {
|
|
325
|
+
const beats = cleanSynopsisList(synopses);
|
|
326
|
+
const label = strOf(ctx["title"]).trim() || strOf(ctx["episode"]).trim() || "this group";
|
|
327
|
+
const prompt = "You stitch ordered plot beats into ONE coherent synopsis.\n" +
|
|
328
|
+
"The beats below are in chronological order and all belong to the same unit\n" +
|
|
329
|
+
`(${label}). Produce a single connected synopsis, not a list.\n` +
|
|
330
|
+
"\n" +
|
|
331
|
+
"Requirements:\n" +
|
|
332
|
+
"- 3-6 sentences, Chinese, plain text.\n" +
|
|
333
|
+
"- Summarize ONLY the given beats. Do not invent events or add anything not present.\n" +
|
|
334
|
+
"- Do not spoil beyond the beats; do not list assets.\n" +
|
|
335
|
+
"- Keep the chronological order of the beats.\n" +
|
|
336
|
+
"\n" +
|
|
337
|
+
"Plot beats (ordered):\n" +
|
|
338
|
+
`${JSON.stringify(beats)}\n`;
|
|
339
|
+
return this.runToolUse({
|
|
340
|
+
prompt,
|
|
341
|
+
maxTokens: 2048,
|
|
342
|
+
toolName: "submit_episode_synopsis",
|
|
343
|
+
description: "Return one coherent synopsis stitched from the ordered plot beats.",
|
|
344
|
+
schema: EPISODE_SYNOPSIS_SCHEMA,
|
|
345
|
+
truncatedTitle: "SUMMARY FAILED: Synopsis output truncated",
|
|
346
|
+
invalidTitle: "SUMMARY FAILED: Provider returned invalid synopsis JSON",
|
|
347
|
+
nextSteps: ["Rerun init; the summary stage degrades to joined beats if this repeats."],
|
|
348
|
+
});
|
|
428
349
|
}
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
});
|
|
458
|
-
}
|
|
459
|
-
const text = await response.text();
|
|
460
|
-
if (!response.ok) {
|
|
461
|
-
const isAuth = response.status === 401 || response.status === 403;
|
|
462
|
-
const isRateLimit = response.status === 429;
|
|
463
|
-
const publicMessage = isAuth
|
|
464
|
-
? "Provider rejected the request: authentication failed."
|
|
465
|
-
: isRateLimit
|
|
466
|
-
? "Provider is rate-limited."
|
|
467
|
-
: "Provider returned an HTTP error.";
|
|
468
|
-
throw new CliError("DRAFT FAILED: provider returned error", publicMessage, {
|
|
469
|
-
exitCode: EXIT_RUNTIME,
|
|
470
|
-
required: ["HTTP 2xx from Gemini"],
|
|
471
|
-
received: [`status: ${response.status}`, `body: ${text.slice(0, 320) || "<empty>"}`],
|
|
472
|
-
nextSteps: isRateLimit
|
|
473
|
-
? ["Back off and retry after a short wait."]
|
|
474
|
-
: isAuth
|
|
475
|
-
? ["Run `scriptctl doctor` to verify provider configuration."]
|
|
476
|
-
: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
477
|
-
errorCode: isAuth
|
|
478
|
-
? "PROVIDER_AUTH_REJECTED"
|
|
479
|
-
: isRateLimit
|
|
480
|
-
? "PROVIDER_RATE_LIMITED"
|
|
481
|
-
: "PROVIDER_HTTP_ERROR",
|
|
482
|
-
});
|
|
483
|
-
}
|
|
484
|
-
let payload;
|
|
485
|
-
try {
|
|
486
|
-
payload = JSON.parse(text);
|
|
487
|
-
}
|
|
488
|
-
catch (exc) {
|
|
489
|
-
throw new CliError("DRAFT FAILED: provider returned invalid response", "Provider returned a response that could not be parsed.", {
|
|
490
|
-
exitCode: EXIT_RUNTIME,
|
|
491
|
-
required: ["valid JSON response"],
|
|
492
|
-
received: [`body head: ${text.slice(0, 160)}`, `parse error: ${exc.message}`],
|
|
493
|
-
nextSteps: ["Retry once; if the issue persists, run `scriptctl doctor`."],
|
|
494
|
-
errorCode: "PROVIDER_INVALID_RESPONSE",
|
|
495
|
-
});
|
|
496
|
-
}
|
|
497
|
-
const candidate = payload.candidates?.[0];
|
|
498
|
-
const finishReason = strOf(candidate?.finishReason ?? "");
|
|
499
|
-
if (finishReason === "MAX_TOKENS") {
|
|
500
|
-
throw new CliError("DRAFT FAILED: Provider output truncated", "Provider output truncated.", {
|
|
501
|
-
exitCode: EXIT_RUNTIME,
|
|
502
|
-
required: ["complete markdown within provider max_tokens"],
|
|
503
|
-
received: [`finishReason: MAX_TOKENS`, `maxOutputTokens: ${tokens}`],
|
|
504
|
-
nextSteps: [
|
|
505
|
-
"Re-run with --regen, or split the episode outline into smaller scopes.",
|
|
506
|
-
],
|
|
507
|
-
errorCode: "PROVIDER_OUTPUT_TRUNCATED",
|
|
508
|
-
});
|
|
509
|
-
}
|
|
510
|
-
if (finishReason && finishReason !== "STOP" && finishReason !== "MAX_TOKENS") {
|
|
511
|
-
// SAFETY / RECITATION / OTHER — surface to agent rather than silently treat as success.
|
|
512
|
-
throw new CliError("DRAFT FAILED: provider stopped abnormally", "Provider stopped before completing the response.", {
|
|
513
|
-
exitCode: EXIT_RUNTIME,
|
|
514
|
-
required: ["finishReason: STOP"],
|
|
515
|
-
received: [`finishReason: ${finishReason}`],
|
|
516
|
-
nextSteps: ["Inspect prompt / outline for triggering content; retry with --regen if it looks transient."],
|
|
517
|
-
errorCode: "PROVIDER_ABNORMAL_STOP",
|
|
518
|
-
});
|
|
519
|
-
}
|
|
520
|
-
const parts = candidate?.content?.parts ?? [];
|
|
521
|
-
const out = parts.map((p) => (typeof p.text === "string" ? p.text : "")).join("").trim();
|
|
522
|
-
if (!out) {
|
|
523
|
-
throw new CliError("DRAFT FAILED: provider returned empty content", "Provider returned an empty response.", {
|
|
524
|
-
exitCode: EXIT_RUNTIME,
|
|
525
|
-
required: ["non-empty candidate content"],
|
|
526
|
-
received: [`finishReason: ${finishReason || "<unset>"}`, `parts: ${parts.length}`],
|
|
527
|
-
nextSteps: ["Retry once; if it persists, run `scriptctl doctor`."],
|
|
528
|
-
errorCode: "PROVIDER_EMPTY_RESPONSE",
|
|
529
|
-
});
|
|
530
|
-
}
|
|
531
|
-
return out;
|
|
350
|
+
async extractScriptSynopsis(synopses, ctx) {
|
|
351
|
+
const episodeSynopses = cleanSynopsisList(synopses);
|
|
352
|
+
const title = strOf(ctx["title"]).trim();
|
|
353
|
+
const prompt = "You produce a whole-script overview from per-episode synopses.\n" +
|
|
354
|
+
`Script title: ${title || "(untitled)"}.\n` +
|
|
355
|
+
"Use ONLY the episode synopses below; do not invent plot, characters, or facts.\n" +
|
|
356
|
+
"Return JSON matching the configured schema.\n" +
|
|
357
|
+
"\n" +
|
|
358
|
+
"Requirements:\n" +
|
|
359
|
+
"- synopsis: a connected whole-plot overview of the entire script, Chinese, plain text.\n" +
|
|
360
|
+
"- theme: the central theme / 主旨, one short Chinese phrase or sentence.\n" +
|
|
361
|
+
"- logline: a single Chinese sentence capturing the whole story.\n" +
|
|
362
|
+
"- style: genre / tone as free Chinese text (e.g. 都市甜宠 / 悬疑复仇).\n" +
|
|
363
|
+
"- main_characters: the main people only, each with name and a short role (主角/配角/身份).\n" +
|
|
364
|
+
"- Ground everything in the episode synopses; if information is missing, keep it brief rather than inventing.\n" +
|
|
365
|
+
"\n" +
|
|
366
|
+
"Episode synopses (ordered):\n" +
|
|
367
|
+
`${JSON.stringify(episodeSynopses)}\n`;
|
|
368
|
+
return this.runToolUse({
|
|
369
|
+
prompt,
|
|
370
|
+
maxTokens: 4096,
|
|
371
|
+
toolName: "submit_script_synopsis",
|
|
372
|
+
description: "Return the whole-script overview (synopsis, theme, logline, style, main_characters).",
|
|
373
|
+
schema: SCRIPT_SYNOPSIS_SCHEMA,
|
|
374
|
+
truncatedTitle: "SUMMARY FAILED: Script synopsis output truncated",
|
|
375
|
+
invalidTitle: "SUMMARY FAILED: Provider returned invalid script synopsis JSON",
|
|
376
|
+
nextSteps: ["Rerun init; the summary stage leaves overview fields empty if this repeats."],
|
|
377
|
+
});
|
|
532
378
|
}
|
|
533
379
|
}
|
|
534
380
|
function textFromResponse(response) {
|
|
@@ -562,13 +408,11 @@ export function makeProvider(name, model) {
|
|
|
562
408
|
return new MockProvider();
|
|
563
409
|
if (name === "anthropic")
|
|
564
410
|
return new AnthropicProvider(model);
|
|
565
|
-
if (name === "gemini")
|
|
566
|
-
return new GeminiProvider(model);
|
|
567
411
|
throw new CliError("INIT FAILED: Unsupported provider", "Unsupported provider.", {
|
|
568
412
|
exitCode: EXIT_USAGE,
|
|
569
|
-
required: ["--provider: anthropic |
|
|
413
|
+
required: ["--provider: anthropic | mock"],
|
|
570
414
|
received: [`--provider: ${name}`],
|
|
571
|
-
nextSteps: ["Use --provider anthropic
|
|
415
|
+
nextSteps: ["Use --provider anthropic or --provider mock."],
|
|
572
416
|
});
|
|
573
417
|
}
|
|
574
418
|
//# sourceMappingURL=providers.js.map
|
|
@@ -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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"}
|