@lingjingai/scriptctl 0.30.2 → 0.32.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 (80) hide show
  1. package/changes/0.31.0.md +13 -0
  2. package/changes/0.32.0.md +30 -0
  3. package/dist/cli.js +1 -4
  4. package/dist/cli.js.map +1 -1
  5. package/dist/common.d.ts +2 -3
  6. package/dist/common.js +70 -0
  7. package/dist/common.js.map +1 -1
  8. package/dist/domain/direct/runner.d.ts +3 -1
  9. package/dist/domain/direct/runner.js +20 -4
  10. package/dist/domain/direct/runner.js.map +1 -1
  11. package/dist/domain/direct/stage.d.ts +23 -1
  12. package/dist/domain/direct/stage.js +2 -0
  13. package/dist/domain/direct/stage.js.map +1 -1
  14. package/dist/domain/direct/stages/asset-curation.js +3 -2
  15. package/dist/domain/direct/stages/asset-curation.js.map +1 -1
  16. package/dist/domain/direct/stages/index.d.ts +2 -1
  17. package/dist/domain/direct/stages/index.js +3 -1
  18. package/dist/domain/direct/stages/index.js.map +1 -1
  19. package/dist/domain/direct/stages/state-binding.d.ts +2 -0
  20. package/dist/domain/direct/stages/state-binding.js +9 -0
  21. package/dist/domain/direct/stages/state-binding.js.map +1 -0
  22. package/dist/domain/direct-core.d.ts +57 -0
  23. package/dist/domain/direct-core.js +3469 -112
  24. package/dist/domain/direct-core.js.map +1 -1
  25. package/dist/help-text.js +55 -1
  26. package/dist/help-text.js.map +1 -1
  27. package/dist/infra/providers.d.ts +9 -0
  28. package/dist/infra/providers.js +442 -3
  29. package/dist/infra/providers.js.map +1 -1
  30. package/dist/output.d.ts +1 -1
  31. package/dist/output.js +11 -10
  32. package/dist/output.js.map +1 -1
  33. package/dist/usecases/direct.d.ts +1 -0
  34. package/dist/usecases/direct.js +1304 -88
  35. package/dist/usecases/direct.js.map +1 -1
  36. package/dist/usecases/parse.js +8 -24
  37. package/dist/usecases/parse.js.map +1 -1
  38. package/dist/usecases/script/actions.js +1 -1
  39. package/dist/usecases/script/actions.js.map +1 -1
  40. package/dist/usecases/script/actors.js +1 -1
  41. package/dist/usecases/script/actors.js.map +1 -1
  42. package/dist/usecases/script/assets.js +1 -1
  43. package/dist/usecases/script/assets.js.map +1 -1
  44. package/dist/usecases/script/do.js +7 -13
  45. package/dist/usecases/script/do.js.map +1 -1
  46. package/dist/usecases/script/episodes.js +1 -1
  47. package/dist/usecases/script/episodes.js.map +1 -1
  48. package/dist/usecases/script/export.js +2 -8
  49. package/dist/usecases/script/export.js.map +1 -1
  50. package/dist/usecases/script/extend.js +1 -4
  51. package/dist/usecases/script/extend.js.map +1 -1
  52. package/dist/usecases/script/issues.js +1 -1
  53. package/dist/usecases/script/issues.js.map +1 -1
  54. package/dist/usecases/script/lib.d.ts +1 -1
  55. package/dist/usecases/script/lib.js +16 -30
  56. package/dist/usecases/script/lib.js.map +1 -1
  57. package/dist/usecases/script/locations.js +1 -1
  58. package/dist/usecases/script/locations.js.map +1 -1
  59. package/dist/usecases/script/props.js +1 -1
  60. package/dist/usecases/script/props.js.map +1 -1
  61. package/dist/usecases/script/refs.js +1 -1
  62. package/dist/usecases/script/refs.js.map +1 -1
  63. package/dist/usecases/script/scenes.js +1 -1
  64. package/dist/usecases/script/scenes.js.map +1 -1
  65. package/dist/usecases/script/script-patch.js +9 -23
  66. package/dist/usecases/script/script-patch.js.map +1 -1
  67. package/dist/usecases/script/script-validate.js +4 -11
  68. package/dist/usecases/script/script-validate.js.map +1 -1
  69. package/dist/usecases/script/speakers.js +1 -1
  70. package/dist/usecases/script/speakers.js.map +1 -1
  71. package/dist/usecases/script/states.js +1 -4
  72. package/dist/usecases/script/states.js.map +1 -1
  73. package/dist/usecases/script/summary.js +1 -1
  74. package/dist/usecases/script/summary.js.map +1 -1
  75. package/dist/usecases/script/synopsis-generate.js +5 -13
  76. package/dist/usecases/script/synopsis-generate.js.map +1 -1
  77. package/dist/usecases/update.d.ts +0 -1
  78. package/dist/usecases/update.js +0 -15
  79. package/dist/usecases/update.js.map +1 -1
  80. package/package.json +1 -1
@@ -58,6 +58,9 @@ export interface ProviderLike {
58
58
  extractEpisode?(sourceText: string, plan: Dict): Promise<Dict> | Dict;
59
59
  extractBatch?(sourceText: string, plan: Dict): Promise<Dict> | Dict;
60
60
  extractMetadata?(sourceText: string, script: Dict): Promise<Dict> | Dict;
61
+ groupAssets?(script: Dict, contextText: string): Promise<string> | string;
62
+ curateAssets?(script: Dict, contextText: string): Promise<string> | string;
63
+ bindStates?(script: Dict, context: Dict): Promise<Dict> | Dict;
61
64
  extractEpisodeTitles?(sourceText: string, plan: Dict): Promise<Dict> | Dict;
62
65
  extractEpisodeSynopsis?(synopses: string[], ctx: Dict): Promise<Dict> | Dict;
63
66
  extractScriptSynopsis?(synopses: string[], ctx: Dict): Promise<Dict> | Dict;
@@ -188,11 +191,65 @@ interface AssetUsage {
188
191
  scenes: Set<string>;
189
192
  }
190
193
  export declare function sceneAssetUsage(script: Dict, refKey: string, idKey: string): Map<string, AssetUsage>;
194
+ export type AssetCurationSelection = Partial<Record<AssetKind, readonly string[]>>;
195
+ export declare const ASSET_GROUP_MAX_ITEMS = 8;
196
+ export declare const ASSET_GROUP_MAX_CONTEXT_CHARS = 22000;
197
+ export declare function buildAssetCurationContext(script: Dict, kinds?: readonly AssetKind[], selection?: AssetCurationSelection): Dict;
198
+ export declare function formatAssetCurationContextText(context: Dict): string;
199
+ export declare function buildAssetCurationContextText(script: Dict, kinds?: readonly AssetKind[], selection?: AssetCurationSelection): string;
200
+ export declare function buildAssetGroupingContextText(script: Dict, kind: AssetKind): string;
201
+ export interface AssetCurationChunkOptions {
202
+ maxItems: number;
203
+ maxContextChars: number;
204
+ }
205
+ export declare function buildPrimaryAssetCurationChunks(script: Dict, kind: AssetKind, options?: AssetCurationChunkOptions): string[][];
206
+ export declare function extractAssetGroupingExpressions(rawText: string): string[];
207
+ export declare function parseAssetGroupingExpressions(rawText: string): Dict;
208
+ export declare function validateAssetGroupingPlan(script: Dict, kind: AssetKind, rawPlan: Dict): Dict;
209
+ export declare function groupedAssetCurationChunks(script: Dict, kind: AssetKind, groups: readonly Dict[], options?: AssetCurationChunkOptions): string[][];
210
+ export declare function buildAssetCurationRepairContextText(opts: {
211
+ baseContextText: string;
212
+ repairSourceKeys: readonly string[];
213
+ rejectedExpressions: readonly Dict[];
214
+ acceptedDecisions: readonly Dict[];
215
+ }): string;
216
+ export declare function missingAssetCurationRequiredSourceKeys(script: Dict, rawPlan: unknown): string[];
217
+ export declare function assetCurationAuditCandidateSourceKeys(script: Dict, rawPlan: unknown): string[];
218
+ export declare function assetCurationAuditSourceKeys(script: Dict, rawPlan: unknown): string[];
219
+ export declare function buildAssetCurationAuditContextText(script: Dict, primaryPlan: unknown, selectedSourceKeys?: readonly string[]): string;
220
+ export declare function locationCanonicalizationCandidateSourceKeys(script: Dict, rawPlan: unknown): string[];
221
+ export declare function buildLocationCanonicalizationAuditContextText(script: Dict, rawPlan: unknown, selectedSourceKeys?: readonly string[]): string;
222
+ export declare function assertLocationCanonicalizationPlan(rawPlan: unknown): void;
223
+ export declare function combineLocationCanonicalizationPlan(script: Dict, basePlan: Dict, locationPlan: Dict, allowedNewLocationSources?: string[]): Dict;
191
224
  export declare function applyLocationMerges(script: Dict, replacements: Map<string, string>): void;
192
225
  export declare function actorCurationDecisions(script: Dict): Dict[];
193
226
  export declare function propCurationDecisions(script: Dict): Dict[];
227
+ export declare function extractAssetCurationExpressions(rawText: string): string[];
228
+ export interface RejectedAssetCurationExpression {
229
+ index: number;
230
+ raw: string;
231
+ error: string;
232
+ source_key: string | null;
233
+ }
234
+ export declare function guessAssetCurationExpressionSourceKey(rawExpression: string): string | null;
235
+ export declare function parseAssetCurationExpressionsTolerant(rawText: string): Dict;
236
+ export declare function parseAssetCurationExpressions(rawText: string): Dict;
237
+ export declare function formatAssetCurationDecisionExpressions(plan: Dict): string;
238
+ export declare function combineAssetCurationExpressionPlans(plans: readonly Dict[]): Dict;
239
+ export declare function combinePrimaryAssetCurationPlans(plans: readonly Dict[]): Dict;
240
+ export declare function combineAssetCurationPlans(primaryPlan: Dict, auditPlan: Dict, allowedNewAuditSources?: string[]): Dict;
241
+ export declare function applyAssetCurationPlan(script: Dict, rawPlan: unknown): Dict;
242
+ export declare function applyAssetGroupingDuplicateMerges(script: Dict, rawPlan: unknown): Dict;
194
243
  export declare function normalizeAssetCuration(script: Dict, rawCuration: unknown): Dict;
195
244
  export declare function curateScriptAssets(script: Dict, rawCuration?: unknown): Dict;
245
+ export declare function normalizeStateBindingPlanShape(rawPlan: unknown): Dict | null;
246
+ export declare function ensureDefaultStates(script: Dict): Dict;
247
+ export declare function bindDefaultStateRefsInScript(script: Dict): Dict;
248
+ export declare function buildStateBindingContexts(script: Dict, chunkSize?: number): Dict[];
249
+ interface StateBindingApplyOptions {
250
+ invalidStateMode?: "reject" | "skip";
251
+ }
252
+ export declare function applyStateBindingPlan(script: Dict, rawPlan: unknown, options?: StateBindingApplyOptions): Dict;
196
253
  export type AssetKind = "actor" | "location" | "prop";
197
254
  export type CanonicalAssetKey = string;
198
255
  export type AssetNormalizationAction = "canonical_merge" | "location_state_from_name" | "location_state_from_time" | "review";