@lingjingai/scriptctl 0.50.0 → 0.51.1

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 (287) hide show
  1. package/changes/0.51.0.md +24 -0
  2. package/changes/0.51.1.md +15 -0
  3. package/changes/unreleased.md +1 -2
  4. package/dist/cli/register-batch.d.ts +3 -0
  5. package/dist/cli/register-batch.js +28 -0
  6. package/dist/cli/register-batch.js.map +1 -0
  7. package/dist/cli/register-edits.d.ts +4 -0
  8. package/dist/cli/register-edits.js +226 -0
  9. package/dist/cli/register-edits.js.map +1 -0
  10. package/dist/cli/register-query.d.ts +4 -0
  11. package/dist/cli/register-query.js +93 -0
  12. package/dist/cli/register-query.js.map +1 -0
  13. package/dist/cli/register-tools.d.ts +3 -0
  14. package/dist/cli/register-tools.js +23 -0
  15. package/dist/cli/register-tools.js.map +1 -0
  16. package/dist/cli/register-workflows.d.ts +4 -0
  17. package/dist/cli/register-workflows.js +71 -0
  18. package/dist/cli/register-workflows.js.map +1 -0
  19. package/dist/cli/registry.d.ts +14 -0
  20. package/dist/cli/registry.js +65 -0
  21. package/dist/cli/registry.js.map +1 -0
  22. package/dist/cli.d.ts +3 -0
  23. package/dist/cli.js +146 -596
  24. package/dist/cli.js.map +1 -1
  25. package/dist/common.d.ts +12 -38
  26. package/dist/common.js +5 -11
  27. package/dist/common.js.map +1 -1
  28. package/dist/domain/authoring/shared/bracket.js +3 -3
  29. package/dist/domain/authoring/shared/bracket.js.map +1 -1
  30. package/dist/domain/authoring/v3/apply.js +3 -3
  31. package/dist/domain/authoring/v3/apply.js.map +1 -1
  32. package/dist/domain/authoring/v4/apply.js +6 -6
  33. package/dist/domain/authoring/v4/apply.js.map +1 -1
  34. package/dist/domain/authoring/v4/parser.js +2 -2
  35. package/dist/domain/authoring/v4/parser.js.map +1 -1
  36. package/dist/domain/authoring/v4/serializer.js +2 -2
  37. package/dist/domain/authoring/v4/serializer.js.map +1 -1
  38. package/dist/domain/ingest/assembler.d.ts +1 -0
  39. package/dist/domain/ingest/assembler.js +8 -2
  40. package/dist/domain/ingest/assembler.js.map +1 -1
  41. package/dist/domain/ingest/video-apply.js +6 -3
  42. package/dist/domain/ingest/video-apply.js.map +1 -1
  43. package/dist/domain/ingest/video-context.js +2 -2
  44. package/dist/domain/ingest/video-context.js.map +1 -1
  45. package/dist/domain/ingest/video-records.d.ts +6 -5
  46. package/dist/domain/ingest/video-serial-md.d.ts +6 -5
  47. package/dist/domain/ingest/video-serial-md.js +11 -4
  48. package/dist/domain/ingest/video-serial-md.js.map +1 -1
  49. package/dist/domain/script/dispatch.js +5 -7
  50. package/dist/domain/script/dispatch.js.map +1 -1
  51. package/dist/domain/script/shared.js +4 -6
  52. package/dist/domain/script/shared.js.map +1 -1
  53. package/dist/domain/script/v3/address.js +29 -38
  54. package/dist/domain/script/v3/address.js.map +1 -1
  55. package/dist/domain/script/v3/lookups.js +31 -32
  56. package/dist/domain/script/v3/lookups.js.map +1 -1
  57. package/dist/domain/script/v3/ordinal.js +4 -5
  58. package/dist/domain/script/v3/ordinal.js.map +1 -1
  59. package/dist/domain/script/v3/parse.js +3 -4
  60. package/dist/domain/script/v3/parse.js.map +1 -1
  61. package/dist/domain/script/v3/patch/helpers.js +6 -8
  62. package/dist/domain/script/v3/patch/helpers.js.map +1 -1
  63. package/dist/domain/script/v3/selector.js +6 -8
  64. package/dist/domain/script/v3/selector.js.map +1 -1
  65. package/dist/domain/script/v4/address.js +2 -3
  66. package/dist/domain/script/v4/address.js.map +1 -1
  67. package/dist/domain/script/v4/ids.js +6 -7
  68. package/dist/domain/script/v4/ids.js.map +1 -1
  69. package/dist/domain/script/v4/ordinal.js +4 -5
  70. package/dist/domain/script/v4/ordinal.js.map +1 -1
  71. package/dist/domain/script/v4/parse.js +3 -4
  72. package/dist/domain/script/v4/parse.js.map +1 -1
  73. package/dist/domain/script/v4/patch/apply.js +3 -3
  74. package/dist/domain/script/v4/patch/apply.js.map +1 -1
  75. package/dist/domain/script/v4/patch/helpers.js +3 -4
  76. package/dist/domain/script/v4/patch/helpers.js.map +1 -1
  77. package/dist/domain/script/v4/patch/ops-action.js +46 -49
  78. package/dist/domain/script/v4/patch/ops-action.js.map +1 -1
  79. package/dist/domain/script/v4/selector.js +2 -3
  80. package/dist/domain/script/v4/selector.js.map +1 -1
  81. package/dist/infra/ingest/video-discovery.js +7 -4
  82. package/dist/infra/ingest/video-discovery.js.map +1 -1
  83. package/dist/infra/script-output-store.js +6 -11
  84. package/dist/infra/script-output-store.js.map +1 -1
  85. package/dist/infra/script-working-copy.js +15 -16
  86. package/dist/infra/script-working-copy.js.map +1 -1
  87. package/dist/llm/config.js +3 -4
  88. package/dist/llm/config.js.map +1 -1
  89. package/dist/llm/router.js +6 -8
  90. package/dist/llm/router.js.map +1 -1
  91. package/dist/llm/tasks/ingest/text-normalize.js +3 -3
  92. package/dist/llm/tasks/ingest/text-normalize.js.map +1 -1
  93. package/dist/llm/tasks/ingest/video-serial.js +29 -22
  94. package/dist/llm/tasks/ingest/video-serial.js.map +1 -1
  95. package/dist/llm/tasks/schemas.js +5 -5
  96. package/dist/llm/tasks/schemas.js.map +1 -1
  97. package/dist/output.d.ts +2 -3
  98. package/dist/output.js +72 -109
  99. package/dist/output.js.map +1 -1
  100. package/dist/usecases/changelog.d.ts +2 -2
  101. package/dist/usecases/changelog.js +28 -36
  102. package/dist/usecases/changelog.js.map +1 -1
  103. package/dist/usecases/doctor.d.ts +2 -2
  104. package/dist/usecases/doctor.js +3 -5
  105. package/dist/usecases/doctor.js.map +1 -1
  106. package/dist/usecases/ingest/command.d.ts +2 -2
  107. package/dist/usecases/ingest/command.js +22 -5
  108. package/dist/usecases/ingest/command.js.map +1 -1
  109. package/dist/usecases/ingest/pass5-extract.js +5 -4
  110. package/dist/usecases/ingest/pass5-extract.js.map +1 -1
  111. package/dist/usecases/ingest/pass5-govern.js +13 -11
  112. package/dist/usecases/ingest/pass5-govern.js.map +1 -1
  113. package/dist/usecases/ingest/pipeline.js +19 -16
  114. package/dist/usecases/ingest/pipeline.js.map +1 -1
  115. package/dist/usecases/ingest/serial-govern.js +5 -4
  116. package/dist/usecases/ingest/serial-govern.js.map +1 -1
  117. package/dist/usecases/ingest/status.d.ts +2 -2
  118. package/dist/usecases/ingest/status.js +1 -1
  119. package/dist/usecases/ingest/status.js.map +1 -1
  120. package/dist/usecases/ingest/video-pipeline.js +23 -17
  121. package/dist/usecases/ingest/video-pipeline.js.map +1 -1
  122. package/dist/usecases/ingest/view-command.d.ts +2 -2
  123. package/dist/usecases/ingest/view-command.js +7 -6
  124. package/dist/usecases/ingest/view-command.js.map +1 -1
  125. package/dist/usecases/ingest/view-server.d.ts +2 -2
  126. package/dist/usecases/ingest/view-server.js +7 -5
  127. package/dist/usecases/ingest/view-server.js.map +1 -1
  128. package/dist/usecases/script/actions.d.ts +2 -2
  129. package/dist/usecases/script/actions.js +12 -13
  130. package/dist/usecases/script/actions.js.map +1 -1
  131. package/dist/usecases/script/actor.d.ts +2 -2
  132. package/dist/usecases/script/actor.js +3 -4
  133. package/dist/usecases/script/actor.js.map +1 -1
  134. package/dist/usecases/script/actors.d.ts +2 -2
  135. package/dist/usecases/script/actors.js +5 -5
  136. package/dist/usecases/script/actors.js.map +1 -1
  137. package/dist/usecases/script/add-actor.d.ts +2 -2
  138. package/dist/usecases/script/add-episode.d.ts +2 -2
  139. package/dist/usecases/script/add-location.d.ts +2 -2
  140. package/dist/usecases/script/add-prop.d.ts +2 -2
  141. package/dist/usecases/script/alias.d.ts +2 -2
  142. package/dist/usecases/script/alias.js +6 -8
  143. package/dist/usecases/script/alias.js.map +1 -1
  144. package/dist/usecases/script/assets.d.ts +2 -2
  145. package/dist/usecases/script/assets.js +15 -7
  146. package/dist/usecases/script/assets.js.map +1 -1
  147. package/dist/usecases/script/audit-assets.d.ts +2 -2
  148. package/dist/usecases/script/audit-assets.js +12 -15
  149. package/dist/usecases/script/audit-assets.js.map +1 -1
  150. package/dist/usecases/script/command-constraints.js +17 -18
  151. package/dist/usecases/script/command-constraints.js.map +1 -1
  152. package/dist/usecases/script/context.d.ts +2 -2
  153. package/dist/usecases/script/context.js +3 -4
  154. package/dist/usecases/script/context.js.map +1 -1
  155. package/dist/usecases/script/create.d.ts +2 -2
  156. package/dist/usecases/script/create.js +3 -4
  157. package/dist/usecases/script/create.js.map +1 -1
  158. package/dist/usecases/script/delete.d.ts +2 -2
  159. package/dist/usecases/script/delete.js +9 -12
  160. package/dist/usecases/script/delete.js.map +1 -1
  161. package/dist/usecases/script/describe.d.ts +2 -2
  162. package/dist/usecases/script/describe.js +6 -8
  163. package/dist/usecases/script/describe.js.map +1 -1
  164. package/dist/usecases/script/dialogue.d.ts +2 -2
  165. package/dist/usecases/script/dialogue.js +5 -6
  166. package/dist/usecases/script/dialogue.js.map +1 -1
  167. package/dist/usecases/script/do.d.ts +2 -2
  168. package/dist/usecases/script/do.js +63 -66
  169. package/dist/usecases/script/do.js.map +1 -1
  170. package/dist/usecases/script/emotion.d.ts +2 -2
  171. package/dist/usecases/script/emotion.js +3 -3
  172. package/dist/usecases/script/emotion.js.map +1 -1
  173. package/dist/usecases/script/episodes.d.ts +2 -2
  174. package/dist/usecases/script/episodes.js +5 -5
  175. package/dist/usecases/script/episodes.js.map +1 -1
  176. package/dist/usecases/script/export-authoring.d.ts +2 -2
  177. package/dist/usecases/script/export-authoring.js +26 -29
  178. package/dist/usecases/script/export-authoring.js.map +1 -1
  179. package/dist/usecases/script/extend.d.ts +2 -2
  180. package/dist/usecases/script/extend.js +22 -18
  181. package/dist/usecases/script/extend.js.map +1 -1
  182. package/dist/usecases/script/ids.d.ts +2 -2
  183. package/dist/usecases/script/ids.js +21 -17
  184. package/dist/usecases/script/ids.js.map +1 -1
  185. package/dist/usecases/script/importance.d.ts +2 -2
  186. package/dist/usecases/script/importance.js +3 -4
  187. package/dist/usecases/script/importance.js.map +1 -1
  188. package/dist/usecases/script/insert.d.ts +2 -2
  189. package/dist/usecases/script/insert.js +8 -10
  190. package/dist/usecases/script/insert.js.map +1 -1
  191. package/dist/usecases/script/issues.d.ts +2 -2
  192. package/dist/usecases/script/issues.js +10 -2
  193. package/dist/usecases/script/issues.js.map +1 -1
  194. package/dist/usecases/script/lib.d.ts +15 -9
  195. package/dist/usecases/script/lib.js +226 -166
  196. package/dist/usecases/script/lib.js.map +1 -1
  197. package/dist/usecases/script/locations.d.ts +2 -2
  198. package/dist/usecases/script/locations.js +5 -5
  199. package/dist/usecases/script/locations.js.map +1 -1
  200. package/dist/usecases/script/merge.d.ts +2 -2
  201. package/dist/usecases/script/merge.js +9 -12
  202. package/dist/usecases/script/merge.js.map +1 -1
  203. package/dist/usecases/script/move.d.ts +2 -2
  204. package/dist/usecases/script/move.js +6 -8
  205. package/dist/usecases/script/move.js.map +1 -1
  206. package/dist/usecases/script/parenthetical.d.ts +2 -2
  207. package/dist/usecases/script/parenthetical.js +9 -12
  208. package/dist/usecases/script/parenthetical.js.map +1 -1
  209. package/dist/usecases/script/props.d.ts +2 -2
  210. package/dist/usecases/script/props.js +5 -5
  211. package/dist/usecases/script/props.js.map +1 -1
  212. package/dist/usecases/script/refs.d.ts +2 -2
  213. package/dist/usecases/script/refs.js +23 -17
  214. package/dist/usecases/script/refs.js.map +1 -1
  215. package/dist/usecases/script/rename.d.ts +2 -2
  216. package/dist/usecases/script/rename.js +6 -8
  217. package/dist/usecases/script/rename.js.map +1 -1
  218. package/dist/usecases/script/replace.d.ts +2 -2
  219. package/dist/usecases/script/replace.js +6 -8
  220. package/dist/usecases/script/replace.js.map +1 -1
  221. package/dist/usecases/script/role.d.ts +2 -2
  222. package/dist/usecases/script/role.js +3 -4
  223. package/dist/usecases/script/role.js.map +1 -1
  224. package/dist/usecases/script/scenes.d.ts +2 -2
  225. package/dist/usecases/script/scenes.js +7 -5
  226. package/dist/usecases/script/scenes.js.map +1 -1
  227. package/dist/usecases/script/script-patch.d.ts +2 -2
  228. package/dist/usecases/script/script-patch.js +95 -112
  229. package/dist/usecases/script/script-patch.js.map +1 -1
  230. package/dist/usecases/script/script-validate.d.ts +2 -2
  231. package/dist/usecases/script/script-validate.js +11 -7
  232. package/dist/usecases/script/script-validate.js.map +1 -1
  233. package/dist/usecases/script/session.js +52 -63
  234. package/dist/usecases/script/session.js.map +1 -1
  235. package/dist/usecases/script/split.d.ts +2 -2
  236. package/dist/usecases/script/split.js +6 -8
  237. package/dist/usecases/script/split.js.map +1 -1
  238. package/dist/usecases/script/state-add.d.ts +2 -2
  239. package/dist/usecases/script/state-add.js +3 -4
  240. package/dist/usecases/script/state-add.js.map +1 -1
  241. package/dist/usecases/script/state-delete.d.ts +2 -2
  242. package/dist/usecases/script/state-delete.js +3 -4
  243. package/dist/usecases/script/state-delete.js.map +1 -1
  244. package/dist/usecases/script/state-rename.d.ts +2 -2
  245. package/dist/usecases/script/state-rename.js +3 -4
  246. package/dist/usecases/script/state-rename.js.map +1 -1
  247. package/dist/usecases/script/states.d.ts +2 -2
  248. package/dist/usecases/script/states.js +54 -27
  249. package/dist/usecases/script/states.js.map +1 -1
  250. package/dist/usecases/script/summary.d.ts +2 -2
  251. package/dist/usecases/script/summary.js +21 -2
  252. package/dist/usecases/script/summary.js.map +1 -1
  253. package/dist/usecases/script/synopsis-generate.d.ts +2 -2
  254. package/dist/usecases/script/synopsis-generate.js +38 -39
  255. package/dist/usecases/script/synopsis-generate.js.map +1 -1
  256. package/dist/usecases/script/synopsis.d.ts +2 -2
  257. package/dist/usecases/script/synopsis.js +9 -12
  258. package/dist/usecases/script/synopsis.js.map +1 -1
  259. package/dist/usecases/script/transition.d.ts +2 -2
  260. package/dist/usecases/script/transition.js +3 -4
  261. package/dist/usecases/script/transition.js.map +1 -1
  262. package/dist/usecases/script/type.d.ts +2 -2
  263. package/dist/usecases/script/type.js +3 -4
  264. package/dist/usecases/script/type.js.map +1 -1
  265. package/dist/usecases/script/v4/queries.d.ts +3 -2
  266. package/dist/usecases/script/v4/queries.js +43 -6
  267. package/dist/usecases/script/v4/queries.js.map +1 -1
  268. package/dist/usecases/script/working-copy.d.ts +4 -4
  269. package/dist/usecases/script/working-copy.js +96 -92
  270. package/dist/usecases/script/working-copy.js.map +1 -1
  271. package/dist/usecases/script/worldview.d.ts +2 -2
  272. package/dist/usecases/script/worldview.js +3 -4
  273. package/dist/usecases/script/worldview.js.map +1 -1
  274. package/dist/usecases/script/write-authoring.d.ts +2 -2
  275. package/dist/usecases/script/write-authoring.js +62 -81
  276. package/dist/usecases/script/write-authoring.js.map +1 -1
  277. package/dist/usecases/update.d.ts +2 -2
  278. package/dist/usecases/update.js +32 -47
  279. package/dist/usecases/update.js.map +1 -1
  280. package/package.json +1 -1
  281. package/skills/scriptctl/SKILL.md +46 -37
  282. package/skills/scriptctl/references/atomic-edit-workflow.md +6 -6
  283. package/skills/scriptctl/references/ingest-workflow.md +20 -20
  284. package/skills/scriptctl/references/state-reference-repair.md +6 -6
  285. package/dist/help-text.d.ts +0 -2
  286. package/dist/help-text.js +0 -1144
  287. package/dist/help-text.js.map +0 -1
@@ -13,12 +13,11 @@ export function parseBound(v) {
13
13
  return null;
14
14
  const n = Number(v);
15
15
  if (!Number.isFinite(n)) {
16
- throw new CliError("SCRIPT INSPECT BLOCKED: Bound invalid", "--min-chars / --max-chars must be a non-negative integer.", {
16
+ throw new CliError("--min-chars / --max-chars must be a non-negative integer.", {
17
17
  exitCode: EXIT_USAGE,
18
- required: ["non-negative integer"],
19
- received: [strOf(v)],
20
- nextSteps: ["Pass --min-chars 1000 (positive integer)."],
21
18
  errorCode: "INSPECT_BOUND_INVALID",
19
+ hint: "Pass --min-chars 1000 (positive integer).",
20
+ data: { expected: ["non-negative integer"], actual: [strOf(v)] },
22
21
  });
23
22
  }
24
23
  return Math.max(0, Math.floor(n));
@@ -104,12 +103,14 @@ export function assertTargetCoherent(opts) {
104
103
  const remote = Boolean(opts["remote"]);
105
104
  const local = Boolean(opts["local"]);
106
105
  const projectGroup = strOf(opts["project_group_no"]).trim() !== "";
107
- const targetFlagConflict = (received) => new CliError("SCRIPT BLOCKED: target flag conflict", "The selected output-target flags are mutually exclusive.", {
106
+ const targetFlagConflict = (received) => new CliError("The selected output-target flags are mutually exclusive.", {
108
107
  exitCode: EXIT_USAGE,
109
- required: ["one of: --script-path (a local file), or --remote/--local (the store)"],
110
- received,
111
- nextSteps: ["Keep a single target selector and drop the others."],
112
108
  errorCode: "TARGET_FLAG_CONFLICT",
109
+ hint: "Keep a single target selector and drop the others.",
110
+ data: {
111
+ expected: ["one of: --script-path (a local file), or --remote/--local (the store)"],
112
+ actual: received,
113
+ },
113
114
  });
114
115
  // Most fundamental first, so the message names the real contradiction even
115
116
  // when several conflicting flags are passed at once.
@@ -142,33 +143,29 @@ export function scriptOutputClient(opts) {
142
143
  // can show the user which slot is unconfigured without naming the env var.
143
144
  if (exc instanceof ScriptOutputApiError) {
144
145
  const { title, message } = describeConfigMissing(mode, exc.configMissing);
145
- throw new CliError(title, message, {
146
+ throw new CliError(message, {
146
147
  exitCode: EXIT_INPUT,
147
- required: [
148
- mode === "local"
149
- ? "SCRIPTCTL_OUTPUT_DIR"
150
- : "AWB_BASE_URL, LINGJING_AWB_ACCESS_KEY, and SANDBOX_PROJECT_GROUP_NO (or --project-group-no)",
151
- ],
152
- received: [exc.message, `configMissing: ${exc.configMissing ?? "unknown"}`],
153
- nextSteps: ["Run `scriptctl doctor` to identify missing configuration."],
154
148
  errorCode: "SCRIPT_API_CONFIG_MISSING",
149
+ hint: "Run `scriptctl doctor` to identify missing configuration.",
150
+ data: { expected: [
151
+ mode === "local"
152
+ ? "SCRIPTCTL_OUTPUT_DIR"
153
+ : "AWB_BASE_URL, LINGJING_AWB_ACCESS_KEY, and SANDBOX_PROJECT_GROUP_NO (or --project-group-no)",
154
+ ], actual: [exc.message, `configMissing: ${exc.configMissing ?? "unknown"}`] },
155
155
  });
156
156
  }
157
157
  // Belt-and-suspenders: anything else that escapes RemoteScriptOutputStore.fromEnv
158
158
  // (a TypeError on a malformed gateway URL, future programmer errors) still
159
159
  // surfaces as a clean CliError envelope rather than the generic
160
- // "RUNTIME FAILED: Unexpected error" path in cli.ts.
160
+ // the generic runtime-error path in cli.ts.
161
161
  const raw = exc instanceof Error ? exc.message : String(exc);
162
162
  throw new CliError(mode === "local"
163
- ? "SCRIPT API BLOCKED: local output dir not configured"
164
- : "SCRIPT API BLOCKED: gateway not configured", mode === "local"
165
163
  ? "Local output dir is not configured for this environment."
166
164
  : "Gateway is not configured for this environment.", {
167
165
  exitCode: EXIT_INPUT,
168
- required: [mode === "local" ? "valid local output dir" : "valid gateway configuration"],
169
- received: [raw],
170
- nextSteps: ["Run `scriptctl doctor` to identify missing configuration."],
171
166
  errorCode: "SCRIPT_API_CONFIG_MISSING",
167
+ hint: "Run `scriptctl doctor` to identify missing configuration.",
168
+ data: { expected: [mode === "local" ? "valid local output dir" : "valid gateway configuration"], actual: [raw] },
172
169
  });
173
170
  }
174
171
  }
@@ -240,22 +237,19 @@ export function apiErrorToCli(title, exc) {
240
237
  : isMissing
241
238
  ? "Script not found on the gateway."
242
239
  : "Gateway request failed.";
243
- return new CliError(title, publicMessage, {
240
+ return new CliError(publicMessage, {
244
241
  exitCode: exc.status !== null && exc.status >= 500 ? EXIT_RUNTIME : EXIT_INPUT,
245
- required: ["successful script-output gateway request"],
246
- received: [rawMessage, `status: ${exc.status ?? "<unknown>"}`],
247
- nextSteps: [
248
- isConflict
249
- ? "Keep the local file, inspect the latest remote snapshot, and merge before publishing again."
250
- : isMissing
251
- ? "Run `scriptctl publish` to publish a script first."
252
- : "Run `scriptctl doctor` to verify gateway configuration; retry if it was transient.",
253
- ],
254
242
  errorCode: isConflict
255
243
  ? "REVISION_CONFLICT"
256
244
  : isMissing
257
245
  ? "SCRIPT_NOT_FOUND"
258
246
  : "SCRIPT_API_FAILED",
247
+ hint: isConflict
248
+ ? "Keep the local file, inspect the latest remote snapshot, and merge before publishing again."
249
+ : isMissing
250
+ ? "Run `scriptctl publish` to publish a script first."
251
+ : "Run `scriptctl doctor` to verify gateway configuration; retry if it was transient.",
252
+ data: { expected: ["successful script-output gateway request"], actual: [rawMessage, `status: ${exc.status ?? "<unknown>"}`] },
259
253
  });
260
254
  }
261
255
  export async function currentRevisionOrZero(client) {
@@ -287,21 +281,19 @@ export async function loadRemoteScript(opts, workspace) {
287
281
  throw exc;
288
282
  }
289
283
  if (script === null) {
290
- throw new CliError("SCRIPT BLOCKED: Final script not found", "No script has been published for this project.", {
284
+ throw new CliError("No script has been published for this project.", {
291
285
  exitCode: EXIT_INPUT,
292
- required: ["existing script-output project document"],
293
- received: [`projectGroupNo=${client.projectGroupNo}`],
294
- nextSteps: ["Run `scriptctl publish` first, or pass `--script-path` to edit a local script JSON."],
295
286
  errorCode: "SCRIPT_NOT_FOUND",
287
+ hint: "Run `scriptctl publish` first, or pass `--script-path` to edit a local script JSON.",
288
+ data: { expected: ["existing script-output project document"], actual: [`projectGroupNo=${client.projectGroupNo}`] },
296
289
  });
297
290
  }
298
291
  if (!isDict(script)) {
299
- throw new CliError("SCRIPT BLOCKED: script root invalid", "script root invalid.", {
292
+ throw new CliError("script root invalid.", {
300
293
  exitCode: EXIT_USAGE,
301
- required: ["script root object"],
302
- received: [typeof script],
303
- nextSteps: ["Replace the final script with a valid script document object."],
304
294
  errorCode: "SCRIPT_ROOT_INVALID",
295
+ hint: "Replace the final script with a valid script document object.",
296
+ data: { expected: ["script root object"], actual: [typeof script] },
305
297
  });
306
298
  }
307
299
  return new ScriptEditSession({
@@ -316,12 +308,11 @@ export async function loadScriptForEdit(opts) {
316
308
  const workspace = strOf(opts["workspace_path"] || "workspace");
317
309
  const p = scriptJsonPath(opts);
318
310
  if (!exists(p)) {
319
- throw new CliError("SCRIPT BLOCKED: Local script file not found", "Local script file not found.", {
311
+ throw new CliError("Local script file not found.", {
320
312
  exitCode: EXIT_INPUT,
321
- required: ["existing local script JSON"],
322
- received: [p],
323
- nextSteps: ["Run `scriptctl checkout`, `scriptctl create`, or pass --script-path to an existing script."],
324
313
  errorCode: "SCRIPT_NOT_FOUND",
314
+ hint: "Run `scriptctl checkout`, `scriptctl create`, or pass --script-path to an existing script.",
315
+ data: { expected: ["existing local script JSON"], actual: [p] },
325
316
  });
326
317
  }
327
318
  let data;
@@ -329,21 +320,19 @@ export async function loadScriptForEdit(opts) {
329
320
  data = readJson(p);
330
321
  }
331
322
  catch (exc) {
332
- throw new CliError("SCRIPT BLOCKED: script JSON invalid", "script JSON invalid.", {
323
+ throw new CliError("script JSON invalid.", {
333
324
  exitCode: EXIT_INPUT,
334
- required: ["valid JSON"],
335
- received: [`${p}: ${exc.message}`],
336
- nextSteps: ["Fix the local script JSON syntax before editing."],
337
325
  errorCode: "SCRIPT_JSON_INVALID",
326
+ hint: "Fix the local script JSON syntax before editing.",
327
+ data: { expected: ["valid JSON"], actual: [`${p}: ${exc.message}`] },
338
328
  });
339
329
  }
340
330
  if (!isDict(data)) {
341
- throw new CliError("SCRIPT BLOCKED: script root invalid", "script root invalid.", {
331
+ throw new CliError("script root invalid.", {
342
332
  exitCode: EXIT_USAGE,
343
- required: ["script root object"],
344
- received: [Array.isArray(data) ? "array" : typeof data],
345
- nextSteps: ["Use a valid script document object."],
346
333
  errorCode: "SCRIPT_ROOT_INVALID",
334
+ hint: "Use a valid script document object.",
335
+ data: { expected: ["script root object"], actual: [Array.isArray(data) ? "array" : typeof data] },
347
336
  });
348
337
  }
349
338
  return new ScriptEditSession({ workspace, scriptPath: p, script: data });
@@ -488,11 +477,11 @@ export async function saveScriptSession(session, _opts, _op) {
488
477
  if (session.version === 4) {
489
478
  const validation = validateScriptDocument(session.script);
490
479
  if (!validation.ok) {
491
- throw new CliError("SCRIPT V4 WRITE BLOCKED: validation failed", "The proposed mutation does not produce a valid Script v4.", {
480
+ throw new CliError("The proposed mutation does not produce a valid Script v4.", {
492
481
  exitCode: EXIT_INPUT,
493
482
  errorCode: "SCRIPT_V4_WRITE_INVALID",
494
- received: validation.errors.map((issue) => `${issue.path}: ${issue.code} - ${issue.message}`),
495
- nextSteps: ["Fix the operation or its referenced IDs and states, then rerun it."],
483
+ hint: "Fix the operation or its referenced IDs and states, then rerun it.",
484
+ data: { actual: validation.errors.map((issue) => `${issue.path}: ${issue.code} - ${issue.message}`) },
496
485
  });
497
486
  }
498
487
  }
@@ -519,19 +508,19 @@ export function patchOperationsFromPayload(payload) {
519
508
  operations = [payload];
520
509
  }
521
510
  else {
522
- throw new CliError("PATCH BLOCKED: Patch schema invalid", "Patch schema invalid.", {
511
+ throw new CliError("Patch schema invalid.", {
523
512
  exitCode: EXIT_USAGE,
524
- required: ["object, array, object with ops[], or object with operations[]"],
525
- received: [Array.isArray(payload) ? "array" : typeof payload],
526
- nextSteps: ["Fix patch JSON and rerun patch."],
513
+ errorCode: "PATCH_BLOCKED_PATCH_SCHEMA_INVALID",
514
+ hint: "Fix patch JSON and rerun patch.",
515
+ data: { expected: ["object, array, object with ops[], or object with operations[]"], actual: [Array.isArray(payload) ? "array" : typeof payload] },
527
516
  });
528
517
  }
529
518
  if (operations.some((op) => !isDict(op))) {
530
- throw new CliError("PATCH BLOCKED: Patch operation invalid", "Patch operation invalid.", {
519
+ throw new CliError("Patch operation invalid.", {
531
520
  exitCode: EXIT_USAGE,
532
- required: ["each operation must be an object"],
533
- received: [JSON.stringify(operations).slice(0, 500)],
534
- nextSteps: ["Fix patch JSON and rerun patch."],
521
+ errorCode: "PATCH_BLOCKED_PATCH_OPERATION_INVALID",
522
+ hint: "Fix patch JSON and rerun patch.",
523
+ data: { expected: ["each operation must be an object"], actual: [JSON.stringify(operations).slice(0, 500)] },
535
524
  });
536
525
  }
537
526
  return operations;
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/usecases/script/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/usecases/script/session.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { type Report } from "../../common.js";
1
+ import { type CommandOutput } from "../../common.js";
2
2
  import { type Dict } from "../../domain/script/shared.js";
3
- export declare function commandSplit(opts: Dict): Promise<[Report, number]>;
3
+ export declare function commandSplit(opts: Dict): Promise<[CommandOutput, number]>;
@@ -5,12 +5,11 @@ import { applySingleScriptOpToSession, } from "./lib.js";
5
5
  export async function commandSplit(opts) {
6
6
  const args = asList(opts["_args"]);
7
7
  if (args.length < 1) {
8
- throw new CliError("VERB BLOCKED: Scene ref missing", "Scene ref missing.", {
8
+ throw new CliError("Scene ref missing.", {
9
9
  exitCode: EXIT_USAGE,
10
- required: ["<ep/scn>"],
11
- received: ["<empty>"],
12
- nextSteps: ["Example: scriptctl split ep_001/scn_005 --at 7"],
13
10
  errorCode: "ARGS_MISSING",
11
+ hint: "Example: scriptctl split ep_001/scn_005 --at 7",
12
+ data: { expected: ["<ep/scn>"], actual: ["<empty>"] },
14
13
  });
15
14
  }
16
15
  const session = await loadScriptForEdit(opts);
@@ -25,12 +24,11 @@ export async function commandSplit(opts) {
25
24
  }
26
25
  const atIndex = rawAt === undefined || rawAt === null || rawAt === "" ? undefined : Number(rawAt);
27
26
  if (atIndex !== undefined && (!Number.isFinite(atIndex) || !Number.isInteger(atIndex))) {
28
- throw new CliError("VERB BLOCKED: --at not an integer", "--at must be an integer.", {
27
+ throw new CliError("--at must be an integer.", {
29
28
  exitCode: EXIT_USAGE,
30
- required: ["--at <integer>"],
31
- received: [String(rawAt)],
32
- nextSteps: ["Pass an integer action index."],
33
29
  errorCode: "AT_INDEX_INVALID",
30
+ hint: "Pass an integer action index.",
31
+ data: { expected: ["--at <integer>"], actual: [String(rawAt)] },
34
32
  });
35
33
  }
36
34
  return applySingleScriptOpToSession(session, opts, {
@@ -1 +1 @@
1
- {"version":3,"file":"split.js","sourceRoot":"","sources":["../../../src/usecases/script/split.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EAKR,UAAU,GASX,MAAM,iBAAiB,CAAC;AA6BzB,OAAO,EACL,MAAM,GAKP,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,iBAAiB,GAElB,MAAM,cAAc,CAAC;AACtB,OAAO,EACoK,4BAA4B,GACtM,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAU;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,iCAAiC,EAAE,oBAAoB,EAAE;YAC1E,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,CAAC,UAAU,CAAC;YACtB,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,SAAS,EAAE,CAAC,gDAAgD,CAAC;YAC7D,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,4BAA4B,CAAC,OAAO,EAAE,IAAI,EAAE;YACjD,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YACX,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClG,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,QAAQ,CAAC,mCAAmC,EAAE,0BAA0B,EAAE;YAClF,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,CAAC,gBAAgB,CAAC;YAC5B,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,SAAS,EAAE,CAAC,+BAA+B,CAAC;YAC5C,SAAS,EAAE,kBAAkB;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,4BAA4B,CAAC,OAAO,EAAE,IAAI,EAAE;QACjD,EAAE,EAAE,aAAa;QACjB,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACX,QAAQ,EAAE,OAAO;QACjB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;KACnC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"split.js","sourceRoot":"","sources":["../../../src/usecases/script/split.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EAKR,UAAU,GASX,MAAM,iBAAiB,CAAC;AA6BzB,OAAO,EACL,MAAM,GAKP,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,iBAAiB,GAElB,MAAM,cAAc,CAAC;AACtB,OAAO,EACoK,4BAA4B,GACtM,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAU;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE;YACjC,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,cAAc;YACzB,IAAI,EAAE,gDAAgD;YACtD,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE;SACtD,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,4BAA4B,CAAC,OAAO,EAAE,IAAI,EAAE;YACjD,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YACX,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClG,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,QAAQ,CAAC,0BAA0B,EAAE;YACvC,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,kBAAkB;YAC7B,IAAI,EAAE,+BAA+B;YACrC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;SAChE,CAAC,CAAC;IACX,CAAC;IACD,OAAO,4BAA4B,CAAC,OAAO,EAAE,IAAI,EAAE;QACjD,EAAE,EAAE,aAAa;QACjB,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACX,QAAQ,EAAE,OAAO;QACjB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;KACnC,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,3 @@
1
- import { type Report } from "../../common.js";
1
+ import { type CommandOutput } from "../../common.js";
2
2
  import { type Dict } from "../../domain/script/shared.js";
3
- export declare function commandStateAdd(opts: Dict): Promise<[Report, number]>;
3
+ export declare function commandStateAdd(opts: Dict): Promise<[CommandOutput, number]>;
@@ -4,12 +4,11 @@ import { applySingleScriptOp, } from "./lib.js";
4
4
  export async function commandStateAdd(opts) {
5
5
  const args = asList(opts["_args"]);
6
6
  if (args.length < 2) {
7
- throw new CliError("VERB BLOCKED: state-add args missing", "state-add args missing.", {
7
+ throw new CliError("state-add args missing.", {
8
8
  exitCode: EXIT_USAGE,
9
- required: ["<asset-addr> <state-name>"],
10
- received: args,
11
- nextSteps: ["Example: scriptctl state-add actor:act_001 \"震惊\""],
12
9
  errorCode: "ARGS_MISSING",
10
+ hint: "Example: scriptctl state-add actor:act_001 \"震惊\"",
11
+ data: { expected: ["<asset-addr> <state-name>"], actual: args },
13
12
  });
14
13
  }
15
14
  return applySingleScriptOp(opts, {
@@ -1 +1 @@
1
- {"version":3,"file":"state-add.js","sourceRoot":"","sources":["../../../src/usecases/script/state-add.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EAKR,UAAU,GASX,MAAM,iBAAiB,CAAC;AA6BzB,OAAO,EACL,MAAM,GAKP,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAC+I,mBAAmB,GACxK,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAU;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,sCAAsC,EAAE,yBAAyB,EAAE;YACpF,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,CAAC,2BAA2B,CAAC;YACvC,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,mDAAmD,CAAC;YAChE,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,EAAE;QAC/B,EAAE,EAAE,WAAW;QACf,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACf,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACb,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"state-add.js","sourceRoot":"","sources":["../../../src/usecases/script/state-add.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EAKR,UAAU,GASX,MAAM,iBAAiB,CAAC;AA6BzB,OAAO,EACL,MAAM,GAKP,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAC+I,mBAAmB,GACxK,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAU;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE;YACtC,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,cAAc;YACzB,IAAI,EAAE,mDAAmD;YACzD,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,2BAA2B,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;SAChE,CAAC,CAAC;IACX,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,EAAE;QAC/B,EAAE,EAAE,WAAW;QACf,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACf,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACb,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,3 @@
1
- import { type Report } from "../../common.js";
1
+ import { type CommandOutput } from "../../common.js";
2
2
  import { type Dict } from "../../domain/script/shared.js";
3
- export declare function commandStateDelete(opts: Dict): Promise<[Report, number]>;
3
+ export declare function commandStateDelete(opts: Dict): Promise<[CommandOutput, number]>;
@@ -4,12 +4,11 @@ import { applySingleScriptOp, } from "./lib.js";
4
4
  export async function commandStateDelete(opts) {
5
5
  const args = asList(opts["_args"]);
6
6
  if (args.length < 1) {
7
- throw new CliError("VERB BLOCKED: state-delete address missing", "state-delete address missing.", {
7
+ throw new CliError("state-delete address missing.", {
8
8
  exitCode: EXIT_USAGE,
9
- required: ["<state-addr>"],
10
- received: ["<empty>"],
11
- nextSteps: ["Example: scriptctl state-delete actor:act_001/st_calm --strategy remove"],
12
9
  errorCode: "ARGS_MISSING",
10
+ hint: "Example: scriptctl state-delete actor:act_001/st_calm --strategy remove",
11
+ data: { expected: ["<state-addr>"], actual: ["<empty>"] },
13
12
  });
14
13
  }
15
14
  return applySingleScriptOp(opts, {
@@ -1 +1 @@
1
- {"version":3,"file":"state-delete.js","sourceRoot":"","sources":["../../../src/usecases/script/state-delete.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EAKR,UAAU,GASX,MAAM,iBAAiB,CAAC;AA6BzB,OAAO,EACL,MAAM,GAKP,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAC+I,mBAAmB,GACxK,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAU;IACjD,MAAM,IAAI,GAAG,MAAM,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,4CAA4C,EAAE,+BAA+B,EAAE;YAChG,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,CAAC,cAAc,CAAC;YAC1B,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,SAAS,EAAE,CAAC,yEAAyE,CAAC;YACtF,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,EAAE;QAC/B,EAAE,EAAE,cAAc;QAClB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACf,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E"}
1
+ {"version":3,"file":"state-delete.js","sourceRoot":"","sources":["../../../src/usecases/script/state-delete.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EAKR,UAAU,GASX,MAAM,iBAAiB,CAAC;AA6BzB,OAAO,EACL,MAAM,GAKP,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAC+I,mBAAmB,GACxK,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAU;IACjD,MAAM,IAAI,GAAG,MAAM,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,+BAA+B,EAAE;YAC5C,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,cAAc;YACzB,IAAI,EAAE,yEAAyE;YAC/E,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE;SAC1D,CAAC,CAAC;IACX,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,EAAE;QAC/B,EAAE,EAAE,cAAc;QAClB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACf,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E"}
@@ -1,3 +1,3 @@
1
- import { type Report } from "../../common.js";
1
+ import { type CommandOutput } from "../../common.js";
2
2
  import { type Dict } from "../../domain/script/shared.js";
3
- export declare function commandStateRename(opts: Dict): Promise<[Report, number]>;
3
+ export declare function commandStateRename(opts: Dict): Promise<[CommandOutput, number]>;
@@ -4,12 +4,11 @@ import { applySingleScriptOp, } from "./lib.js";
4
4
  export async function commandStateRename(opts) {
5
5
  const args = asList(opts["_args"]);
6
6
  if (args.length < 2) {
7
- throw new CliError("VERB BLOCKED: state-rename args missing", "state-rename args missing.", {
7
+ throw new CliError("state-rename args missing.", {
8
8
  exitCode: EXIT_USAGE,
9
- required: ["<state-addr> <new-name>"],
10
- received: args,
11
- nextSteps: ["Example: scriptctl state-rename actor:act_001/st_calm \"平静(新)\""],
12
9
  errorCode: "ARGS_MISSING",
10
+ hint: "Example: scriptctl state-rename actor:act_001/st_calm \"平静(新)\"",
11
+ data: { expected: ["<state-addr> <new-name>"], actual: args },
13
12
  });
14
13
  }
15
14
  return applySingleScriptOp(opts, { op: "state.rename", target: args[0], name: args[1] });
@@ -1 +1 @@
1
- {"version":3,"file":"state-rename.js","sourceRoot":"","sources":["../../../src/usecases/script/state-rename.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EAKR,UAAU,GASX,MAAM,iBAAiB,CAAC;AA6BzB,OAAO,EACL,MAAM,GAKP,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAC+I,mBAAmB,GACxK,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAU;IACjD,MAAM,IAAI,GAAG,MAAM,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,yCAAyC,EAAE,4BAA4B,EAAE;YAC1F,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,CAAC,yBAAyB,CAAC;YACrC,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,iEAAiE,CAAC;YAC9E,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"state-rename.js","sourceRoot":"","sources":["../../../src/usecases/script/state-rename.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EAKR,UAAU,GASX,MAAM,iBAAiB,CAAC;AA6BzB,OAAO,EACL,MAAM,GAKP,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAC+I,mBAAmB,GACxK,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAU;IACjD,MAAM,IAAI,GAAG,MAAM,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,4BAA4B,EAAE;YACzC,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,cAAc;YACzB,IAAI,EAAE,iEAAiE;YACvE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,yBAAyB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;SAC9D,CAAC,CAAC;IACX,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3F,CAAC"}
@@ -1,3 +1,3 @@
1
- import { type Report } from "../../common.js";
1
+ import { type CommandOutput } from "../../common.js";
2
2
  import { type Dict } from "../../domain/script/shared.js";
3
- export declare function commandStates(opts: Dict): Promise<[Report, number]>;
3
+ export declare function commandStates(opts: Dict): Promise<[CommandOutput, number]>;
@@ -4,7 +4,7 @@ import { collectStateRefs } from "../../domain/script/refs.js";
4
4
  import { ASSET_ID_PREFIX } from "../../domain/script/lookups.js";
5
5
  import { asList, strOf } from "../../domain/script/shared.js";
6
6
  import { loadScriptForEdit } from "./session.js";
7
- import { buildReport, compactEpisodeRanges } from "./lib.js";
7
+ import { buildTableReport, compactEpisodeRanges } from "./lib.js";
8
8
  import { parseV4Address, findAssetV4 } from "../../domain/script/v4/address.js";
9
9
  import { requireScriptV4 } from "../../domain/script/v4/parse.js";
10
10
  const ASSET_KEYS = {
@@ -27,12 +27,11 @@ function resolveStatesTarget(raw) {
27
27
  const prefix = raw.includes("_") ? raw.slice(0, raw.indexOf("_")) : "";
28
28
  const kind = PREFIX_TO_KIND.get(prefix);
29
29
  if (!kind) {
30
- throw new CliError("VERB BLOCKED: states address invalid", "states address invalid.", {
30
+ throw new CliError("states address invalid.", {
31
31
  exitCode: EXIT_USAGE,
32
- required: ["<asset-addr>: act_001 / loc_001 / prp_001 (or actor:act_001)"],
33
- received: [raw],
34
- nextSteps: ["Pass an asset id whose prefix is act_ / loc_ / prp_, or tag it as actor|location|prop:<id>."],
35
32
  errorCode: "STATE_ADDR_INVALID",
33
+ hint: "Pass an asset id whose prefix is act_ / loc_ / prp_, or tag it as actor|location|prop:<id>.",
34
+ data: { expected: ["<asset-addr>: act_001 / loc_001 / prp_001 (or actor:act_001)"], actual: [raw] },
36
35
  });
37
36
  }
38
37
  return [kind, raw];
@@ -44,34 +43,35 @@ function resolveStatesTarget(raw) {
44
43
  export async function commandStates(opts) {
45
44
  const args = asList(opts["_args"]);
46
45
  if (args.length < 1) {
47
- throw new CliError("VERB BLOCKED: states address missing", "states address missing.", {
46
+ throw new CliError("states address missing.", {
48
47
  exitCode: EXIT_USAGE,
49
- required: ["<asset-addr> (act_001 / loc_001 / prp_001, or actor:act_001)"],
50
- received: ["<empty>"],
51
- nextSteps: ["Example: scriptctl states act_001"],
52
48
  errorCode: "ARGS_MISSING",
49
+ hint: "Example: scriptctl states act_001",
50
+ data: { expected: ["<asset-addr> (act_001 / loc_001 / prp_001, or actor:act_001)"], actual: ["<empty>"] },
53
51
  });
54
52
  }
55
53
  const session = await loadScriptForEdit(opts);
56
54
  if (session.version === 4) {
57
55
  const address = parseV4Address(strOf(args[0]));
58
56
  if (address.kind !== "asset") {
59
- throw new CliError("VERB BLOCKED: states wants an asset ID", "states lists every state owned by one asset.", {
57
+ throw new CliError("states lists every state owned by one asset.", {
60
58
  exitCode: EXIT_USAGE,
61
59
  errorCode: "STATE_ADDR_NOT_ASSET",
62
- received: [strOf(args[0])],
60
+ data: { actual: [strOf(args[0])] },
63
61
  });
64
62
  }
65
63
  const script = requireScriptV4(session.script);
66
64
  const asset = findAssetV4(script, address.assetKind, address.id);
67
65
  if (!asset) {
68
- throw new CliError("VERB BLOCKED: asset not found", "asset not found.", {
66
+ throw new CliError("asset not found.", {
69
67
  exitCode: EXIT_INPUT,
70
68
  errorCode: "ASSET_NOT_FOUND",
71
- received: [address.id],
69
+ data: { actual: [address.id] },
72
70
  });
73
71
  }
74
- const lines = asset.states.map((state) => {
72
+ const lines = [];
73
+ const rows = [];
74
+ for (const state of asset.states) {
75
75
  const episodeIds = new Set();
76
76
  const sceneIds = new Set();
77
77
  for (const episode of script.episodes) {
@@ -91,9 +91,23 @@ export async function commandStates(opts) {
91
91
  ? `episodes=${[...episodeIds].join(",")} (${episodeIds.size} eps, ${sceneIds.size} scenes)`
92
92
  : "episodes=none";
93
93
  const desc = state.description.trim() ? `desc="${state.description}"` : "description=missing";
94
- return `${address.id}/${state.state_id} ${state.state_name || "-"} ${desc} ${arc}`;
95
- });
96
- return [buildReport("query.states", `STATES ${address.id}`, lines, session.artifactLabel), EXIT_OK];
94
+ const addr = `${address.id}/${state.state_id}`;
95
+ lines.push(`${addr} ${state.state_name || "-"} ${desc} ${arc}`);
96
+ rows.push({
97
+ addr,
98
+ state_id: state.state_id,
99
+ name: state.state_name,
100
+ description: state.description,
101
+ episodes: [...episodeIds],
102
+ episode_count: episodeIds.size,
103
+ scene_count: sceneIds.size,
104
+ flags: [],
105
+ });
106
+ }
107
+ return [
108
+ buildTableReport("query.states", lines, ["addr", "state_id", "name", "description", "episodes", "episode_count", "scene_count", "flags"], rows),
109
+ EXIT_OK,
110
+ ];
97
111
  }
98
112
  // A state address (actor:act_001/st_010 or act_001/st_010) would otherwise be
99
113
  // mis-parsed as an asset id and mis-report "asset not found". Catch the
@@ -101,29 +115,28 @@ export async function commandStates(opts) {
101
115
  const raw = strOf(args[0]);
102
116
  if (raw.includes("/")) {
103
117
  const assetPart = raw.slice(0, raw.indexOf("/"));
104
- throw new CliError("VERB BLOCKED: states wants an asset address", "states wants an asset address.", {
118
+ throw new CliError("states wants an asset address.", {
105
119
  exitCode: EXIT_USAGE,
106
- required: ["<asset-addr> without a /state_id (e.g. act_001)"],
107
- received: [args[0]],
108
- nextSteps: [`Drop the /state_id: scriptctl states ${assetPart}`],
109
120
  errorCode: "STATE_ADDR_NOT_ASSET",
121
+ hint: `Drop the /state_id: scriptctl states ${assetPart}`,
122
+ data: { expected: ["<asset-addr> without a /state_id (e.g. act_001)"], actual: [args[0]] },
110
123
  });
111
124
  }
112
125
  const [kind, id] = resolveStatesTarget(raw);
113
126
  const [collection, idKey, nameKey] = ASSET_KEYS[kind];
114
127
  const asset = asList(session.script[collection]).find((a) => strOf(a[idKey]) === id);
115
128
  if (!asset) {
116
- throw new CliError("VERB BLOCKED: asset not found", "asset not found.", {
129
+ throw new CliError("asset not found.", {
117
130
  exitCode: EXIT_INPUT,
118
- required: [`an existing ${kind} id`],
119
- received: [args[0]],
120
- nextSteps: [`List assets with: scriptctl ${collection}`],
121
131
  errorCode: "ASSET_NOT_FOUND",
132
+ hint: `List assets with: scriptctl ${collection}`,
133
+ data: { expected: [`an existing ${kind} id`], actual: [args[0]] },
122
134
  });
123
135
  }
124
136
  const assetName = strOf(asset[nameKey]) || "-";
125
137
  const states = asList(asset["states"]);
126
138
  const lines = [];
139
+ const rows = [];
127
140
  // Surface duplicate ids/names inline so an agent sees what to fix without a
128
141
  // separate validate pass.
129
142
  const idSeen = new Map();
@@ -161,10 +174,24 @@ export async function commandStates(opts) {
161
174
  const arc = episodes.size > 0
162
175
  ? `episodes=${compactEpisodeRanges(episodes)} (${episodes.size} eps, ${scenes.size} scenes)`
163
176
  : "episodes=none";
164
- lines.push(`${kind}:${id}/${sid} ${sname} ${descPart} ${arc}${flagPart}`);
177
+ const addr = `${kind}:${id}/${sid}`;
178
+ lines.push(`${addr} ${sname} ${descPart} ${arc}${flagPart}`);
179
+ rows.push({
180
+ addr,
181
+ state_id: sid,
182
+ name: sname === "-" ? "" : sname,
183
+ description: desc,
184
+ episodes: [...episodes],
185
+ episode_count: episodes.size,
186
+ scene_count: scenes.size,
187
+ flags,
188
+ });
165
189
  }
166
190
  if (lines.length === 0)
167
191
  lines.push("(no states)");
168
- return [buildReport("query.states", `STATES ${kind}:${id} (${assetName})`, lines, session.artifactLabel), EXIT_OK];
192
+ return [
193
+ buildTableReport("query.states", lines, ["addr", "state_id", "name", "description", "episodes", "episode_count", "scene_count", "flags"], rows),
194
+ EXIT_OK,
195
+ ];
169
196
  }
170
197
  //# sourceMappingURL=states.js.map