@lingjingai/scriptctl 0.28.4 → 0.29.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/changes/0.29.0.md +17 -0
- package/dist/cli.js +25 -3
- package/dist/cli.js.map +1 -1
- package/dist/common.d.ts +1 -0
- package/dist/common.js +3 -0
- package/dist/common.js.map +1 -1
- package/dist/domain/direct/runner.d.ts +23 -0
- package/dist/domain/direct/runner.js +72 -0
- package/dist/domain/direct/runner.js.map +1 -0
- package/dist/domain/direct/stage.d.ts +86 -0
- package/dist/domain/direct/stage.js +131 -0
- package/dist/domain/direct/stage.js.map +1 -0
- package/dist/domain/direct/stages/asset-curation.d.ts +2 -0
- package/dist/domain/direct/stages/asset-curation.js +9 -0
- package/dist/domain/direct/stages/asset-curation.js.map +1 -0
- package/dist/domain/direct/stages/batch-extract.d.ts +2 -0
- package/dist/domain/direct/stages/batch-extract.js +12 -0
- package/dist/domain/direct/stages/batch-extract.js.map +1 -0
- package/dist/domain/direct/stages/batch-plan.d.ts +2 -0
- package/dist/domain/direct/stages/batch-plan.js +9 -0
- package/dist/domain/direct/stages/batch-plan.js.map +1 -0
- package/dist/domain/direct/stages/episode-merge.d.ts +2 -0
- package/dist/domain/direct/stages/episode-merge.js +11 -0
- package/dist/domain/direct/stages/episode-merge.js.map +1 -0
- package/dist/domain/direct/stages/episode-plan.d.ts +2 -0
- package/dist/domain/direct/stages/episode-plan.js +9 -0
- package/dist/domain/direct/stages/episode-plan.js.map +1 -0
- package/dist/domain/direct/stages/episode-synopsis.d.ts +2 -0
- package/dist/domain/direct/stages/episode-synopsis.js +12 -0
- package/dist/domain/direct/stages/episode-synopsis.js.map +1 -0
- package/dist/domain/direct/stages/episode-titles.d.ts +2 -0
- package/dist/domain/direct/stages/episode-titles.js +12 -0
- package/dist/domain/direct/stages/episode-titles.js.map +1 -0
- package/dist/domain/direct/stages/index.d.ts +17 -0
- package/dist/domain/direct/stages/index.js +37 -0
- package/dist/domain/direct/stages/index.js.map +1 -0
- package/dist/domain/direct/stages/metadata.d.ts +2 -0
- package/dist/domain/direct/stages/metadata.js +11 -0
- package/dist/domain/direct/stages/metadata.js.map +1 -0
- package/dist/domain/direct/stages/script-merge.d.ts +2 -0
- package/dist/domain/direct/stages/script-merge.js +15 -0
- package/dist/domain/direct/stages/script-merge.js.map +1 -0
- package/dist/domain/direct/stages/script-synopsis.d.ts +2 -0
- package/dist/domain/direct/stages/script-synopsis.js +12 -0
- package/dist/domain/direct/stages/script-synopsis.js.map +1 -0
- package/dist/domain/direct/stages/source-prepare.d.ts +2 -0
- package/dist/domain/direct/stages/source-prepare.js +9 -0
- package/dist/domain/direct/stages/source-prepare.js.map +1 -0
- package/dist/domain/direct/stages/validate.d.ts +2 -0
- package/dist/domain/direct/stages/validate.js +10 -0
- package/dist/domain/direct/stages/validate.js.map +1 -0
- package/dist/domain/direct-core.js +15 -1
- package/dist/domain/direct-core.js.map +1 -1
- package/dist/help-text.js +1 -1
- package/dist/infra/local-script-output-store.d.ts +2 -1
- package/dist/infra/local-script-output-store.js +11 -0
- package/dist/infra/local-script-output-store.js.map +1 -1
- package/dist/infra/providers.js +13 -4
- package/dist/infra/providers.js.map +1 -1
- package/dist/infra/script-output-api.d.ts +27 -4
- package/dist/infra/script-output-api.js +130 -106
- package/dist/infra/script-output-api.js.map +1 -1
- package/dist/infra/script-output-store.d.ts +24 -0
- package/dist/infra/script-output-store.js.map +1 -1
- package/dist/usecases/direct.d.ts +14 -0
- package/dist/usecases/direct.js +701 -358
- package/dist/usecases/direct.js.map +1 -1
- package/dist/usecases/parse.js +2 -2
- package/dist/usecases/parse.js.map +1 -1
- package/dist/usecases/script/actions.js.map +1 -1
- package/dist/usecases/script/actor.js.map +1 -1
- package/dist/usecases/script/actors.js.map +1 -1
- package/dist/usecases/script/add-actor.js.map +1 -1
- package/dist/usecases/script/add-episode.js.map +1 -1
- package/dist/usecases/script/add-location.js.map +1 -1
- package/dist/usecases/script/add-prop.js.map +1 -1
- package/dist/usecases/script/add-speaker.js.map +1 -1
- package/dist/usecases/script/alias.js.map +1 -1
- package/dist/usecases/script/assets.js.map +1 -1
- package/dist/usecases/script/context.js.map +1 -1
- package/dist/usecases/script/create.js.map +1 -1
- package/dist/usecases/script/delete.js.map +1 -1
- package/dist/usecases/script/describe.js.map +1 -1
- package/dist/usecases/script/dialogue.js.map +1 -1
- package/dist/usecases/script/do.js.map +1 -1
- package/dist/usecases/script/episodes.js.map +1 -1
- package/dist/usecases/script/export.js.map +1 -1
- package/dist/usecases/script/insert.js.map +1 -1
- package/dist/usecases/script/issues.js.map +1 -1
- package/dist/usecases/script/lib.js.map +1 -1
- package/dist/usecases/script/locations.js.map +1 -1
- package/dist/usecases/script/merge.js.map +1 -1
- package/dist/usecases/script/move.js.map +1 -1
- package/dist/usecases/script/overlap.js.map +1 -1
- package/dist/usecases/script/props.js.map +1 -1
- package/dist/usecases/script/refs.js.map +1 -1
- package/dist/usecases/script/rename.js.map +1 -1
- package/dist/usecases/script/replace.js.map +1 -1
- package/dist/usecases/script/role.js.map +1 -1
- package/dist/usecases/script/scenes.js.map +1 -1
- package/dist/usecases/script/script-patch.js.map +1 -1
- package/dist/usecases/script/script-validate.js.map +1 -1
- package/dist/usecases/script/session.d.ts +1 -0
- package/dist/usecases/script/session.js +15 -4
- package/dist/usecases/script/session.js.map +1 -1
- package/dist/usecases/script/speakers.js.map +1 -1
- package/dist/usecases/script/split.js.map +1 -1
- package/dist/usecases/script/state-add.js.map +1 -1
- package/dist/usecases/script/state-change.js.map +1 -1
- package/dist/usecases/script/state-delete.js.map +1 -1
- package/dist/usecases/script/state-rename.js.map +1 -1
- package/dist/usecases/script/summary.js.map +1 -1
- package/dist/usecases/script/transition.js.map +1 -1
- package/dist/usecases/script/type.js.map +1 -1
- package/dist/usecases/script/worldview.js.map +1 -1
- package/package.json +2 -1
|
@@ -24,6 +24,24 @@ export interface ReplaceScriptOptions {
|
|
|
24
24
|
script: Record<string, unknown>;
|
|
25
25
|
source?: string;
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Incremental edit: publish the RFC6902 diff between the loaded script and the
|
|
29
|
+
* locally-edited script, instead of re-uploading the whole document. `old` is
|
|
30
|
+
* the script as loaded (the edit baseline), `edited` is the post-mutation
|
|
31
|
+
* script. Implementations compute `compare(old, edited)` and send the patch.
|
|
32
|
+
*
|
|
33
|
+
* V1 backends have no incremental endpoint, so their implementation degrades to
|
|
34
|
+
* a whole-document `replaceScript(edited)` — callers get the same observable
|
|
35
|
+
* result (a new revision) regardless of which store is wired, so editing
|
|
36
|
+
* usecases can always call `patchScript` without branching on the backend.
|
|
37
|
+
*/
|
|
38
|
+
export interface PatchScriptOptions {
|
|
39
|
+
requestId: string;
|
|
40
|
+
baseRevision: number;
|
|
41
|
+
old: Record<string, unknown>;
|
|
42
|
+
edited: Record<string, unknown>;
|
|
43
|
+
source?: string;
|
|
44
|
+
}
|
|
27
45
|
export interface SaveValidationOptions {
|
|
28
46
|
revision: number;
|
|
29
47
|
validationStatus: string;
|
|
@@ -49,6 +67,12 @@ export interface ScriptOutputStore {
|
|
|
49
67
|
getScript(): Promise<Record<string, unknown> | null>;
|
|
50
68
|
getRevision(): Promise<Record<string, unknown> | null>;
|
|
51
69
|
replaceScript(opts: ReplaceScriptOptions): Promise<Record<string, unknown>>;
|
|
70
|
+
/**
|
|
71
|
+
* Apply an incremental edit. V2 stores send an RFC6902 PATCH; V1 stores fall
|
|
72
|
+
* back to a whole-document replace. Both return the same revision envelope as
|
|
73
|
+
* `replaceScript`, so editing usecases never branch on the backend version.
|
|
74
|
+
*/
|
|
75
|
+
patchScript(opts: PatchScriptOptions): Promise<Record<string, unknown>>;
|
|
52
76
|
saveValidationResult(opts: SaveValidationOptions): Promise<Record<string, unknown> | null>;
|
|
53
77
|
}
|
|
54
78
|
export type OutputMode = "local" | "remote";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script-output-store.js","sourceRoot":"","sources":["../../src/infra/script-output-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAiBhE,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,MAAM,CAAgB;IACtB,IAAI,CAAyB;IAC7B,OAAO,CAAU;IACjB,aAAa,CAA2B;IAEjD,YAAY,OAAe,EAAE,OAAoC,EAAE;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;IAClD,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"script-output-store.js","sourceRoot":"","sources":["../../src/infra/script-output-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
import { type Report } from "../common.js";
|
|
2
|
+
import { type StageContext } from "../domain/direct/stage.js";
|
|
2
3
|
type Dict = Record<string, unknown>;
|
|
3
4
|
export declare function updateRunState(workspace: string, updates: Dict): Dict;
|
|
4
5
|
export declare function readRunState(workspace: string): Dict;
|
|
5
6
|
export declare function mergeBatchResultsForEpisode(episode: Dict, batchResults: Dict[]): Dict;
|
|
6
7
|
export declare function commandInit(opts: Dict): Promise<[Report, number]>;
|
|
8
|
+
export declare function commandRun(opts: Dict): Promise<[Report, number]>;
|
|
9
|
+
export declare function stageSourcePrepare(ctx: StageContext): Promise<void>;
|
|
10
|
+
export declare function stageEpisodePlan(ctx: StageContext): Promise<void>;
|
|
11
|
+
export declare function stageEpisodeTitles(ctx: StageContext): Promise<void>;
|
|
12
|
+
export declare function stageBatchPlan(ctx: StageContext): Promise<void>;
|
|
13
|
+
export declare function stageBatchExtract(ctx: StageContext): Promise<void>;
|
|
14
|
+
export declare function stageEpisodeMerge(ctx: StageContext): Promise<void>;
|
|
15
|
+
export declare function stageEpisodeSynopsis(ctx: StageContext): Promise<void>;
|
|
16
|
+
export declare function stageScriptMerge(ctx: StageContext): Promise<void>;
|
|
17
|
+
export declare function stageAssetCuration(ctx: StageContext): Promise<void>;
|
|
18
|
+
export declare function stageMetadata(ctx: StageContext): Promise<void>;
|
|
19
|
+
export declare function stageScriptSynopsis(ctx: StageContext): Promise<void>;
|
|
20
|
+
export declare function stageValidate(ctx: StageContext): Promise<void>;
|
|
7
21
|
export declare function commandStatus(opts: Dict): [Report, number];
|
|
8
22
|
export declare function summarizeIssues(issues: Dict[]): string[];
|
|
9
23
|
export declare function commandValidate(opts: Dict): [Report, number];
|