@lingjingai/scriptctl 0.25.2 → 0.25.4

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.
@@ -1,6 +1,38 @@
1
1
  import Anthropic from "@anthropic-ai/sdk";
2
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, DEFAULT_METADATA_ASSET_CHUNK, MARKDOWN_BATCH_PROMPT_SPEC, METADATA_DESC_MD_SPEC, METADATA_GLOBAL_MD_SPEC, SCRIPT_SYNOPSIS_SCHEMA, } from "../common.js";
3
3
  import { _md_push_asset, _normalize_speaker_list, assembleMetadataFromParts, cleanSynopsisList, buildEpisodeTitleContext, buildMetadataContext, deterministicEpisodeShortTitle, deterministicExtractEpisode, deterministicExtractMetadata, episodesNeedingGeneratedTitles, formatBatchSource, isRetryableProviderError, parseAssetDescriptionsMd, parseGlobalMetadataMd, parseMarkdownBatch, providerAttempts, } from "../domain/direct-core.js";
4
+ const PROVIDER_CAPABILITIES = {
5
+ mock: {
6
+ completeText: true,
7
+ extractBatch: true,
8
+ extractEpisode: true,
9
+ extractMetadata: true,
10
+ extractEpisodeTitles: true,
11
+ extractEpisodeSynopsis: true,
12
+ extractScriptSynopsis: true,
13
+ },
14
+ anthropic: {
15
+ completeText: true,
16
+ extractBatch: true,
17
+ extractEpisode: true,
18
+ extractMetadata: true,
19
+ extractEpisodeTitles: true,
20
+ extractEpisodeSynopsis: true,
21
+ extractScriptSynopsis: true,
22
+ },
23
+ openai: {
24
+ completeText: true,
25
+ extractBatch: false,
26
+ extractEpisode: false,
27
+ extractMetadata: false,
28
+ extractEpisodeTitles: false,
29
+ extractEpisodeSynopsis: false,
30
+ extractScriptSynopsis: false,
31
+ },
32
+ };
33
+ export function providerCapabilities(name) {
34
+ return PROVIDER_CAPABILITIES[name] ?? null;
35
+ }
4
36
  function strOf(v) {
5
37
  if (v === null || v === undefined)
6
38
  return "";
@@ -12,6 +44,9 @@ function isList(v) {
12
44
  function asList(v) {
13
45
  return Array.isArray(v) ? v : [];
14
46
  }
47
+ function isDict(v) {
48
+ return typeof v === "object" && v !== null && !Array.isArray(v);
49
+ }
15
50
  function sleepMs(ms) {
16
51
  return new Promise((resolve) => setTimeout(resolve, ms));
17
52
  }
@@ -20,6 +55,76 @@ function sleepMs(ms) {
20
55
  // ---------------------------------------------------------------------------
21
56
  export class MockProvider {
22
57
  name = "mock";
58
+ completeText(request) {
59
+ const system = request.system;
60
+ const user = request.user;
61
+ let text = "";
62
+ if (system.includes("## 片段梗概")) {
63
+ const body = firstNonEmptySourceLine(user);
64
+ text = [
65
+ "## 片段梗概",
66
+ `片段梗概:${body}`,
67
+ "",
68
+ "## 关键事件",
69
+ `- ${body}`,
70
+ "",
71
+ "## 人物变化",
72
+ "- 陈默 | 继续推进当前剧情",
73
+ "",
74
+ "## 结尾钩子",
75
+ body,
76
+ ].join("\n");
77
+ }
78
+ else if (system.includes("## 分集梗概")) {
79
+ const body = firstNonEmptySourceLine(user);
80
+ text = [
81
+ "## 分集梗概",
82
+ `分集梗概:${body}`,
83
+ "",
84
+ "## 单句梗概",
85
+ body,
86
+ "",
87
+ "## 关键事件",
88
+ `- ${body}`,
89
+ ].join("\n");
90
+ }
91
+ else if (system.includes("## 阶段梗概")) {
92
+ const body = firstNonEmptySourceLine(user);
93
+ text = [
94
+ "## 阶段梗概",
95
+ `阶段梗概:${body}`,
96
+ "",
97
+ "## 关键转折",
98
+ `- ${body}`,
99
+ "",
100
+ "## 未解决悬念",
101
+ "- ",
102
+ ].join("\n");
103
+ }
104
+ else if (system.includes("## 全文梗概")) {
105
+ const body = firstNonEmptySourceLine(user);
106
+ text = [
107
+ "## 全文梗概",
108
+ `全文梗概:${body}`,
109
+ "",
110
+ "## 主题",
111
+ "mock-theme",
112
+ "",
113
+ "## 一句话",
114
+ "mock-logline",
115
+ "",
116
+ "## 风格",
117
+ "mock-style",
118
+ "",
119
+ "## 主要人物",
120
+ "- 陈默 | 主角",
121
+ ].join("\n");
122
+ }
123
+ else {
124
+ text = firstNonEmptySourceLine(user);
125
+ }
126
+ return { text, raw: { provider: "mock", system, user } };
127
+ }
23
128
  extractEpisode(sourceText, episodePlan) {
24
129
  return this.extractBatch(sourceText, episodePlan);
25
130
  }
@@ -141,6 +246,10 @@ export class AnthropicProvider {
141
246
  }
142
247
  return request;
143
248
  }
249
+ textMessageRequest(system, user, maxTokens) {
250
+ const request = this.messageRequest(user, maxTokens);
251
+ return system.trim() ? { ...request, system } : request;
252
+ }
144
253
  async collectResponseText(request) {
145
254
  // Non-streaming: the LiteLLM gateway drops idle streaming connections
146
255
  // ("Premature close"), so every extraction uses the create path and is sized
@@ -197,6 +306,29 @@ export class AnthropicProvider {
197
306
  extractEpisode(sourceText, episodePlan) {
198
307
  return this.extractBatch(sourceText, episodePlan);
199
308
  }
309
+ async completeText(request) {
310
+ const msg = this.textMessageRequest(request.system, request.user, DEFAULT_BATCH_MAX_TOKENS);
311
+ const [raw, stopReason] = await this.collectResponseTextWithRetry(msg);
312
+ if (stopReason === "max_tokens") {
313
+ throw new CliError("LLM FAILED: Provider output truncated", "Provider output truncated.", {
314
+ exitCode: EXIT_RUNTIME,
315
+ required: ["complete text within provider max_tokens"],
316
+ received: [`stop_reason: ${stopReason}`, `max_tokens: ${msg.max_tokens}`, `raw chars: ${raw.length}`, `tail: ${raw.slice(-160) || "<empty response>"}`],
317
+ nextSteps: ["Rerun the command; completed checkpoints will be reused. If this repeats, lower the input chunk size."],
318
+ errorCode: "PROVIDER_OUTPUT_TRUNCATED",
319
+ });
320
+ }
321
+ if (!raw.trim()) {
322
+ throw new CliError("LLM FAILED: Provider returned empty text", "Provider returned an empty response.", {
323
+ exitCode: EXIT_RUNTIME,
324
+ required: ["non-empty text response"],
325
+ received: [`stop_reason: ${stopReason || "unknown"}`, "raw chars: 0"],
326
+ nextSteps: ["Rerun with a smaller chunk or adjust the prompt/spec."],
327
+ errorCode: "PROVIDER_EMPTY_RESPONSE",
328
+ });
329
+ }
330
+ return { text: raw, raw: { stop_reason: stopReason } };
331
+ }
200
332
  async extractBatch(sourceText, batchPlan) {
201
333
  const context = isList(batchPlan["context"]) || typeof batchPlan["context"] === "object" && batchPlan["context"] !== null
202
334
  ? batchPlan["context"]
@@ -369,12 +501,17 @@ export class AnthropicProvider {
369
501
  async extractEpisodeSynopsis(synopses, ctx) {
370
502
  const beats = cleanSynopsisList(synopses);
371
503
  const label = strOf(ctx["title"]).trim() || strOf(ctx["episode"]).trim() || "this group";
504
+ const isEpisode = strOf(ctx["episode"]).trim().length > 0;
505
+ const lengthRequirement = isEpisode
506
+ ? "- synopsis: 200-300 Chinese characters, written as one connected paragraph.\n"
507
+ : "- synopsis: 400-600 Chinese characters, written as one connected stage/arc synopsis paragraph.\n";
372
508
  const prompt = "You stitch ordered plot beats into ONE coherent synopsis.\n" +
373
509
  "The beats below are in chronological order and all belong to the same unit\n" +
374
510
  `(${label}). Produce a single connected synopsis, not a list.\n` +
375
511
  "\n" +
376
512
  "Requirements:\n" +
377
- "- 3-6 sentences, Chinese, plain text.\n" +
513
+ lengthRequirement +
514
+ "- Chinese plain text only.\n" +
378
515
  "- Summarize ONLY the given beats. Do not invent events or add anything not present.\n" +
379
516
  "- Do not spoil beyond the beats; do not list assets.\n" +
380
517
  "- Keep the chronological order of the beats.\n" +
@@ -401,7 +538,7 @@ export class AnthropicProvider {
401
538
  "Return JSON matching the configured schema.\n" +
402
539
  "\n" +
403
540
  "Requirements:\n" +
404
- "- synopsis: a connected whole-plot overview of the entire script, Chinese, plain text.\n" +
541
+ "- synopsis: 800-1200 Chinese characters; a connected whole-plot overview covering the main plot, key relationships, major conflicts, and ending direction.\n" +
405
542
  "- theme: the central theme / 主旨, one short Chinese phrase or sentence.\n" +
406
543
  "- logline: a single Chinese sentence capturing the whole story.\n" +
407
544
  "- style: genre / tone as free Chinese text (e.g. 都市甜宠 / 悬疑复仇).\n" +
@@ -422,6 +559,95 @@ export class AnthropicProvider {
422
559
  });
423
560
  }
424
561
  }
562
+ // ---------------------------------------------------------------------------
563
+ // OpenAI-compatible text provider
564
+ // ---------------------------------------------------------------------------
565
+ const OPENAI_TEXT_MAX_TOKENS = 4096;
566
+ export class OpenAICompatibleProvider {
567
+ name = "openai";
568
+ apiKey;
569
+ endpoint;
570
+ model;
571
+ constructor(model) {
572
+ const apiKey = (process.env.PROJECT_LITELLM_GATEWAY_API_KEY ?? "").trim();
573
+ if (!apiKey) {
574
+ throw new CliError("INIT FAILED: provider not configured", "Provider credentials are not configured for this environment.", {
575
+ exitCode: EXIT_RUNTIME,
576
+ required: ["PROJECT_LITELLM_GATEWAY_API_KEY"],
577
+ received: ["no API key environment variable"],
578
+ nextSteps: ["Run `scriptctl doctor` to identify missing configuration."],
579
+ errorCode: "PROVIDER_AUTH_MISSING",
580
+ });
581
+ }
582
+ const baseUrl = (process.env.PROJECT_LITELLM_GATEWAY_BASE_URL ?? "").trim();
583
+ if (!baseUrl) {
584
+ throw new CliError("INIT FAILED: provider not configured", "Provider endpoint is not configured for this environment.", {
585
+ exitCode: EXIT_RUNTIME,
586
+ required: ["PROJECT_LITELLM_GATEWAY_BASE_URL"],
587
+ received: ["no provider base URL"],
588
+ nextSteps: ["Run `scriptctl doctor` to identify missing configuration."],
589
+ errorCode: "PROVIDER_ENDPOINT_MISSING",
590
+ });
591
+ }
592
+ this.apiKey = apiKey;
593
+ this.endpoint = openAiChatCompletionsEndpoint(baseUrl);
594
+ this.model = model;
595
+ }
596
+ async completeText(request) {
597
+ const messages = [];
598
+ const system = request.system.trim();
599
+ if (system)
600
+ messages.push({ role: "system", content: system });
601
+ messages.push({ role: "user", content: request.user });
602
+ const body = {
603
+ model: this.model,
604
+ messages,
605
+ max_tokens: OPENAI_TEXT_MAX_TOKENS,
606
+ };
607
+ const response = await fetch(this.endpoint, {
608
+ method: "POST",
609
+ headers: {
610
+ "authorization": `Bearer ${this.apiKey}`,
611
+ "content-type": "application/json",
612
+ },
613
+ body: JSON.stringify(body),
614
+ signal: request.signal,
615
+ });
616
+ const rawBody = await response.text();
617
+ if (!response.ok) {
618
+ throw new CliError("LLM FAILED: Provider request failed", "Provider request failed.", {
619
+ exitCode: EXIT_RUNTIME,
620
+ required: ["successful OpenAI-compatible chat completion"],
621
+ received: [`status: ${response.status}`, `body: ${rawBody.slice(0, 500) || "<empty response>"}`],
622
+ nextSteps: ["Check the provider name/model and rerun; completed checkpoints will be reused."],
623
+ errorCode: "PROVIDER_REQUEST_FAILED",
624
+ });
625
+ }
626
+ const payload = parseJsonDict(rawBody, "LLM FAILED: Provider returned invalid JSON");
627
+ const choice = firstOpenAiChoice(payload);
628
+ const finishReason = choice ? strOf(choice["finish_reason"]).trim() : "";
629
+ const text = openAiChoiceContent(choice).trim();
630
+ if (finishReason === "length") {
631
+ throw new CliError("LLM FAILED: Provider output truncated", "Provider output truncated.", {
632
+ exitCode: EXIT_RUNTIME,
633
+ required: ["complete text within provider max_tokens"],
634
+ received: [`finish_reason: ${finishReason}`, `max_tokens: ${OPENAI_TEXT_MAX_TOKENS}`, `raw chars: ${text.length}`, `tail: ${text.slice(-160) || "<empty response>"}`],
635
+ nextSteps: ["Rerun the command; completed checkpoints will be reused. If this repeats, lower the input chunk size."],
636
+ errorCode: "PROVIDER_OUTPUT_TRUNCATED",
637
+ });
638
+ }
639
+ if (!text) {
640
+ throw new CliError("LLM FAILED: Provider returned empty text", "Provider returned an empty response.", {
641
+ exitCode: EXIT_RUNTIME,
642
+ required: ["non-empty text response"],
643
+ received: [`finish_reason: ${finishReason || "unknown"}`, `raw chars: ${rawBody.length}`],
644
+ nextSteps: ["Rerun with a smaller chunk or adjust the prompt/spec."],
645
+ errorCode: "PROVIDER_EMPTY_RESPONSE",
646
+ });
647
+ }
648
+ return { text, raw: { finish_reason: finishReason } };
649
+ }
650
+ }
425
651
  function textFromResponse(response) {
426
652
  const parts = [];
427
653
  for (const block of response.content ?? []) {
@@ -430,6 +656,10 @@ function textFromResponse(response) {
430
656
  }
431
657
  return parts.join("\n").trim();
432
658
  }
659
+ function firstNonEmptySourceLine(text) {
660
+ const lines = text.split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0);
661
+ return lines.find((line) => !line.endsWith(":") && !line.endsWith(":")) ?? lines[0] ?? "";
662
+ }
433
663
  /**
434
664
  * Find a forced tool_use block by name in a Message's content array.
435
665
  * Returns its `input` (already parsed by the SDK) or `null` when missing/non-object.
@@ -445,6 +675,59 @@ function findToolUseInput(content, toolName) {
445
675
  }
446
676
  return null;
447
677
  }
678
+ function openAiChatCompletionsEndpoint(baseUrl) {
679
+ const base = baseUrl.trim().replace(/\/+$/, "");
680
+ if (base.endsWith("/chat/completions"))
681
+ return base;
682
+ if (base.endsWith("/v1"))
683
+ return `${base}/chat/completions`;
684
+ return `${base}/v1/chat/completions`;
685
+ }
686
+ function parseJsonDict(raw, title) {
687
+ try {
688
+ const payload = JSON.parse(raw);
689
+ if (isDict(payload))
690
+ return payload;
691
+ }
692
+ catch {
693
+ // Fall through to the structured provider error below.
694
+ }
695
+ throw new CliError(title, "Provider returned invalid JSON.", {
696
+ exitCode: EXIT_RUNTIME,
697
+ required: ["OpenAI-compatible JSON response"],
698
+ received: [`body: ${raw.slice(0, 500) || "<empty response>"}`],
699
+ nextSteps: ["Rerun the command; completed checkpoints will be reused."],
700
+ errorCode: "PROVIDER_INVALID_JSON",
701
+ });
702
+ }
703
+ function firstOpenAiChoice(payload) {
704
+ const choices = payload["choices"];
705
+ if (!Array.isArray(choices))
706
+ return null;
707
+ for (const choice of choices) {
708
+ if (isDict(choice))
709
+ return choice;
710
+ }
711
+ return null;
712
+ }
713
+ function openAiChoiceContent(choice) {
714
+ if (!choice)
715
+ return "";
716
+ const message = isDict(choice["message"]) ? choice["message"] : null;
717
+ if (!message)
718
+ return "";
719
+ const content = message["content"];
720
+ if (typeof content === "string")
721
+ return content;
722
+ if (!Array.isArray(content))
723
+ return "";
724
+ const parts = [];
725
+ for (const item of content) {
726
+ if (isDict(item) && typeof item["text"] === "string")
727
+ parts.push(item["text"]);
728
+ }
729
+ return parts.join("\n");
730
+ }
448
731
  // ---------------------------------------------------------------------------
449
732
  // Factory
450
733
  // ---------------------------------------------------------------------------
@@ -453,11 +736,13 @@ export function makeProvider(name, model) {
453
736
  return new MockProvider();
454
737
  if (name === "anthropic")
455
738
  return new AnthropicProvider(model);
739
+ if (name === "openai")
740
+ return new OpenAICompatibleProvider(model);
456
741
  throw new CliError("INIT FAILED: Unsupported provider", "Unsupported provider.", {
457
742
  exitCode: EXIT_USAGE,
458
- required: ["--provider: anthropic | mock"],
743
+ required: ["--provider: anthropic | openai | mock"],
459
744
  received: [`--provider: ${name}`],
460
- nextSteps: ["Use --provider anthropic or --provider mock."],
745
+ nextSteps: ["Use --provider anthropic, --provider openai, or --provider mock."],
461
746
  });
462
747
  }
463
748
  //# 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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"}
@@ -3,7 +3,7 @@ import * as path from "node:path";
3
3
  import { CliError, DEFAULT_BATCH_MAX_CHARS, DEFAULT_BATCH_MIN_LINES, DEFAULT_BATCH_MODE, DEFAULT_BATCH_TARGET_LINES, DEFAULT_CONCURRENCY, DEFAULT_MODEL, DEFAULT_PROVIDER, DEFAULT_SUMMARY_GROUP_SIZE, DEFAULT_SUMMARY_REDUCE_THRESHOLD_CHARS, EXIT_INPUT, EXIT_NEEDS_AGENT, EXIT_OK, EXIT_RUNTIME, EXIT_USAGE, SUPPORTED_EXTS, deletePath, directDir, exists, fmtId, readJson, readText, sha256Text, writeJson, } from "../common.js";
4
4
  import { compactBatchResult, compactEpisodeResult, buildBatchPlan, buildEpisodePlan, DEFAULT_TITLE_CHUNK_SIZE, chunkEpisodesNeedingTitles, applyEpisodeTitlesToPlan, cleanSynopsisList, episodeTitleResponseMap, extractBatchWithRecovery, mergeEpisodeResults, normalizeEpisodeResult, planSynopsisReduction, readCarriedSynopsis, sortDeep, uniqueAdd, validateEpisodeExtractionQuality, _md_push_asset, curateScriptAssets, applyMetadataToScript, } from "../domain/direct-core.js";
5
5
  import { validateScript } from "../domain/script/validate.js";
6
- import { makeProvider } from "../infra/providers.js";
6
+ import { makeProvider, providerCapabilities } from "../infra/providers.js";
7
7
  import { makeSourceManifest, prepareSource, } from "../infra/converters.js";
8
8
  function strOf(v) {
9
9
  if (v === null || v === undefined)
@@ -777,6 +777,16 @@ export async function commandInit(opts) {
777
777
  });
778
778
  }
779
779
  updateRunState(workspace, { status: "init_running", init_stage: "provider" });
780
+ const capabilities = providerCapabilities(providerName);
781
+ if (capabilities && !capabilities.extractBatch && !capabilities.extractEpisode) {
782
+ throw initFailedReport(workspace, {
783
+ title: "INIT FAILED: provider lacks batch extraction",
784
+ stage: "provider",
785
+ required: ["provider.extractBatch or provider.extractEpisode"],
786
+ received: [`--provider ${providerName}`],
787
+ nextSteps: ["Use --provider anthropic or --provider mock for direct init."],
788
+ });
789
+ }
780
790
  let provider;
781
791
  try {
782
792
  provider = makeProvider(providerName, model);
@@ -791,6 +801,15 @@ export async function commandInit(opts) {
791
801
  }
792
802
  throw exc;
793
803
  }
804
+ if (!provider.extractBatch && !provider.extractEpisode) {
805
+ throw initFailedReport(workspace, {
806
+ title: "INIT FAILED: provider lacks batch extraction",
807
+ stage: "provider",
808
+ required: ["provider.extractBatch or provider.extractEpisode"],
809
+ received: [`--provider ${providerName}`],
810
+ nextSteps: ["Use --provider anthropic or --provider mock for direct init."],
811
+ });
812
+ }
794
813
  updateRunState(workspace, { status: "init_running", init_stage: "episode_titles" });
795
814
  const titleDegraded = await enrichEpisodeTitlesChunked(workspace, sourceText, plan, provider, concurrency);
796
815
  let batchPlan;