@lingjingai/scriptctl 0.1.0 → 0.3.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 +72 -0
- package/dist/cli.js +309 -396
- package/dist/cli.js.map +1 -1
- package/dist/common.d.ts +9 -0
- package/dist/common.js.map +1 -1
- package/dist/domain/asset-registry.d.ts +141 -0
- package/dist/domain/asset-registry.js +318 -0
- package/dist/domain/asset-registry.js.map +1 -0
- package/dist/domain/collision-detector.d.ts +83 -0
- package/dist/domain/collision-detector.js +248 -0
- package/dist/domain/collision-detector.js.map +1 -0
- package/dist/domain/direct-core.d.ts +13 -1
- package/dist/domain/direct-core.js +19 -6
- package/dist/domain/direct-core.js.map +1 -1
- package/dist/domain/script-core.d.ts +11 -0
- package/dist/domain/script-core.js +34 -19
- package/dist/domain/script-core.js.map +1 -1
- package/dist/help-text.js +336 -4
- package/dist/help-text.js.map +1 -1
- package/dist/infra/converters.js +21 -7
- package/dist/infra/converters.js.map +1 -1
- package/dist/infra/default-writing-prompt.d.ts +31 -0
- package/dist/infra/default-writing-prompt.js +50 -0
- package/dist/infra/default-writing-prompt.js.map +1 -0
- package/dist/infra/default-writing-prompt.md +115 -0
- package/dist/infra/gemini-writer.d.ts +107 -0
- package/dist/infra/gemini-writer.js +207 -0
- package/dist/infra/gemini-writer.js.map +1 -0
- package/dist/infra/providers.d.ts +36 -0
- package/dist/infra/providers.js +186 -2
- package/dist/infra/providers.js.map +1 -1
- package/dist/output.js +26 -9
- package/dist/output.js.map +1 -1
- package/dist/usecases/episode.d.ts +48 -0
- package/dist/usecases/episode.js +1209 -0
- package/dist/usecases/episode.js.map +1 -0
- package/dist/usecases/script.d.ts +6 -2
- package/dist/usecases/script.js +49 -5
- package/dist/usecases/script.js.map +1 -1
- package/package.json +9 -5
package/dist/infra/providers.js
CHANGED
|
@@ -17,6 +17,38 @@ 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
|
+
}
|
|
20
52
|
extractEpisode(sourceText, episodePlan) {
|
|
21
53
|
return this.extractBatch(sourceText, episodePlan);
|
|
22
54
|
}
|
|
@@ -129,6 +161,32 @@ export class AnthropicProvider {
|
|
|
129
161
|
const response = await this.client.messages.create(request);
|
|
130
162
|
return [textFromResponse(response), strOf(response.stop_reason)];
|
|
131
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Generic completion entry point. Used by episode subcommand's gemini-writer to draft
|
|
166
|
+
* one episode's spec markdown from the assembled prompt. Throws CliError when the
|
|
167
|
+
* provider truncates output (so the caller can surface a deterministic error rather
|
|
168
|
+
* than committing a half-baked episode).
|
|
169
|
+
*/
|
|
170
|
+
async complete(prompt, maxTokens) {
|
|
171
|
+
const request = this.messageRequest(prompt, maxTokens ?? DEFAULT_BATCH_MAX_TOKENS);
|
|
172
|
+
const [raw, stopReason] = await this.collectResponseText(request);
|
|
173
|
+
if (stopReason === "max_tokens") {
|
|
174
|
+
throw new CliError("DRAFT FAILED: Provider output truncated", "Provider output truncated.", {
|
|
175
|
+
exitCode: EXIT_RUNTIME,
|
|
176
|
+
required: ["complete markdown within provider max_tokens"],
|
|
177
|
+
received: [
|
|
178
|
+
`stop_reason: ${stopReason}`,
|
|
179
|
+
`max_tokens: ${request.max_tokens}`,
|
|
180
|
+
`raw chars: ${raw.length}`,
|
|
181
|
+
`tail: ${raw.slice(-160) || "<empty response>"}`,
|
|
182
|
+
],
|
|
183
|
+
nextSteps: [
|
|
184
|
+
"Re-run with --regen, or raise SCRIPTCTL_MAX_TOKENS, or split the episode outline into smaller scopes.",
|
|
185
|
+
],
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
return raw;
|
|
189
|
+
}
|
|
132
190
|
extractEpisode(sourceText, episodePlan) {
|
|
133
191
|
return this.extractBatch(sourceText, episodePlan);
|
|
134
192
|
}
|
|
@@ -304,6 +362,130 @@ export class AnthropicProvider {
|
|
|
304
362
|
}
|
|
305
363
|
}
|
|
306
364
|
}
|
|
365
|
+
// ---------------------------------------------------------------------------
|
|
366
|
+
// Gemini provider (used by `scriptctl episode draft` by default)
|
|
367
|
+
// ---------------------------------------------------------------------------
|
|
368
|
+
/**
|
|
369
|
+
* Google Gemini provider via REST API. No SDK dependency (uses fetch).
|
|
370
|
+
*
|
|
371
|
+
* Used as the default writer for `scriptctl episode draft`. The Anthropic provider
|
|
372
|
+
* stays available for other internal extraction tasks (metadata / title generation /
|
|
373
|
+
* direct-init batch extraction) where Claude tends to outperform Gemini on JSON
|
|
374
|
+
* schema adherence.
|
|
375
|
+
*
|
|
376
|
+
* Env:
|
|
377
|
+
* - `SCRIPTCTL_GEMINI_API_KEY` (or fallback `GEMINI_API_KEY`) required
|
|
378
|
+
* - `SCRIPTCTL_GEMINI_BASE_URL` optional override
|
|
379
|
+
* - `SCRIPTCTL_GEMINI_MODEL` optional default-model override
|
|
380
|
+
*/
|
|
381
|
+
export class GeminiProvider {
|
|
382
|
+
name = "gemini";
|
|
383
|
+
apiKey;
|
|
384
|
+
baseUrl;
|
|
385
|
+
model;
|
|
386
|
+
constructor(model) {
|
|
387
|
+
const apiKey = (process.env.SCRIPTCTL_GEMINI_API_KEY ?? process.env.GEMINI_API_KEY ?? "").trim();
|
|
388
|
+
if (!apiKey) {
|
|
389
|
+
throw new CliError("DRAFT FAILED: Gemini API key missing", "Gemini API key missing.", {
|
|
390
|
+
exitCode: EXIT_RUNTIME,
|
|
391
|
+
required: ["SCRIPTCTL_GEMINI_API_KEY (or GEMINI_API_KEY)"],
|
|
392
|
+
received: ["no API key environment variable"],
|
|
393
|
+
nextSteps: ["Configure a Gemini API key in env. Use --provider mock only for tests, never for delivery."],
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
this.apiKey = apiKey;
|
|
397
|
+
const baseUrl = (process.env.SCRIPTCTL_GEMINI_BASE_URL ?? "https://generativelanguage.googleapis.com").trim();
|
|
398
|
+
this.baseUrl = baseUrl.replace(/\/+$/, "");
|
|
399
|
+
this.model = (model || process.env.SCRIPTCTL_GEMINI_MODEL || "gemini-2.5-pro").trim();
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Plain-text completion. Used by `episode draft` to write a spec-md episode body.
|
|
403
|
+
*/
|
|
404
|
+
async complete(prompt, maxTokens) {
|
|
405
|
+
const tokens = Math.max(1024, Math.min(maxTokens ?? DEFAULT_BATCH_MAX_TOKENS, DEFAULT_MAX_TOKENS));
|
|
406
|
+
const url = `${this.baseUrl}/v1beta/models/${encodeURIComponent(this.model)}:generateContent?key=${encodeURIComponent(this.apiKey)}`;
|
|
407
|
+
const body = {
|
|
408
|
+
contents: [{ role: "user", parts: [{ text: prompt }] }],
|
|
409
|
+
generationConfig: {
|
|
410
|
+
maxOutputTokens: tokens,
|
|
411
|
+
temperature: 0,
|
|
412
|
+
},
|
|
413
|
+
};
|
|
414
|
+
let response;
|
|
415
|
+
try {
|
|
416
|
+
response = await fetch(url, {
|
|
417
|
+
method: "POST",
|
|
418
|
+
headers: { "Content-Type": "application/json" },
|
|
419
|
+
body: JSON.stringify(body),
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
catch (exc) {
|
|
423
|
+
throw new CliError("DRAFT FAILED: Gemini network error", "Gemini network error.", {
|
|
424
|
+
exitCode: EXIT_RUNTIME,
|
|
425
|
+
required: ["reachable Gemini endpoint"],
|
|
426
|
+
received: [String(exc.message ?? exc)],
|
|
427
|
+
nextSteps: ["Check network / SCRIPTCTL_GEMINI_BASE_URL; retry."],
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
const text = await response.text();
|
|
431
|
+
if (!response.ok) {
|
|
432
|
+
throw new CliError("DRAFT FAILED: Gemini HTTP error", "Gemini HTTP error.", {
|
|
433
|
+
exitCode: EXIT_RUNTIME,
|
|
434
|
+
required: ["HTTP 2xx from Gemini"],
|
|
435
|
+
received: [`status: ${response.status}`, `body: ${text.slice(0, 320) || "<empty>"}`],
|
|
436
|
+
nextSteps: response.status === 429
|
|
437
|
+
? ["Rate-limited; back off and retry, or set SCRIPTCTL_GEMINI_MODEL to a less-throttled tier."]
|
|
438
|
+
: response.status === 401 || response.status === 403
|
|
439
|
+
? ["Verify SCRIPTCTL_GEMINI_API_KEY is valid and has access to the requested model."]
|
|
440
|
+
: ["Check Gemini response for error details and retry."],
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
let payload;
|
|
444
|
+
try {
|
|
445
|
+
payload = JSON.parse(text);
|
|
446
|
+
}
|
|
447
|
+
catch (exc) {
|
|
448
|
+
throw new CliError("DRAFT FAILED: Gemini returned non-JSON", "Gemini returned non-JSON.", {
|
|
449
|
+
exitCode: EXIT_RUNTIME,
|
|
450
|
+
required: ["valid JSON response"],
|
|
451
|
+
received: [`body head: ${text.slice(0, 160)}`, `parse error: ${exc.message}`],
|
|
452
|
+
nextSteps: ["Inspect raw response; ensure the gateway URL points at Gemini API."],
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
const candidate = payload.candidates?.[0];
|
|
456
|
+
const finishReason = strOf(candidate?.finishReason ?? "");
|
|
457
|
+
if (finishReason === "MAX_TOKENS") {
|
|
458
|
+
throw new CliError("DRAFT FAILED: Provider output truncated", "Provider output truncated.", {
|
|
459
|
+
exitCode: EXIT_RUNTIME,
|
|
460
|
+
required: ["complete markdown within provider max_tokens"],
|
|
461
|
+
received: [`finishReason: MAX_TOKENS`, `maxOutputTokens: ${tokens}`],
|
|
462
|
+
nextSteps: [
|
|
463
|
+
"Re-run with --regen, or raise SCRIPTCTL_MAX_TOKENS, or split the episode outline into smaller scopes.",
|
|
464
|
+
],
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
if (finishReason && finishReason !== "STOP" && finishReason !== "MAX_TOKENS") {
|
|
468
|
+
// SAFETY / RECITATION / OTHER — surface to agent rather than silently treat as success.
|
|
469
|
+
throw new CliError("DRAFT FAILED: Gemini stopped abnormally", `Gemini finishReason=${finishReason}.`, {
|
|
470
|
+
exitCode: EXIT_RUNTIME,
|
|
471
|
+
required: ["finishReason: STOP"],
|
|
472
|
+
received: [`finishReason: ${finishReason}`],
|
|
473
|
+
nextSteps: ["Inspect prompt / outline for triggering content; retry with --regen if it looks transient."],
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
const parts = candidate?.content?.parts ?? [];
|
|
477
|
+
const out = parts.map((p) => (typeof p.text === "string" ? p.text : "")).join("").trim();
|
|
478
|
+
if (!out) {
|
|
479
|
+
throw new CliError("DRAFT FAILED: Gemini returned empty content", "Gemini returned empty content.", {
|
|
480
|
+
exitCode: EXIT_RUNTIME,
|
|
481
|
+
required: ["non-empty candidate content"],
|
|
482
|
+
received: [`finishReason: ${finishReason || "<unset>"}`, `parts: ${parts.length}`],
|
|
483
|
+
nextSteps: ["Retry once; if it persists, check API quotas / model availability."],
|
|
484
|
+
});
|
|
485
|
+
}
|
|
486
|
+
return out;
|
|
487
|
+
}
|
|
488
|
+
}
|
|
307
489
|
function textFromResponse(response) {
|
|
308
490
|
const parts = [];
|
|
309
491
|
for (const block of response.content ?? []) {
|
|
@@ -320,11 +502,13 @@ export function makeProvider(name, model) {
|
|
|
320
502
|
return new MockProvider();
|
|
321
503
|
if (name === "anthropic")
|
|
322
504
|
return new AnthropicProvider(model);
|
|
505
|
+
if (name === "gemini")
|
|
506
|
+
return new GeminiProvider(model);
|
|
323
507
|
throw new CliError("INIT FAILED: Unsupported provider", "Unsupported provider.", {
|
|
324
508
|
exitCode: EXIT_USAGE,
|
|
325
|
-
required: ["--provider: anthropic
|
|
509
|
+
required: ["--provider: anthropic | gemini | mock"],
|
|
326
510
|
received: [`--provider: ${name}`],
|
|
327
|
-
nextSteps: ["Use --provider anthropic or --provider mock."],
|
|
511
|
+
nextSteps: ["Use --provider anthropic, --provider gemini, or --provider mock."],
|
|
328
512
|
});
|
|
329
513
|
}
|
|
330
514
|
//# 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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"}
|
package/dist/output.js
CHANGED
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
import { EXIT_OK } from "./common.js";
|
|
2
|
+
// Single source of truth for "what renders as a bulleted section in text mode".
|
|
3
|
+
// Both renderText and isBodyOnly read this — adding a new section here keeps
|
|
4
|
+
// body-only detection in lock-step with what users will actually see.
|
|
5
|
+
const STRUCTURAL_SECTIONS = [
|
|
6
|
+
["Required", "required"],
|
|
7
|
+
["Received", "received"],
|
|
8
|
+
["Result", "result"],
|
|
9
|
+
["Artifacts", "artifacts"],
|
|
10
|
+
["Issues", "issues"],
|
|
11
|
+
["Next", "next"],
|
|
12
|
+
];
|
|
13
|
+
function isBodyOnly(report) {
|
|
14
|
+
if (typeof report.body !== "string" || report.body.length === 0)
|
|
15
|
+
return false;
|
|
16
|
+
for (const [, key] of STRUCTURAL_SECTIONS) {
|
|
17
|
+
const v = report[key];
|
|
18
|
+
if (Array.isArray(v) && v.length > 0)
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
2
23
|
export function renderText(report, exitCode) {
|
|
24
|
+
if (isBodyOnly(report)) {
|
|
25
|
+
const body = report.body;
|
|
26
|
+
return body.endsWith("\n") ? body : body + "\n";
|
|
27
|
+
}
|
|
3
28
|
const lines = [String(report.title ?? "SCRIPTCTL"), ""];
|
|
4
|
-
const
|
|
5
|
-
["Required", "required"],
|
|
6
|
-
["Received", "received"],
|
|
7
|
-
["Result", "result"],
|
|
8
|
-
["Artifacts", "artifacts"],
|
|
9
|
-
["Issues", "issues"],
|
|
10
|
-
["Next", "next"],
|
|
11
|
-
];
|
|
12
|
-
for (const [heading, key] of sections) {
|
|
29
|
+
for (const [heading, key] of STRUCTURAL_SECTIONS) {
|
|
13
30
|
const items = report[key];
|
|
14
31
|
if (!items || (Array.isArray(items) && items.length === 0))
|
|
15
32
|
continue;
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAyB,MAAM,aAAa,CAAC;AAE7D,MAAM,UAAU,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `scriptctl episode` subcommand group.
|
|
3
|
+
*
|
|
4
|
+
* Atomic per-episode production loop for the creative mainline (灵感线 / 小说线 / 原创线
|
|
5
|
+
* → 剧本). The five commands compose into three modes:
|
|
6
|
+
*
|
|
7
|
+
* - **single**: user manually drives `draft → preview → commit` for each episode
|
|
8
|
+
* - **batch**: `episode batch --range a-b` internally loops draft → preview;
|
|
9
|
+
* user commits each episode after reviewing
|
|
10
|
+
* - **mixed**: first N episodes single (to lock in style), then batch
|
|
11
|
+
*
|
|
12
|
+
* The orchestrator is intentionally thin. Heavy lifting lives elsewhere:
|
|
13
|
+
* - prompt assembly + provider call → `infra/gemini-writer.ts`
|
|
14
|
+
* - markdown parsing → `domain/direct-core.ts::parseMarkdownBatch(.., {fragmentMode:true})`
|
|
15
|
+
* - asset state → `domain/asset-registry.ts`
|
|
16
|
+
* - collision detection → `domain/collision-detector.ts`
|
|
17
|
+
* - gateway upload → existing `infra/script-output-api.ts` (commit calls it)
|
|
18
|
+
*/
|
|
19
|
+
import { type Report } from "../common.js";
|
|
20
|
+
interface EpisodeOpts {
|
|
21
|
+
workspace_path?: string;
|
|
22
|
+
prompt_template?: string;
|
|
23
|
+
provider?: string;
|
|
24
|
+
model?: string;
|
|
25
|
+
outline?: string;
|
|
26
|
+
ref?: string[];
|
|
27
|
+
from_md?: string;
|
|
28
|
+
regen?: boolean;
|
|
29
|
+
resume?: boolean;
|
|
30
|
+
max_tokens?: string;
|
|
31
|
+
range?: string;
|
|
32
|
+
auto_commit?: boolean;
|
|
33
|
+
meta_path?: string;
|
|
34
|
+
from?: string;
|
|
35
|
+
to?: string;
|
|
36
|
+
force?: boolean;
|
|
37
|
+
project_group_no?: string;
|
|
38
|
+
request_id?: string;
|
|
39
|
+
_args?: string[];
|
|
40
|
+
}
|
|
41
|
+
export declare function commandEpisodeDraft(opts: EpisodeOpts): Promise<[Report, number]>;
|
|
42
|
+
export declare function commandEpisodeBatch(opts: EpisodeOpts): Promise<[Report, number]>;
|
|
43
|
+
export declare function commandEpisodeSpec(opts: EpisodeOpts): [Report, number];
|
|
44
|
+
export declare function commandEpisodeWorkspace(opts: EpisodeOpts): [Report, number];
|
|
45
|
+
export declare function commandEpisodeMerge(opts: EpisodeOpts): Promise<[Report, number]>;
|
|
46
|
+
export declare function commandEpisodePush(opts: EpisodeOpts): Promise<[Report, number]>;
|
|
47
|
+
export declare function commandEpisodeInit(opts: EpisodeOpts): [Report, number];
|
|
48
|
+
export {};
|