@lingjingai/scriptctl 0.49.8 → 0.49.10

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.
@@ -1,10 +1,10 @@
1
- # 0.49.8
1
+ # 0.49.10
2
2
 
3
3
  ## Added
4
4
  - Add `checkout` and `status` for managed local working copies, including per-file locking, dirty detection, and arbitrary `--script-path` support.
5
5
 
6
6
  ## Changed
7
- - Change `publish` to validate and strict-CAS publish the local script against working-copy metadata; clean working copies are a local no-op.
7
+ - Change `publish` to use the dedicated strict-CAS `/publish` endpoint for both initial and managed local-wins writes; legacy PUT/PATCH clients remain compatible, while CAS or ambiguous network failures re-fetch, re-diff, and retry with a five-minute transfer timeout.
8
8
 
9
9
  ## Fixed
10
10
  - None.
package/dist/help-text.js CHANGED
@@ -226,8 +226,8 @@ Usage
226
226
  - scriptctl publish [--script-path <file>] [--project-group-no <no>]
227
227
 
228
228
  An unmanaged local file may create the first remote revision only. A managed
229
- working copy publishes against its stored base revision. Clean working copies
230
- return immediately without contacting the network. Conflicts preserve local work.
229
+ working copy fetches the latest snapshot and PATCHes its local-wins diff with
230
+ strict CAS. Network/CAS failures re-fetch and retry. Clean copies use no network.
231
231
  `,
232
232
  ],
233
233
  // =========================================================================
@@ -1,11 +1,11 @@
1
- import { type PatchScriptOptions, type PublishScriptOptions, type ReplaceScriptOptions, type SaveValidationOptions, type ScriptSnapshot, type ScriptOutputStore } from "./script-output-store.js";
2
- export { ScriptOutputApiError, type ScriptOutputApiErrorOptions, type PatchScriptOptions, type PublishScriptOptions, type ReplaceScriptOptions, type SaveValidationOptions, type ScriptSnapshot, type ScriptOutputStore, } from "./script-output-store.js";
1
+ import { type PatchScriptOptions, type PublishPatchOptions, type ReplaceScriptOptions, type SaveValidationOptions, type ScriptSnapshot, type ScriptOutputStore } from "./script-output-store.js";
2
+ export { ScriptOutputApiError, type ScriptOutputApiErrorOptions, type PatchScriptOptions, type PublishPatchOptions, type ReplaceScriptOptions, type SaveValidationOptions, type ScriptSnapshot, type ScriptOutputStore, } from "./script-output-store.js";
3
3
  export declare function normalizeGatewayBase(value: string): string;
4
4
  export declare function quotePath(value: string): string;
5
5
  /**
6
6
  * V2 script-output store. Same gateway base + X-Access-Key auth as V1, but:
7
- * - publishScript is the strict-CAS whole-document write used by current clients.
8
- * - replaceScript remains only as the legacy requestId-shaped client surface.
7
+ * - publishPatch uses the dedicated strict-CAS publish endpoint.
8
+ * - replaceScript and patchScript retain the legacy endpoint contracts.
9
9
  * - patchScript sends an RFC6902 PATCH (the compare() diff of old→edited),
10
10
  * which V1 cannot do (it degrades to a whole-document replace).
11
11
  *
@@ -14,7 +14,7 @@ export declare function quotePath(value: string): string;
14
14
  * GET {prefix}/{projectGroupNo}
15
15
  * GET {prefix}/{projectGroupNo}/revision
16
16
  * GET {prefix}/{projectGroupNo}/snapshot
17
- * PUT {prefix}/{projectGroupNo} { baseRevision, script, validation }
17
+ * PATCH {prefix}/{projectGroupNo}/publish { baseRevision, patch, validation }
18
18
  * PATCH {prefix}/{projectGroupNo} RFC6902 patch array (wrapped with requestId)
19
19
  * DELETE {prefix}/{projectGroupNo}
20
20
  */
@@ -34,7 +34,7 @@ export declare class ScriptV2OutputStore implements ScriptOutputStore {
34
34
  getScript(): Promise<Record<string, unknown> | null>;
35
35
  getRevision(): Promise<Record<string, unknown> | null>;
36
36
  getSnapshot(): Promise<ScriptSnapshot | null>;
37
- publishScript(opts: PublishScriptOptions): Promise<Record<string, unknown>>;
37
+ publishPatch(opts: PublishPatchOptions): Promise<Record<string, unknown>>;
38
38
  replaceScript(opts: ReplaceScriptOptions): Promise<Record<string, unknown>>;
39
39
  patchScript(opts: PatchScriptOptions): Promise<Record<string, unknown>>;
40
40
  saveValidationResult(opts: SaveValidationOptions): Promise<Record<string, unknown> | null>;
@@ -9,8 +9,8 @@ import { ScriptOutputApiError, } from "./script-output-store.js";
9
9
  // ./script-output-store.js — the shared module is the single source of truth.
10
10
  export { ScriptOutputApiError, } from "./script-output-store.js";
11
11
  const SCRIPT_OUTPUT_PREFIX = "/api/anime/workbench/script-output/project-groups";
12
- // V2 publishes the whole script in one PUT (no begin→per-episode→commit) and
13
- // supports an RFC6902 PATCH for incremental edits. Same gateway base + the same
12
+ // V2 adds an isolated publish endpoint while preserving the legacy PUT/PATCH
13
+ // contracts. Same gateway base + the same
14
14
  // X-Access-Key auth as V1; only the path prefix and the write shape differ.
15
15
  const SCRIPT_V2_PREFIX = "/api/anime/workbench/v2/script/project-groups";
16
16
  // Project-group metadata lives on a DIFFERENT controller (not under the
@@ -125,8 +125,8 @@ async function gatewayRequest(gatewayBase, accessKey, timeoutMs, method, path, o
125
125
  }
126
126
  /**
127
127
  * V2 script-output store. Same gateway base + X-Access-Key auth as V1, but:
128
- * - publishScript is the strict-CAS whole-document write used by current clients.
129
- * - replaceScript remains only as the legacy requestId-shaped client surface.
128
+ * - publishPatch uses the dedicated strict-CAS publish endpoint.
129
+ * - replaceScript and patchScript retain the legacy endpoint contracts.
130
130
  * - patchScript sends an RFC6902 PATCH (the compare() diff of old→edited),
131
131
  * which V1 cannot do (it degrades to a whole-document replace).
132
132
  *
@@ -135,7 +135,7 @@ async function gatewayRequest(gatewayBase, accessKey, timeoutMs, method, path, o
135
135
  * GET {prefix}/{projectGroupNo}
136
136
  * GET {prefix}/{projectGroupNo}/revision
137
137
  * GET {prefix}/{projectGroupNo}/snapshot
138
- * PUT {prefix}/{projectGroupNo} { baseRevision, script, validation }
138
+ * PATCH {prefix}/{projectGroupNo}/publish { baseRevision, patch, validation }
139
139
  * PATCH {prefix}/{projectGroupNo} RFC6902 patch array (wrapped with requestId)
140
140
  * DELETE {prefix}/{projectGroupNo}
141
141
  */
@@ -148,7 +148,8 @@ export class ScriptV2OutputStore {
148
148
  this.gatewayBase = opts.gatewayBase;
149
149
  this.projectGroupNo = opts.projectGroupNo;
150
150
  this.accessKey = opts.accessKey;
151
- this.timeoutMs = opts.timeoutMs ?? 30000;
151
+ // checkout/publish may transfer a full large snapshot over a weak network.
152
+ this.timeoutMs = opts.timeoutMs ?? 300_000;
152
153
  }
153
154
  static fromEnv(projectGroupNo) {
154
155
  const resolved = (projectGroupNo ?? process.env.SANDBOX_PROJECT_GROUP_NO ?? "").trim();
@@ -177,11 +178,11 @@ export class ScriptV2OutputStore {
177
178
  async getSnapshot() {
178
179
  return (await this.request("GET", `${this.projectPrefix}/snapshot`, { allowMissing: true }));
179
180
  }
180
- async publishScript(opts) {
181
- return (await this.request("PUT", this.projectPrefix, {
181
+ async publishPatch(opts) {
182
+ return (await this.request("PATCH", `${this.projectPrefix}/publish`, {
182
183
  body: {
183
184
  baseRevision: opts.baseRevision,
184
- script: opts.script,
185
+ patch: compare(opts.old, opts.edited),
185
186
  validation: opts.validation,
186
187
  },
187
188
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"script-output-api.js","sourceRoot":"","sources":["../../src/infra/script-output-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script-output-api.js","sourceRoot":"","sources":["../../src/infra/script-output-api.ts"],"names":[],"mappings":"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"}
@@ -32,9 +32,10 @@ export interface ScriptSnapshot {
32
32
  validationSummary?: Record<string, unknown> | null;
33
33
  updatedAt?: string | null;
34
34
  }
35
- export interface PublishScriptOptions {
35
+ export interface PublishPatchOptions {
36
36
  baseRevision: number;
37
- script: Record<string, unknown>;
37
+ old: Record<string, unknown>;
38
+ edited: Record<string, unknown>;
38
39
  validation: {
39
40
  status: "valid";
40
41
  summary: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"script-output-store.js","sourceRoot":"","sources":["../../src/infra/script-output-store.ts"],"names":[],"mappings":"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"}
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,10 @@
1
1
  import * as fs from "node:fs";
2
2
  import { CliError, EXIT_INPUT, EXIT_OK, EXIT_RUNTIME, scriptJsonPath, } from "../../common.js";
3
3
  import { isDict, strOf } from "../../domain/script/shared.js";
4
- import { remoteScriptOutputStoreFromEnv, ScriptOutputApiError } from "../../infra/script-output-api.js";
4
+ import { remoteScriptOutputStoreFromEnv, ScriptOutputApiError, } from "../../infra/script-output-api.js";
5
5
  import { assertLocalFileFingerprint, assertScriptUnchanged, atomicWriteJson, localFileFingerprint, readWorkingCopyMetadata, semanticScriptHash, workingCopyPaths, writeWorkingCopyMetadata, } from "../../infra/script-working-copy.js";
6
6
  import { apiErrorToCli, validateScriptV3Report } from "./session.js";
7
+ const MAX_PUBLISH_ATTEMPTS = 3;
7
8
  function configuredProjectGroupNo(opts) {
8
9
  return strOf(opts["project_group_no"] || process.env.SANDBOX_PROJECT_GROUP_NO).trim();
9
10
  }
@@ -61,6 +62,151 @@ function readLocalScript(scriptPath) {
61
62
  }
62
63
  return value;
63
64
  }
65
+ function isRevisionConflict(error) {
66
+ return String(error.code) === "9002" || error.message.includes("版本冲突");
67
+ }
68
+ function isAmbiguousResponse(error) {
69
+ const malformedSuccess = error.status !== null
70
+ && error.status >= 200
71
+ && error.status < 300
72
+ && error.code === null;
73
+ return error.status === null || error.status >= 500 || malformedSuccess;
74
+ }
75
+ function snapshotRevision(snapshot) {
76
+ const revision = Number(snapshot.revision);
77
+ if (!Number.isInteger(revision) || revision < 0) {
78
+ throw new CliError("PUBLISH UNKNOWN: snapshot revision invalid", "The gateway returned an invalid snapshot revision.", {
79
+ exitCode: EXIT_RUNTIME,
80
+ errorCode: "PUBLISH_OUTCOME_UNKNOWN",
81
+ received: [JSON.stringify(snapshot)],
82
+ nextSteps: ["Inspect the remote script before retrying."],
83
+ });
84
+ }
85
+ return revision;
86
+ }
87
+ function outcomeUnknown(baseRevision, received) {
88
+ return new CliError("PUBLISH UNKNOWN: response not confirmed", "The publish outcome could not be confirmed after retrying.", {
89
+ exitCode: EXIT_RUNTIME,
90
+ errorCode: "PUBLISH_OUTCOME_UNKNOWN",
91
+ received: [...received, `baseRevision=${baseRevision}`],
92
+ nextSteps: ["Run publish again; it will inspect the latest snapshot before sending another patch."],
93
+ });
94
+ }
95
+ async function publishManagedLocalWins(client, scriptPath, script, scriptHash, metadata, validation) {
96
+ const failures = [];
97
+ for (let attempt = 1; attempt <= MAX_PUBLISH_ATTEMPTS; attempt += 1) {
98
+ let snapshot;
99
+ try {
100
+ snapshot = await client.getSnapshot();
101
+ }
102
+ catch (error) {
103
+ if (error instanceof ScriptOutputApiError && isAmbiguousResponse(error)) {
104
+ failures.push(`snapshot attempt ${attempt}: ${error.message}`);
105
+ continue;
106
+ }
107
+ if (error instanceof ScriptOutputApiError)
108
+ throw apiErrorToCli("PUBLISH BLOCKED: snapshot query failed", error);
109
+ throw error;
110
+ }
111
+ if (snapshot === null || !isDict(snapshot.script)) {
112
+ throw new CliError("PUBLISH BLOCKED: remote script not found", "The managed working copy no longer has a remote script.", {
113
+ exitCode: EXIT_INPUT,
114
+ errorCode: "REMOTE_SCRIPT_NOT_FOUND",
115
+ received: [`projectGroupNo=${client.projectGroupNo}`],
116
+ nextSteps: ["Publish a new unmanaged file to create the remote script, or restore the remote project."],
117
+ });
118
+ }
119
+ const baseRevision = snapshotRevision(snapshot);
120
+ if (semanticScriptHash(snapshot.script) === scriptHash && snapshot.validationStatus === "valid") {
121
+ return {
122
+ revision: baseRevision,
123
+ patchedFromRevision: baseRevision,
124
+ attempts: attempt,
125
+ recovered: baseRevision !== metadata.baseRevision,
126
+ };
127
+ }
128
+ assertScriptUnchanged(scriptPath, scriptHash);
129
+ try {
130
+ const response = await client.publishPatch({
131
+ baseRevision,
132
+ old: snapshot.script,
133
+ edited: script,
134
+ validation,
135
+ });
136
+ const revision = isDict(response) ? Number(response["revision"]) : Number.NaN;
137
+ if (Number.isInteger(revision) && revision > baseRevision) {
138
+ return { revision, patchedFromRevision: baseRevision, attempts: attempt, recovered: attempt > 1 };
139
+ }
140
+ failures.push(`patch attempt ${attempt}: invalid response ${JSON.stringify(response)}`);
141
+ }
142
+ catch (error) {
143
+ if (error instanceof ScriptOutputApiError && (isRevisionConflict(error) || isAmbiguousResponse(error))) {
144
+ failures.push(`patch attempt ${attempt}: ${error.message}`);
145
+ continue;
146
+ }
147
+ if (error instanceof ScriptOutputApiError)
148
+ throw apiErrorToCli("PUBLISH BLOCKED: patch failed", error);
149
+ throw error;
150
+ }
151
+ }
152
+ throw outcomeUnknown(metadata.baseRevision, failures);
153
+ }
154
+ async function publishInitial(client, scriptPath, script, scriptHash, validation) {
155
+ const failures = [];
156
+ for (let attempt = 1; attempt <= MAX_PUBLISH_ATTEMPTS; attempt += 1) {
157
+ let snapshot;
158
+ try {
159
+ snapshot = await client.getSnapshot();
160
+ }
161
+ catch (error) {
162
+ if (error instanceof ScriptOutputApiError && isAmbiguousResponse(error)) {
163
+ failures.push(`snapshot attempt ${attempt}: ${error.message}`);
164
+ continue;
165
+ }
166
+ if (error instanceof ScriptOutputApiError)
167
+ throw apiErrorToCli("PUBLISH BLOCKED: snapshot query failed", error);
168
+ throw error;
169
+ }
170
+ if (snapshot !== null) {
171
+ const revision = snapshotRevision(snapshot);
172
+ if (isDict(snapshot.script)
173
+ && semanticScriptHash(snapshot.script) === scriptHash
174
+ && snapshot.validationStatus === "valid") {
175
+ return { revision, patchedFromRevision: 0, attempts: attempt, recovered: true };
176
+ }
177
+ throw new CliError("PUBLISH BLOCKED: remote script exists", "An unmanaged local script cannot replace an existing remote script.", {
178
+ exitCode: EXIT_INPUT,
179
+ errorCode: "REMOTE_SCRIPT_EXISTS",
180
+ received: [`projectGroupNo=${client.projectGroupNo}`, `revision=${revision}`],
181
+ nextSteps: ["Checkout the remote script, apply the local changes to that managed working copy, then publish."],
182
+ });
183
+ }
184
+ assertScriptUnchanged(scriptPath, scriptHash);
185
+ try {
186
+ const response = await client.publishPatch({
187
+ baseRevision: 0,
188
+ old: {},
189
+ edited: script,
190
+ validation,
191
+ });
192
+ const revision = isDict(response) ? Number(response["revision"]) : Number.NaN;
193
+ if (Number.isInteger(revision) && revision > 0) {
194
+ return { revision, patchedFromRevision: 0, attempts: attempt, recovered: attempt > 1 };
195
+ }
196
+ failures.push(`patch attempt ${attempt}: invalid response ${JSON.stringify(response)}`);
197
+ }
198
+ catch (error) {
199
+ if (error instanceof ScriptOutputApiError && (isRevisionConflict(error) || isAmbiguousResponse(error))) {
200
+ failures.push(`patch attempt ${attempt}: ${error.message}`);
201
+ continue;
202
+ }
203
+ if (error instanceof ScriptOutputApiError)
204
+ throw apiErrorToCli("PUBLISH BLOCKED: patch failed", error);
205
+ throw error;
206
+ }
207
+ }
208
+ throw outcomeUnknown(0, failures);
209
+ }
64
210
  export async function commandCheckout(opts) {
65
211
  const scriptPath = scriptJsonPath(opts);
66
212
  const discardLocal = Boolean(opts["discard_local"]);
@@ -183,74 +329,62 @@ export async function commandWorkingCopyPublish(opts) {
183
329
  nextSteps: [`Run \`scriptctl validate --script-path ${scriptPath}\`, repair the issues, then publish again.`],
184
330
  });
185
331
  }
186
- const client = metadata === null
187
- ? remoteClient(configuredProjectGroupNo(opts) || null)
188
- : clientForMetadata(opts, metadata);
189
- const baseRevision = metadata?.baseRevision ?? 0;
190
- assertScriptUnchanged(scriptPath, scriptHash);
191
- let response;
192
- try {
193
- response = await client.publishScript({
194
- baseRevision,
195
- script,
196
- validation: {
197
- status: "valid",
198
- summary: {
199
- passed: true,
200
- hasBlocking: false,
201
- stats: validation["stats"] ?? {},
202
- issueCount: 0,
203
- },
204
- },
205
- });
206
- }
207
- catch (error) {
208
- if (error instanceof ScriptOutputApiError) {
209
- if (String(error.code) === "9002" || error.message.includes("版本冲突")) {
210
- throw apiErrorToCli("PUBLISH BLOCKED: revision conflict", error);
211
- }
212
- const ambiguousSuccessResponse = error.status !== null
213
- && error.status >= 200
214
- && error.status < 300
215
- && error.code === null;
216
- if (error.status === null || error.status >= 500 || ambiguousSuccessResponse) {
217
- throw new CliError("PUBLISH UNKNOWN: response not confirmed", "The publish outcome is unknown because no definitive response was received.", {
218
- exitCode: EXIT_RUNTIME,
219
- errorCode: "PUBLISH_OUTCOME_UNKNOWN",
220
- received: [error.message, `baseRevision=${baseRevision}`],
221
- nextSteps: [`Inspect the remote script, then run \`scriptctl checkout --script-path ${scriptPath} --discard-local\` to recover when appropriate.`],
222
- });
223
- }
224
- throw apiErrorToCli("PUBLISH BLOCKED: write failed", error);
225
- }
226
- throw error;
227
- }
228
- const revision = isDict(response) ? Number(response["revision"]) : Number.NaN;
229
- if (!Number.isInteger(revision) || revision <= baseRevision) {
230
- throw new CliError("PUBLISH UNKNOWN: response invalid", "The gateway returned an invalid publish revision.", {
231
- exitCode: EXIT_RUNTIME,
232
- errorCode: "PUBLISH_OUTCOME_UNKNOWN",
233
- received: [JSON.stringify(response)],
234
- nextSteps: [`Inspect the remote script before retrying or discarding ${scriptPath}.`],
332
+ const validationPayload = {
333
+ status: "valid",
334
+ summary: {
335
+ passed: true,
336
+ hasBlocking: false,
337
+ stats: validation["stats"] ?? {},
338
+ issueCount: 0,
339
+ },
340
+ };
341
+ if (metadata !== null) {
342
+ const client = clientForMetadata(opts, metadata);
343
+ const result = await publishManagedLocalWins(client, scriptPath, script, scriptHash, metadata, validationPayload);
344
+ writeWorkingCopyMetadata(scriptPath, {
345
+ schemaVersion: 1,
346
+ projectGroupNo: client.projectGroupNo,
347
+ apiBaseUrl: client.gatewayBase,
348
+ baseRevision: result.revision,
349
+ baseContentHash: scriptHash,
235
350
  });
351
+ return [{
352
+ title: "PUBLISH COMPLETE",
353
+ changed: true,
354
+ published: true,
355
+ created: false,
356
+ transport: "patch",
357
+ scriptPath,
358
+ projectGroupNo: client.projectGroupNo,
359
+ baseRevision: result.patchedFromRevision,
360
+ revision: result.revision,
361
+ attempts: result.attempts,
362
+ recovered: result.recovered,
363
+ result: [`published local content over revision ${result.patchedFromRevision} → ${result.revision}`],
364
+ }, EXIT_OK];
236
365
  }
366
+ const client = remoteClient(configuredProjectGroupNo(opts) || null);
367
+ const result = await publishInitial(client, scriptPath, script, scriptHash, validationPayload);
237
368
  writeWorkingCopyMetadata(scriptPath, {
238
369
  schemaVersion: 1,
239
370
  projectGroupNo: client.projectGroupNo,
240
371
  apiBaseUrl: client.gatewayBase,
241
- baseRevision: revision,
372
+ baseRevision: result.revision,
242
373
  baseContentHash: scriptHash,
243
374
  });
244
375
  return [{
245
376
  title: "PUBLISH COMPLETE",
246
377
  changed: true,
247
378
  published: true,
248
- created: metadata === null,
379
+ created: true,
380
+ transport: "patch",
249
381
  scriptPath,
250
382
  projectGroupNo: client.projectGroupNo,
251
- baseRevision,
252
- revision,
253
- result: [`published revision ${baseRevision} → ${revision}`],
383
+ baseRevision: result.patchedFromRevision,
384
+ revision: result.revision,
385
+ attempts: result.attempts,
386
+ recovered: result.recovered,
387
+ result: [`published revision ${result.patchedFromRevision} → ${result.revision}`],
254
388
  }, EXIT_OK];
255
389
  }
256
390
  //# sourceMappingURL=working-copy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"working-copy.js","sourceRoot":"","sources":["../../../src/usecases/script/working-copy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"working-copy.js","sourceRoot":"","sources":["../../../src/usecases/script/working-copy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lingjingai/scriptctl",
3
- "version": "0.49.8",
3
+ "version": "0.49.10",
4
4
  "description": "剧本阶段统一 CLI:直转外部素材到 script.json,以及当前最终剧本的读取、校验、原子编辑与批量 patch 精修。",
5
5
  "type": "module",
6
6
  "bin": {
@@ -51,7 +51,7 @@ location 表示可独立布置、可独立生成参考图、可重复引用的
51
51
  - 编辑远端已有剧本:先 `scriptctl checkout [--script-path FILE]`,再对该文件运行任意原子命令,最后 `scriptctl publish [--script-path FILE]`。
52
52
  - `checkout` 会建立 `.scriptctl/<filename>.working-copy.json`,记录远端项目、API 地址、base revision 和语义内容 hash。已有未管理文件或有本地修改时拒绝覆盖;只有明确 `--discard-local` 才丢弃。
53
53
  - `status` 完全本地判断 managed / clean / dirty,不访问网络。
54
- - `publish` 对已管理文件使用 metadata base revision 做严格 CAS;冲突保留本地文件。干净工作副本不访问网络。无 metadata 的文件只允许以 base revision 0 首次发布。
54
+ - `publish` 对已管理文件拉取最新 snapshot,以本地稿为准计算 diff 后严格 CAS PATCH;CAS 或网络失败会重拉、重算、重试。干净工作副本不访问网络。无 metadata 的文件只允许以 base revision 0 首次发布。
55
55
  - 所有写命令按文件加锁;外部编辑器在命令期间改文件也会在落盘前被检测并拒绝覆盖。
56
56
  - `--workspace-path` 仍只属于 `ingest` / `view` / `ingest status`;普通读写和 publish 用 `--script-path`。
57
57
 
@@ -277,7 +277,7 @@ scriptctl publish --script-path workspace/script.json # 首次发布或更
277
277
  - 🔴 **ingest 不入库**——它只产出 `<workspace>/script.json`。**入库是 `publish` 这独立一步**(沙箱里转完必须 publish,否则后端/前端看不到剧本)。
278
278
  - 🔴 **workspace 路径**:不传 `--workspace-path` 默认 `<cwd>/workspace`;`ingest` 结果回显绝对路径。后续读写/publish 指向该目录下的 `script.json`。
279
279
  - 抽取后用所有本地动词精修,再 publish。若后续继续编辑远端版本,checkout 到本地再改,不直接对 DB 跑原子 op。
280
- - publish 冲突(`REVISION_CONFLICT`)表示远端 revision 已变化;本地稿仍保留,先确认远端变化再决定如何合并或显式丢弃重拉。
280
+ - publish 使用 local-wins:远端 revision 变化时自动以最新 snapshot 为 base 重算 diff,最终远端内容与本地稿一致;不会做三方合并。
281
281
 
282
282
  ### `ingest status`:进度按真实文件判定
283
283
 
@@ -143,7 +143,7 @@ checkout → 本地查询/原子编辑/do/patch → validate → publish
143
143
  - 已有远端剧本先 `scriptctl checkout --script-path draft.json`。
144
144
  - 全程对同一个 `draft.json` 编辑。新增原子能力只需实现本地操作,不增加远端业务 API。
145
145
  - `scriptctl status --script-path draft.json` 查看是否 dirty。
146
- - `scriptctl publish --script-path draft.json` 使用 checkout 时记录的 base revision 严格发布;冲突不会覆盖本地稿。
146
+ - `scriptctl publish --script-path draft.json` 拉最新 snapshot 后以本地稿为准生成 patch;CAS/网络失败会重拉重试,最终远端内容与本地稿一致。
147
147
  - 本地新剧可直接 create/ingest 后首次 publish;没有 working-copy metadata 时只尝试从 revision 0 创建。
148
148
 
149
149
  ### 两份 script.json(洗稿 / 对标 / 转绘)
@@ -85,7 +85,7 @@ scriptctl publish --script-path workspace/script.json --project-group-no 123
85
85
 
86
86
  - `publish` 读本地 `--script-path`(默认 `workspace/script.json`),**再跑一遍 v3 校验**,通过才发布。
87
87
  - 沙箱里转完**必须 publish**,否则后端/前端看不到剧本。
88
- - `REVISION_CONFLICT` = 远端被别人更新;本地稿保持不变。确认远端变化后合并,或明确 `checkout --discard-local` 放弃本地稿。
88
+ - 已管理工作副本 publish 采用 local-wins:CAS/网络失败后重拉 snapshot、重算 diff 并重试,最终远端内容以本地稿为准。
89
89
  - 已管理且内容未变时 publish 本地直接 no-op,不发网络请求。服务端不保存 requestId,也不提供 publish 幂等重试。
90
90
 
91
91
  ## 六、复杂场景怎么接