@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.
Files changed (40) hide show
  1. package/README.md +72 -0
  2. package/dist/cli.js +309 -396
  3. package/dist/cli.js.map +1 -1
  4. package/dist/common.d.ts +9 -0
  5. package/dist/common.js.map +1 -1
  6. package/dist/domain/asset-registry.d.ts +141 -0
  7. package/dist/domain/asset-registry.js +318 -0
  8. package/dist/domain/asset-registry.js.map +1 -0
  9. package/dist/domain/collision-detector.d.ts +83 -0
  10. package/dist/domain/collision-detector.js +248 -0
  11. package/dist/domain/collision-detector.js.map +1 -0
  12. package/dist/domain/direct-core.d.ts +13 -1
  13. package/dist/domain/direct-core.js +19 -6
  14. package/dist/domain/direct-core.js.map +1 -1
  15. package/dist/domain/script-core.d.ts +11 -0
  16. package/dist/domain/script-core.js +34 -19
  17. package/dist/domain/script-core.js.map +1 -1
  18. package/dist/help-text.js +336 -4
  19. package/dist/help-text.js.map +1 -1
  20. package/dist/infra/converters.js +21 -7
  21. package/dist/infra/converters.js.map +1 -1
  22. package/dist/infra/default-writing-prompt.d.ts +31 -0
  23. package/dist/infra/default-writing-prompt.js +50 -0
  24. package/dist/infra/default-writing-prompt.js.map +1 -0
  25. package/dist/infra/default-writing-prompt.md +115 -0
  26. package/dist/infra/gemini-writer.d.ts +107 -0
  27. package/dist/infra/gemini-writer.js +207 -0
  28. package/dist/infra/gemini-writer.js.map +1 -0
  29. package/dist/infra/providers.d.ts +36 -0
  30. package/dist/infra/providers.js +186 -2
  31. package/dist/infra/providers.js.map +1 -1
  32. package/dist/output.js +26 -9
  33. package/dist/output.js.map +1 -1
  34. package/dist/usecases/episode.d.ts +48 -0
  35. package/dist/usecases/episode.js +1209 -0
  36. package/dist/usecases/episode.js.map +1 -0
  37. package/dist/usecases/script.d.ts +6 -2
  38. package/dist/usecases/script.js +49 -5
  39. package/dist/usecases/script.js.map +1 -1
  40. package/package.json +9 -5
package/dist/help-text.js CHANGED
@@ -6,6 +6,7 @@ const HELP_ENTRIES = [
6
6
  Usage
7
7
  - scriptctl direct <command> [options]
8
8
  - scriptctl script <command> [options]
9
+ - scriptctl episode <command> [options]
9
10
 
10
11
  Commands
11
12
  - doctor Check CLI runtime, dependencies, env, and storage.
@@ -21,6 +22,11 @@ Commands
21
22
  - script action Edit action state changes and transition prompts.
22
23
  - script speaker Manage speakers.
23
24
  - script dialogue Edit multi-speaker dialogue.
25
+ - episode init Scaffold workspace/episodes/ + a meta.json template + gateway env preflight.
26
+ - episode draft Draft + lint + assemble-validate + auto-commit a single episode.
27
+ - episode batch Draft a range of episodes in one go.
28
+ - episode workspace List per-episode draft state in the \`episode\` from-scratch workspace.
29
+ - episode publish Assemble all drafted episodes and upload to gateway (--dry-run available).
24
30
 
25
31
  Options
26
32
  - --json Print machine-readable JSON instead of agent text.
@@ -247,19 +253,33 @@ Options
247
253
  ],
248
254
  [
249
255
  ["script", "inspect"],
250
- `Inspect the current final script.
256
+ `Inspect the current final script. Read-only.
251
257
 
252
258
  Usage
253
259
  - scriptctl script inspect [options]
254
260
 
261
+ Targets
262
+ - summary title + counts of episodes / scenes / actions / actors / locations / props / speakers
263
+ - episode per-episode line: scenes, actions, chars (dialogue / action split), title
264
+ - asset actors / locations / props with state counts
265
+ - speaker speakers with source kind and id
266
+ - issue current validation issues
267
+
255
268
  Options
256
269
  - --project-group-no Project group no. Default: SANDBOX_PROJECT_GROUP_NO
257
270
  - --script-path Explicit local intermediate script JSON path. Omit to use DB-backed script-output.
258
271
  - --workspace-path Workspace directory. Default: workspace
259
- - --target Optional: summary, episode, asset, speaker, issue. Default: summary
260
- - --id Optional item id filter.
261
- - --json Print machine-readable JSON.
272
+ - --target One of: summary, episode, asset, speaker, issue. Default: summary
273
+ - --id Optional item id filter (episode_id / actor_id / speaker_id / issue code).
274
+ - --min-chars (target=episode only) Only list episodes with total chars >= N.
275
+ - --max-chars (target=episode only) Only list episodes with total chars <= N.
276
+ - --json Print machine-readable JSON. Avoid unless you actually need to parse;
277
+ the default agent-text output is shorter and more readable.
262
278
  - --help Show this help.
279
+
280
+ Example
281
+ - "Which episodes exceed 1000 chars?"
282
+ scriptctl script inspect --target episode --min-chars 1000
263
283
  `,
264
284
  ],
265
285
  [
@@ -385,6 +405,318 @@ Options
385
405
  - --workspace-path Workspace directory. Default: workspace
386
406
  - --json Print machine-readable JSON.
387
407
  - --help Show this help.
408
+ `,
409
+ ],
410
+ [
411
+ ["episode"],
412
+ `scriptctl episode drives per-episode incremental script production for the creative
413
+ mainline (灵感线 / 小说线 / 原创线). The full per-project loop:
414
+
415
+ scriptctl episode init → scaffold + env preflight (once per project)
416
+ scriptctl episode draft <n> → provider → parse → lint → assemble-validate → commit
417
+ scriptctl episode merge → assemble committed episodes locally; write artifact + receipt
418
+ scriptctl episode push → upload merge artifact to gateway (after sha re-check)
419
+
420
+ Each draft is self-contained: any quality / consistency issue surfaces at the
421
+ moment of introduction. merge / push are deliberately split — merge is pure local
422
+ (no network), push is upload-only (no assembly). push refuses if the merge artifact
423
+ or any input drifted, forcing a fresh merge before any inconsistent snapshot can ship.
424
+
425
+ Usage
426
+ - scriptctl episode <command> [options]
427
+
428
+ Commands
429
+ - init Scaffold episodes/ + meta.json template; print gateway env preflight.
430
+ - draft <n> Single-command pipeline for one episode: extract title from outline H1
431
+ → call provider → parse → collision check → lint → cross-episode
432
+ assembled validation → auto-commit on full pass. Any blocker stops
433
+ here at the source rather than accumulating into a publish-time bomb.
434
+ - batch Loop draft over an inclusive episode range.
435
+ - workspace List drafted / committed / blocked-collision / blocked-lint per episode
436
+ in the \`episode\` from-scratch draft area. NOT a query against the
437
+ final script — use \`scriptctl script inspect\` for that.
438
+ - merge Local-only assembly: committed episodes + meta.json → script.json + receipt
439
+ under workspace/episodes/.merged/. No gateway calls. Re-run after any
440
+ episode edit.
441
+ - push Upload the merge artifact to gateway. Pure uploader; refuses if the
442
+ merge receipt's recorded hashes don't match current files on disk.
443
+ - spec Print the spec-md grammar scriptctl's parser accepts. Use this before
444
+ writing a spec md by hand (for \`episode draft --from-md\` / \`--resume\`).
445
+
446
+ Workspace layout (scriptctl episode owns everything under workspace/episodes/)
447
+ - workspace/episodes/meta.json project meta (agent writes; scaffold via "episode init")
448
+ - workspace/episodes/ep<NN>.outline.md agent-written per-episode outline
449
+ - workspace/episodes/ep<NN>.md draft spec markdown (scriptctl writes)
450
+ - workspace/episodes/ep<NN>.json parsed fragment
451
+ - workspace/episodes/ep<NN>.lint.json lint report
452
+ - workspace/episodes/ep<NN>.collision.json present only when hard collisions exist
453
+ - workspace/episodes/ep<NN>.history/ prior versions archived on --regen
454
+ - workspace/episodes/asset-registry.json cross-episode asset registry
455
+ - workspace/episodes/.done-<NN> commit marker (auto-commit at draft end)
456
+ - workspace/episodes/.merged/script.json assembled script (merge output, push input)
457
+ - workspace/episodes/.merged/merge-receipt.json hashes of script + meta + each ep<n>.json
458
+ - workspace/episodes/.merged/push-receipt.json revision / request_id / pushedAt (push output)
459
+
460
+ The .merged/ directory is scriptctl-owned. Do not hand-edit its files — push validates
461
+ sha consistency and will block any tampered or stale snapshot. To "republish", re-run
462
+ merge (after any source edit) then push.
463
+ `,
464
+ ],
465
+ [
466
+ ["episode", "init"],
467
+ `Scaffold the episode workspace. Creates <workspace>/episodes/ and writes a
468
+ meta.json template with TODO placeholders for title / worldview / style.
469
+
470
+ Usage
471
+ - scriptctl episode init [options]
472
+
473
+ Options
474
+ - --workspace-path Workspace directory. Default: workspace
475
+ - --force Overwrite an existing meta.json with the placeholder template.
476
+
477
+ After running init, edit episodes/meta.json to fill in the real title / worldview /
478
+ style values, then prepare per-episode outlines at episodes/ep<NN>.outline.md and
479
+ run \`scriptctl episode draft 1\`.
480
+
481
+ Exit code: 0 always (skipped or written).
482
+ `,
483
+ ],
484
+ [
485
+ ["episode", "draft"],
486
+ `Draft + lint + assemble-validate + auto-commit episode <n> in one command.
487
+
488
+ The full pipeline for one episode:
489
+ 1. Extract episode title from outline H1 (e.g. "# 第 N 集:副标题").
490
+ Hard fail if missing — title must come from outline, not be patched later.
491
+ 2. Call provider (Gemini by default) → spec markdown.
492
+ 3. parseMarkdownBatch (fragment mode) — schema-strict parse.
493
+ 4. Collision detection against asset-registry.json. Hard collision → block.
494
+ 5. lint (40-char dialogue cap, anti-novelization, 5-module structure).
495
+ 6. Cross-episode assembled validation against ALL drafted episodes +
496
+ episodes/meta.json. Catches schema drift / asset reference issues at the
497
+ source, not at publish time.
498
+ 7. On full pass: registry transitions uncommitted → committed for this
499
+ episode's assets; .done-<NN> marker written.
500
+
501
+ Usage
502
+ - scriptctl episode draft <n> [options]
503
+
504
+ Required
505
+ - <n> Positive episode number.
506
+
507
+ Options
508
+ - --workspace-path Workspace directory (scriptctl's own output dir).
509
+ Default: workspace
510
+ - --prompt-template Path to the writing-prompt template (e.g. the skill's
511
+ assets/gemini-writing-prompt.md). When omitted, scriptctl's
512
+ bundled default is used. The template may contain the
513
+ placeholder \`<!-- MARKDOWN_BATCH_PROMPT_SPEC -->\`, which is
514
+ replaced with the authoritative parser spec at draft time
515
+ (same mechanism the bundled default uses) so skill prompts
516
+ stay in sync with the parser as it evolves.
517
+ - --outline Path to this episode's per-episode 集纲 file. Accepts a
518
+ literal path or a template with the {NN} placeholder.
519
+ Default: <workspace>/episodes/ep{NN}.outline.md
520
+ - --ref <spec> Inject a named context block. Format: "<title>=<path>".
521
+ Repeatable; later entries with the same title override earlier.
522
+ scriptctl itself knows NO external file names — the SKILL or
523
+ agent owns which refs to pass.
524
+ Example: --ref "全局设定=analysis-workspace/全局设定.md"
525
+ - --from-md Skip the provider call; ingest a user-provided spec md
526
+ from this path. Useful when the agent / editor wrote the
527
+ episode by hand. Note: the outline file (ep<NN>.outline.md
528
+ at the default or --outline location) is still required —
529
+ the episode title comes from its H1, ensuring assembled
530
+ title and body remain in sync. Run \`scriptctl episode spec\`
531
+ to see the exact spec-md grammar before writing by hand.
532
+ - --provider Writer provider. Production: gemini (default; omit the flag).
533
+ For tests only: mock. Claude does NOT write episode bodies —
534
+ it stays on direct-init structured extraction.
535
+ - --model Override the Gemini model (default: gemini-2.5-pro).
536
+ - --max-tokens Override max_tokens for this draft.
537
+ - --regen Archive the existing ep<n>.md to ep<n>.history/ and roll
538
+ back uncommitted registry entries before drafting.
539
+ - --resume Skip the provider call; re-parse and re-collision-check
540
+ the existing ep<n>.md. Use after hand-editing a collision.
541
+
542
+ Context injection (in order, scriptctl builds the prompt itself):
543
+ 1. The writing-prompt template (--prompt-template)
544
+ 2. Asset registry summary (auto, from <workspace>/episodes/asset-registry.json)
545
+ 3. Reference blocks (from --ref, one block per flag)
546
+ 4. The per-episode outline (from --outline or default location)
547
+ 5. Previous-episode tail (auto, from <workspace>/episodes/ep<N-1>.md)
548
+
549
+ Only the registry, the previous-episode lookup, and the outline default live in
550
+ scriptctl's own writing directory (<workspace>/episodes/). Everything else is
551
+ agent / SKILL-controlled via --ref.
552
+
553
+ Exit codes
554
+ - 0 pipeline passed all gates; episode committed
555
+ - 64 usage / arguments error (incl. missing outline H1 title)
556
+ - 66 input file unavailable (prompt template, outline, --from-md path missing)
557
+ - 70 provider failure or final parse failure after retry
558
+ - 78 hard collision OR lint critical OR assembled validation blocking — fix and re-run with --resume
559
+ `,
560
+ ],
561
+ [
562
+ ["episode", "batch"],
563
+ `Batch-draft an inclusive range of episodes.
564
+
565
+ Usage
566
+ - scriptctl episode batch --range <a-b> [options]
567
+
568
+ Required
569
+ - --range <a-b> Inclusive episode range, e.g. --range 1-10.
570
+
571
+ Options
572
+ - --workspace-path Workspace directory. Default: workspace
573
+ - --prompt-template Required unless every episode is being --resume'd.
574
+ - --outline Path template with {NN} placeholder (e.g.
575
+ workspace/episodes/ep{NN}.outline.md). Same as draft.
576
+ - --ref <spec> Repeatable context ref (see "episode draft --help").
577
+ - --provider gemini (default) | mock (tests only). Same restriction as draft.
578
+ - --model Override the Gemini model.
579
+ - --max-tokens Per-episode max_tokens override.
580
+
581
+ Output
582
+ - A summary listing committed / blocked episodes.
583
+ - Blocked episodes need agent resolution; see their collision.json or lint.json.
584
+ `,
585
+ ],
586
+ [
587
+ ["episode", "merge"],
588
+ `Assemble all committed episodes (those with .done-<NN> markers) + episodes/meta.json
589
+ into a single script.json, run schema validation, and persist locally for review.
590
+ NO network — gateway upload is the separate "episode push" command.
591
+
592
+ Usage
593
+ - scriptctl episode merge [options]
594
+
595
+ Required workspace files
596
+ - workspace/episodes/meta.json {"title": "...", "worldview": "现代",
597
+ "worldview_raw": "...", "style": "..."}
598
+ scaffold via "scriptctl episode init"
599
+ - workspace/episodes/.done-<NN> at least one episode passed draft auto-commit
600
+
601
+ Options
602
+ - --workspace-path Workspace directory. Default: workspace
603
+ - --meta-path Override meta location. Default: <workspace>/episodes/meta.json
604
+ - --from <n> Lower bound episode number (inclusive). Default: all
605
+ - --to <n> Upper bound episode number (inclusive). Default: all
606
+ - --force Allow non-blocking validation warnings. Blocking errors still
607
+ refuse to write a receipt.
608
+
609
+ Behavior
610
+ - Scans episodes with .done-<NN> marker only — blocked (collision / lint) drafts
611
+ are skipped so a half-broken draft can never enter the merged script.
612
+ - Assembles using direct-core's mergeEpisodeResults (same shape as direct export).
613
+ - Re-runs validateScript (defense-in-depth — catches hand-edited ep<n>.json).
614
+ - On success: writes script.json + merge-receipt.json (sha256 of script, meta,
615
+ each ep<n>.json). \`episode push\` later re-verifies these hashes before uploading.
616
+ - On validation failure: script.json IS written (for agent inspection) but NO
617
+ receipt is — push will refuse until you re-merge.
618
+
619
+ Outputs
620
+ - workspace/episodes/.merged/script.json assembled script for review
621
+ - workspace/episodes/.merged/merge-receipt.json inputs + output sha256, locks state
622
+
623
+ Don't edit either file by hand. \`episode push\` validates them strictly; any drift
624
+ means re-merge. Treat .merged/ as read-only output of \`episode merge\`.
625
+
626
+ Exit codes
627
+ - 0 merged OK; receipt written; ready to push
628
+ - 64 usage / arguments error
629
+ - 66 meta or committed episodes missing
630
+ - 78 validation needs agent repair
631
+ `,
632
+ ],
633
+ [
634
+ ["episode", "push"],
635
+ `Upload the most recent \`episode merge\` artifact to the script-output gateway.
636
+ Pure uploader — does not assemble or validate (merge already did). Refuses to
637
+ upload if the artifact / inputs drifted since merge.
638
+
639
+ Usage
640
+ - scriptctl episode push [options]
641
+
642
+ Required environment (gateway)
643
+ - SCRIPTCTL_GATEWAY_URL / AWB_BASE_URL gateway base
644
+ - SCRIPTCTL_ACCESS_KEY / AWB_ACCESS_KEY gateway access key
645
+ - SANDBOX_PROJECT_GROUP_NO or --project-group-no
646
+
647
+ Required workspace files
648
+ - workspace/episodes/.merged/script.json produced by \`episode merge\`
649
+ - workspace/episodes/.merged/merge-receipt.json produced by \`episode merge\`
650
+
651
+ Options
652
+ - --workspace-path Workspace directory. Default: workspace
653
+ - --project-group-no Override the project group number.
654
+ - --request-id Override the auto-derived idempotency key (defaults to
655
+ sha256 of the merged script).
656
+
657
+ Behavior — triple hash check (refuses any drift)
658
+ - (a) workspace/episodes/.merged/script.json sha == receipt.scriptSha256
659
+ - (b) meta.json (path from receipt) sha == receipt.metaSha256
660
+ - (c) every ep<n>.json sha == receipt.episodes[i].sha256
661
+ - Any mismatch → BLOCKED; agent must re-run \`episode merge\`.
662
+ - All pass → single gateway call (replaceScript), idempotency key from script sha.
663
+
664
+ Outputs
665
+ - workspace/episodes/.merged/push-receipt.json revision, requestId, pushedAt
666
+
667
+ Exit codes
668
+ - 0 uploaded OK
669
+ - 64 usage / arguments error
670
+ - 66 merge artifact or env missing
671
+ - 70 gateway runtime failure
672
+ - 78 merge receipt stale — re-merge required
673
+ `,
674
+ ],
675
+ [
676
+ ["episode", "spec"],
677
+ `Print the spec-md grammar scriptctl's parser accepts. \`episode draft\` (Gemini)
678
+ auto-injects this into the writing prompt; this command exposes the same string
679
+ for agents writing spec md by hand (for \`episode draft --from-md\` / \`--resume\`).
680
+
681
+ Usage
682
+ - scriptctl episode spec
683
+ - scriptctl episode spec > spec.md (capture to a file for reference)
684
+
685
+ Behavior
686
+ - Reads the same MARKDOWN_BATCH_PROMPT_SPEC constant the bundled prompt uses —
687
+ single source of truth. No options, no side effects, no network.
688
+
689
+ Output
690
+ - Default text mode: the spec body verbatim — no title / exit wrapper, so
691
+ \`scriptctl episode spec > spec.md\` produces a clean spec file.
692
+ - --json mode: standard envelope with \`body\` field holding the spec text.
693
+
694
+ Exit codes
695
+ - 0 always (read-only command).
696
+ `,
697
+ ],
698
+ [
699
+ ["episode", "workspace"],
700
+ `Report per-episode draft state inside the \`episode\` from-scratch workspace.
701
+
702
+ This is a workspace-area introspection command. It only knows about files under
703
+ workspace/episodes/. An empty result means "no from-scratch drafts in this
704
+ workspace" — NOT "no final script exists". To query the existing final script
705
+ (episode count, per-episode size, asset counts, etc.) use:
706
+ scriptctl script inspect --target summary
707
+ scriptctl script inspect --target episode
708
+
709
+ Usage
710
+ - scriptctl episode workspace [options]
711
+
712
+ Options
713
+ - --workspace-path Workspace directory. Default: workspace
714
+
715
+ States
716
+ - drafted ep<NN>.md exists, no auto-commit yet
717
+ - blocked-collision collision report exists; agent must resolve
718
+ - blocked-lint lint critical report exists; agent must resolve
719
+ - committed .done-<NN> marker exists
388
720
  `,
389
721
  ],
390
722
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"help-text.js","sourceRoot":"","sources":["../src/help-text.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAuC;IACvD;QACE,EAAE;QACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BH;KACE;IACD;QACE,CAAC,QAAQ,CAAC;QACV;;;;;;;;;;;;;;;CAeH;KACE;IACD;QACE,CAAC,QAAQ,CAAC;QACV;;;;;;;;;;;;;;;;;;;;;CAqBH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,UAAU,CAAC;QACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,SAAS,CAAC;QACrB;;;;;;;;;;;;;;;;;;;;;;;;;CAyBH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BH;KACE;IACD;QACE,CAAC,QAAQ,CAAC;QACV;;;;;;;;;;;;;;;;;;;;;;CAsBH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,SAAS,CAAC;QACrB;;;;;;;;;;;;;CAaH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,UAAU,CAAC;QACtB;;;;;;;;;;;CAWH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,OAAO,CAAC;QACnB;;;;;;;;;;;;;;;CAeH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,OAAO,CAAC;QACnB;;;;;;;;;;;;;;;;;CAiBH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,SAAS,CAAC;QACrB;;;;;;;;;;;;;CAaH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACpB;;;;;;;;;;;;;;;CAeH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,SAAS,CAAC;QACrB;;;;;;;;;;;;;CAaH;KACE;IACD;QACE,CAAC,QAAQ,EAAE,UAAU,CAAC;QACtB;;;;;;;;;;;;;CAaH;KACE;CACF,CAAC;AAEF,SAAS,KAAK,CAAC,OAA0B;IACvC,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAC3C,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CACtD,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,OAA0B;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"help-text.js","sourceRoot":"","sources":["../src/help-text.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ import * as os from "node:os";
4
4
  import JSZip from "jszip";
5
5
  import { XMLParser } from "fast-xml-parser";
6
6
  import ExcelJS from "exceljs";
7
- import pdfParse from "pdf-parse";
8
7
  import { fmtId, readText, sha256File, sha256Text, writeText, } from "../common.js";
9
8
  import { cleanEpisodeShortTitle, episodeNumberFromValue, isTechnicalEpisodeTitle, } from "../domain/direct-core.js";
10
9
  function strOf(v) {
@@ -344,14 +343,29 @@ export async function convertDocx(source) {
344
343
  return [parts.join("\n\n"), embedded.length > 0];
345
344
  }
346
345
  // ---------------------------------------------------------------------------
347
- // PDF (pdf-parse)
346
+ // PDF (pdfjs-dist)
348
347
  // ---------------------------------------------------------------------------
349
348
  export async function convertPdf(source) {
350
- const data = await pdfParse(fs.readFileSync(source));
351
- // pdf-parse returns full text; split by form-feed which it inserts between pages, or by blank lines
352
- const text = data.text || "";
353
- // Split into pages by form-feed (\f) which pdf-parse uses as page separator
354
- const pages = text.split(/\f/).map((p) => p.trim()).filter((p) => p);
349
+ const { getDocument } = await import("pdfjs-dist/legacy/build/pdf.mjs");
350
+ const data = new Uint8Array(fs.readFileSync(source));
351
+ const doc = await getDocument({
352
+ data,
353
+ disableFontFace: true,
354
+ useSystemFonts: false,
355
+ isEvalSupported: false,
356
+ }).promise;
357
+ const pages = [];
358
+ for (let i = 1; i <= doc.numPages; i++) {
359
+ const page = await doc.getPage(i);
360
+ const content = await page.getTextContent();
361
+ const text = content.items
362
+ .map((it) => ("str" in it ? it.str : ""))
363
+ .join("");
364
+ const trimmed = text.trim();
365
+ if (trimmed)
366
+ pages.push(trimmed);
367
+ }
368
+ await doc.destroy();
355
369
  return pages.join("\n\n");
356
370
  }
357
371
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/infra/converters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/infra/converters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Default writing prompt bundled with scriptctl.
3
+ *
4
+ * Used by `scriptctl episode draft` when the caller does not pass
5
+ * `--prompt-template <path>`.
6
+ *
7
+ * The actual prompt lives in the sibling `default-writing-prompt.md` so the
8
+ * content stays markdown — readable in editors, diffable, and editable by
9
+ * non-engineers (编剧 / 业务). This TS file only:
10
+ *
11
+ * 1. Loads the .md at module-init time.
12
+ * 2. Substitutes the `<!-- MARKDOWN_BATCH_PROMPT_SPEC -->` placeholder with the
13
+ * authoritative spec from `common.ts` (single source of truth for the
14
+ * parser-acceptable grammar — same spec consumed by `direct init`).
15
+ *
16
+ * The .md is copied to `dist/infra/` by the package's build script so the
17
+ * shipped npm package contains it; vitest reads the source .md directly.
18
+ */
19
+ export declare const SPEC_PLACEHOLDER = "<!-- MARKDOWN_BATCH_PROMPT_SPEC -->";
20
+ /**
21
+ * Substitute the `<!-- MARKDOWN_BATCH_PROMPT_SPEC -->` placeholder (if present) in
22
+ * any prompt template body with the authoritative parser spec. Returns the body
23
+ * unchanged when the placeholder is absent — that's fine for templates that
24
+ * hard-code the spec themselves.
25
+ *
26
+ * Used both by the bundled default prompt loader and by --prompt-template, so
27
+ * skill-supplied templates can use the same placeholder mechanism and stay in
28
+ * sync with the parser as the spec evolves.
29
+ */
30
+ export declare function injectSpec(promptBody: string): string;
31
+ export declare const DEFAULT_WRITING_PROMPT: string;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Default writing prompt bundled with scriptctl.
3
+ *
4
+ * Used by `scriptctl episode draft` when the caller does not pass
5
+ * `--prompt-template <path>`.
6
+ *
7
+ * The actual prompt lives in the sibling `default-writing-prompt.md` so the
8
+ * content stays markdown — readable in editors, diffable, and editable by
9
+ * non-engineers (编剧 / 业务). This TS file only:
10
+ *
11
+ * 1. Loads the .md at module-init time.
12
+ * 2. Substitutes the `<!-- MARKDOWN_BATCH_PROMPT_SPEC -->` placeholder with the
13
+ * authoritative spec from `common.ts` (single source of truth for the
14
+ * parser-acceptable grammar — same spec consumed by `direct init`).
15
+ *
16
+ * The .md is copied to `dist/infra/` by the package's build script so the
17
+ * shipped npm package contains it; vitest reads the source .md directly.
18
+ */
19
+ import * as fs from "node:fs";
20
+ import * as path from "node:path";
21
+ import { fileURLToPath } from "node:url";
22
+ import { MARKDOWN_BATCH_PROMPT_SPEC } from "../common.js";
23
+ export const SPEC_PLACEHOLDER = "<!-- MARKDOWN_BATCH_PROMPT_SPEC -->";
24
+ /**
25
+ * Substitute the `<!-- MARKDOWN_BATCH_PROMPT_SPEC -->` placeholder (if present) in
26
+ * any prompt template body with the authoritative parser spec. Returns the body
27
+ * unchanged when the placeholder is absent — that's fine for templates that
28
+ * hard-code the spec themselves.
29
+ *
30
+ * Used both by the bundled default prompt loader and by --prompt-template, so
31
+ * skill-supplied templates can use the same placeholder mechanism and stay in
32
+ * sync with the parser as the spec evolves.
33
+ */
34
+ export function injectSpec(promptBody) {
35
+ if (!promptBody.includes(SPEC_PLACEHOLDER))
36
+ return promptBody;
37
+ return promptBody.replace(SPEC_PLACEHOLDER, MARKDOWN_BATCH_PROMPT_SPEC);
38
+ }
39
+ function loadBundledPrompt() {
40
+ const here = path.dirname(fileURLToPath(import.meta.url));
41
+ const mdPath = path.join(here, "default-writing-prompt.md");
42
+ const raw = fs.readFileSync(mdPath, "utf-8").trim();
43
+ if (!raw.includes(SPEC_PLACEHOLDER)) {
44
+ throw new Error(`default-writing-prompt.md is missing the "${SPEC_PLACEHOLDER}" placeholder; ` +
45
+ `the bundled prompt cannot embed the format spec.`);
46
+ }
47
+ return injectSpec(raw);
48
+ }
49
+ export const DEFAULT_WRITING_PROMPT = loadBundledPrompt();
50
+ //# sourceMappingURL=default-writing-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-writing-prompt.js","sourceRoot":"","sources":["../../src/infra/default-writing-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,qCAAqC,CAAC;AAEtE;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,UAAkB;IAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9D,OAAO,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,6CAA6C,gBAAgB,iBAAiB;YAC5E,kDAAkD,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,EAAE,CAAC"}