@lingjingai/scriptctl 0.1.0 → 0.2.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 (36) hide show
  1. package/README.md +71 -0
  2. package/dist/cli.js +305 -396
  3. package/dist/cli.js.map +1 -1
  4. package/dist/domain/asset-registry.d.ts +141 -0
  5. package/dist/domain/asset-registry.js +318 -0
  6. package/dist/domain/asset-registry.js.map +1 -0
  7. package/dist/domain/collision-detector.d.ts +83 -0
  8. package/dist/domain/collision-detector.js +248 -0
  9. package/dist/domain/collision-detector.js.map +1 -0
  10. package/dist/domain/direct-core.d.ts +13 -1
  11. package/dist/domain/direct-core.js +14 -4
  12. package/dist/domain/direct-core.js.map +1 -1
  13. package/dist/domain/script-core.d.ts +11 -0
  14. package/dist/domain/script-core.js +34 -19
  15. package/dist/domain/script-core.js.map +1 -1
  16. package/dist/help-text.js +283 -0
  17. package/dist/help-text.js.map +1 -1
  18. package/dist/infra/converters.js +21 -7
  19. package/dist/infra/converters.js.map +1 -1
  20. package/dist/infra/default-writing-prompt.d.ts +31 -0
  21. package/dist/infra/default-writing-prompt.js +50 -0
  22. package/dist/infra/default-writing-prompt.js.map +1 -0
  23. package/dist/infra/default-writing-prompt.md +115 -0
  24. package/dist/infra/gemini-writer.d.ts +107 -0
  25. package/dist/infra/gemini-writer.js +207 -0
  26. package/dist/infra/gemini-writer.js.map +1 -0
  27. package/dist/infra/providers.d.ts +36 -0
  28. package/dist/infra/providers.js +186 -2
  29. package/dist/infra/providers.js.map +1 -1
  30. package/dist/usecases/episode.d.ts +47 -0
  31. package/dist/usecases/episode.js +1188 -0
  32. package/dist/usecases/episode.js.map +1 -0
  33. package/dist/usecases/script.d.ts +6 -2
  34. package/dist/usecases/script.js +4 -4
  35. package/dist/usecases/script.js.map +1 -1
  36. package/package.json +4 -4
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 status List status of every drafted episode.
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.
@@ -385,6 +391,283 @@ Options
385
391
  - --workspace-path Workspace directory. Default: workspace
386
392
  - --json Print machine-readable JSON.
387
393
  - --help Show this help.
394
+ `,
395
+ ],
396
+ [
397
+ ["episode"],
398
+ `scriptctl episode drives per-episode incremental script production for the creative
399
+ mainline (灵感线 / 小说线 / 原创线). The full per-project loop:
400
+
401
+ scriptctl episode init → scaffold + env preflight (once per project)
402
+ scriptctl episode draft <n> → provider → parse → lint → assemble-validate → commit
403
+ scriptctl episode merge → assemble committed episodes locally; write artifact + receipt
404
+ scriptctl episode push → upload merge artifact to gateway (after sha re-check)
405
+
406
+ Each draft is self-contained: any quality / consistency issue surfaces at the
407
+ moment of introduction. merge / push are deliberately split — merge is pure local
408
+ (no network), push is upload-only (no assembly). push refuses if the merge artifact
409
+ or any input drifted, forcing a fresh merge before any inconsistent snapshot can ship.
410
+
411
+ Usage
412
+ - scriptctl episode <command> [options]
413
+
414
+ Commands
415
+ - init Scaffold episodes/ + meta.json template; print gateway env preflight.
416
+ - draft <n> Single-command pipeline for one episode: extract title from outline H1
417
+ → call provider → parse → collision check → lint → cross-episode
418
+ assembled validation → auto-commit on full pass. Any blocker stops
419
+ here at the source rather than accumulating into a publish-time bomb.
420
+ - batch Loop draft over an inclusive episode range.
421
+ - status List drafted / committed / blocked-collision / blocked-lint per episode.
422
+ - merge Local-only assembly: committed episodes + meta.json → script.json + receipt
423
+ under workspace/episodes/.merged/. No gateway calls. Re-run after any
424
+ episode edit.
425
+ - push Upload the merge artifact to gateway. Pure uploader; refuses if the
426
+ merge receipt's recorded hashes don't match current files on disk.
427
+
428
+ Workspace layout (scriptctl episode owns everything under workspace/episodes/)
429
+ - workspace/episodes/meta.json project meta (agent writes; scaffold via "episode init")
430
+ - workspace/episodes/ep<NN>.outline.md agent-written per-episode outline
431
+ - workspace/episodes/ep<NN>.md draft spec markdown (scriptctl writes)
432
+ - workspace/episodes/ep<NN>.json parsed fragment
433
+ - workspace/episodes/ep<NN>.lint.json lint report
434
+ - workspace/episodes/ep<NN>.collision.json present only when hard collisions exist
435
+ - workspace/episodes/ep<NN>.history/ prior versions archived on --regen
436
+ - workspace/episodes/asset-registry.json cross-episode asset registry
437
+ - workspace/episodes/.done-<NN> commit marker (auto-commit at draft end)
438
+ - workspace/episodes/.merged/script.json assembled script (merge output, push input)
439
+ - workspace/episodes/.merged/merge-receipt.json hashes of script + meta + each ep<n>.json
440
+ - workspace/episodes/.merged/push-receipt.json revision / request_id / pushedAt (push output)
441
+
442
+ The .merged/ directory is scriptctl-owned. Do not hand-edit its files — push validates
443
+ sha consistency and will block any tampered or stale snapshot. To "republish", re-run
444
+ merge (after any source edit) then push.
445
+ `,
446
+ ],
447
+ [
448
+ ["episode", "init"],
449
+ `Scaffold the episode workspace. Creates <workspace>/episodes/ and writes a
450
+ meta.json template with TODO placeholders for title / worldview / style.
451
+
452
+ Usage
453
+ - scriptctl episode init [options]
454
+
455
+ Options
456
+ - --workspace-path Workspace directory. Default: workspace
457
+ - --force Overwrite an existing meta.json with the placeholder template.
458
+
459
+ After running init, edit episodes/meta.json to fill in the real title / worldview /
460
+ style values, then prepare per-episode outlines at episodes/ep<NN>.outline.md and
461
+ run \`scriptctl episode draft 1\`.
462
+
463
+ Exit code: 0 always (skipped or written).
464
+ `,
465
+ ],
466
+ [
467
+ ["episode", "draft"],
468
+ `Draft + lint + assemble-validate + auto-commit episode <n> in one command.
469
+
470
+ The full pipeline for one episode:
471
+ 1. Extract episode title from outline H1 (e.g. "# 第 N 集:副标题").
472
+ Hard fail if missing — title must come from outline, not be patched later.
473
+ 2. Call provider (Gemini by default) → spec markdown.
474
+ 3. parseMarkdownBatch (fragment mode) — schema-strict parse.
475
+ 4. Collision detection against asset-registry.json. Hard collision → block.
476
+ 5. lint (40-char dialogue cap, anti-novelization, 5-module structure).
477
+ 6. Cross-episode assembled validation against ALL drafted episodes +
478
+ episodes/meta.json. Catches schema drift / asset reference issues at the
479
+ source, not at publish time.
480
+ 7. On full pass: registry transitions uncommitted → committed for this
481
+ episode's assets; .done-<NN> marker written.
482
+
483
+ Usage
484
+ - scriptctl episode draft <n> [options]
485
+
486
+ Required
487
+ - <n> Positive episode number.
488
+
489
+ Options
490
+ - --workspace-path Workspace directory (scriptctl's own output dir).
491
+ Default: workspace
492
+ - --prompt-template Path to the writing-prompt template (e.g. the skill's
493
+ assets/gemini-writing-prompt.md). When omitted, scriptctl's
494
+ bundled default is used. The template may contain the
495
+ placeholder \`<!-- MARKDOWN_BATCH_PROMPT_SPEC -->\`, which is
496
+ replaced with the authoritative parser spec at draft time
497
+ (same mechanism the bundled default uses) so skill prompts
498
+ stay in sync with the parser as it evolves.
499
+ - --outline Path to this episode's per-episode 集纲 file. Accepts a
500
+ literal path or a template with the {NN} placeholder.
501
+ Default: <workspace>/episodes/ep{NN}.outline.md
502
+ - --ref <spec> Inject a named context block. Format: "<title>=<path>".
503
+ Repeatable; later entries with the same title override earlier.
504
+ scriptctl itself knows NO external file names — the SKILL or
505
+ agent owns which refs to pass.
506
+ Example: --ref "全局设定=analysis-workspace/全局设定.md"
507
+ - --from-md Skip the provider call; ingest a user-provided spec md
508
+ from this path. Useful when the agent / editor wrote the
509
+ episode by hand. Note: the outline file (ep<NN>.outline.md
510
+ at the default or --outline location) is still required —
511
+ the episode title comes from its H1, ensuring assembled
512
+ title and body remain in sync.
513
+ - --provider Writer provider. Production: gemini (default; omit the flag).
514
+ For tests only: mock. Claude does NOT write episode bodies —
515
+ it stays on direct-init structured extraction.
516
+ - --model Override the Gemini model (default: gemini-2.5-pro).
517
+ - --max-tokens Override max_tokens for this draft.
518
+ - --regen Archive the existing ep<n>.md to ep<n>.history/ and roll
519
+ back uncommitted registry entries before drafting.
520
+ - --resume Skip the provider call; re-parse and re-collision-check
521
+ the existing ep<n>.md. Use after hand-editing a collision.
522
+
523
+ Context injection (in order, scriptctl builds the prompt itself):
524
+ 1. The writing-prompt template (--prompt-template)
525
+ 2. Asset registry summary (auto, from <workspace>/episodes/asset-registry.json)
526
+ 3. Reference blocks (from --ref, one block per flag)
527
+ 4. The per-episode outline (from --outline or default location)
528
+ 5. Previous-episode tail (auto, from <workspace>/episodes/ep<N-1>.md)
529
+
530
+ Only the registry, the previous-episode lookup, and the outline default live in
531
+ scriptctl's own writing directory (<workspace>/episodes/). Everything else is
532
+ agent / SKILL-controlled via --ref.
533
+
534
+ Exit codes
535
+ - 0 pipeline passed all gates; episode committed
536
+ - 64 usage / arguments error (incl. missing outline H1 title)
537
+ - 66 input file unavailable (prompt template, outline, --from-md path missing)
538
+ - 70 provider failure or final parse failure after retry
539
+ - 78 hard collision OR lint critical OR assembled validation blocking — fix and re-run with --resume
540
+ `,
541
+ ],
542
+ [
543
+ ["episode", "batch"],
544
+ `Batch-draft an inclusive range of episodes.
545
+
546
+ Usage
547
+ - scriptctl episode batch --range <a-b> [options]
548
+
549
+ Required
550
+ - --range <a-b> Inclusive episode range, e.g. --range 1-10.
551
+
552
+ Options
553
+ - --workspace-path Workspace directory. Default: workspace
554
+ - --prompt-template Required unless every episode is being --resume'd.
555
+ - --outline Path template with {NN} placeholder (e.g.
556
+ workspace/episodes/ep{NN}.outline.md). Same as draft.
557
+ - --ref <spec> Repeatable context ref (see "episode draft --help").
558
+ - --provider gemini (default) | mock (tests only). Same restriction as draft.
559
+ - --model Override the Gemini model.
560
+ - --max-tokens Per-episode max_tokens override.
561
+
562
+ Output
563
+ - A summary listing committed / blocked episodes.
564
+ - Blocked episodes need agent resolution; see their collision.json or lint.json.
565
+ `,
566
+ ],
567
+ [
568
+ ["episode", "merge"],
569
+ `Assemble all committed episodes (those with .done-<NN> markers) + episodes/meta.json
570
+ into a single script.json, run schema validation, and persist locally for review.
571
+ NO network — gateway upload is the separate "episode push" command.
572
+
573
+ Usage
574
+ - scriptctl episode merge [options]
575
+
576
+ Required workspace files
577
+ - workspace/episodes/meta.json {"title": "...", "worldview": "现代",
578
+ "worldview_raw": "...", "style": "..."}
579
+ scaffold via "scriptctl episode init"
580
+ - workspace/episodes/.done-<NN> at least one episode passed draft auto-commit
581
+
582
+ Options
583
+ - --workspace-path Workspace directory. Default: workspace
584
+ - --meta-path Override meta location. Default: <workspace>/episodes/meta.json
585
+ - --from <n> Lower bound episode number (inclusive). Default: all
586
+ - --to <n> Upper bound episode number (inclusive). Default: all
587
+ - --force Allow non-blocking validation warnings. Blocking errors still
588
+ refuse to write a receipt.
589
+
590
+ Behavior
591
+ - Scans episodes with .done-<NN> marker only — blocked (collision / lint) drafts
592
+ are skipped so a half-broken draft can never enter the merged script.
593
+ - Assembles using direct-core's mergeEpisodeResults (same shape as direct export).
594
+ - Re-runs validateScript (defense-in-depth — catches hand-edited ep<n>.json).
595
+ - On success: writes script.json + merge-receipt.json (sha256 of script, meta,
596
+ each ep<n>.json). \`episode push\` later re-verifies these hashes before uploading.
597
+ - On validation failure: script.json IS written (for agent inspection) but NO
598
+ receipt is — push will refuse until you re-merge.
599
+
600
+ Outputs
601
+ - workspace/episodes/.merged/script.json assembled script for review
602
+ - workspace/episodes/.merged/merge-receipt.json inputs + output sha256, locks state
603
+
604
+ Don't edit either file by hand. \`episode push\` validates them strictly; any drift
605
+ means re-merge. Treat .merged/ as read-only output of \`episode merge\`.
606
+
607
+ Exit codes
608
+ - 0 merged OK; receipt written; ready to push
609
+ - 64 usage / arguments error
610
+ - 66 meta or committed episodes missing
611
+ - 78 validation needs agent repair
612
+ `,
613
+ ],
614
+ [
615
+ ["episode", "push"],
616
+ `Upload the most recent \`episode merge\` artifact to the script-output gateway.
617
+ Pure uploader — does not assemble or validate (merge already did). Refuses to
618
+ upload if the artifact / inputs drifted since merge.
619
+
620
+ Usage
621
+ - scriptctl episode push [options]
622
+
623
+ Required environment (gateway)
624
+ - SCRIPTCTL_GATEWAY_URL / AWB_BASE_URL gateway base
625
+ - SCRIPTCTL_ACCESS_KEY / AWB_ACCESS_KEY gateway access key
626
+ - SANDBOX_PROJECT_GROUP_NO or --project-group-no
627
+
628
+ Required workspace files
629
+ - workspace/episodes/.merged/script.json produced by \`episode merge\`
630
+ - workspace/episodes/.merged/merge-receipt.json produced by \`episode merge\`
631
+
632
+ Options
633
+ - --workspace-path Workspace directory. Default: workspace
634
+ - --project-group-no Override the project group number.
635
+ - --request-id Override the auto-derived idempotency key (defaults to
636
+ sha256 of the merged script).
637
+
638
+ Behavior — triple hash check (refuses any drift)
639
+ - (a) workspace/episodes/.merged/script.json sha == receipt.scriptSha256
640
+ - (b) meta.json (path from receipt) sha == receipt.metaSha256
641
+ - (c) every ep<n>.json sha == receipt.episodes[i].sha256
642
+ - Any mismatch → BLOCKED; agent must re-run \`episode merge\`.
643
+ - All pass → single gateway call (replaceScript), idempotency key from script sha.
644
+
645
+ Outputs
646
+ - workspace/episodes/.merged/push-receipt.json revision, requestId, pushedAt
647
+
648
+ Exit codes
649
+ - 0 uploaded OK
650
+ - 64 usage / arguments error
651
+ - 66 merge artifact or env missing
652
+ - 70 gateway runtime failure
653
+ - 78 merge receipt stale — re-merge required
654
+ `,
655
+ ],
656
+ [
657
+ ["episode", "status"],
658
+ `List status of every drafted episode.
659
+
660
+ Usage
661
+ - scriptctl episode status [options]
662
+
663
+ Options
664
+ - --workspace-path Workspace directory. Default: workspace
665
+
666
+ States
667
+ - drafted ep<NN>.md exists, no auto-commit yet
668
+ - blocked-collision collision report exists; agent must resolve
669
+ - blocked-lint lint critical report exists; agent must resolve
670
+ - committed .done-<NN> marker exists
388
671
  `,
389
672
  ],
390
673
  ];
@@ -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"}