@lingjingai/scriptctl 0.6.3 → 0.7.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/dist/cli.js CHANGED
@@ -1,3 +1,6 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import { fileURLToPath } from "node:url";
1
4
  import { Command, CommanderError } from "commander";
2
5
  import { CliError, EXIT_OK, EXIT_USAGE } from "./common.js";
3
6
  import { getHelp } from "./help-text.js";
@@ -7,6 +10,17 @@ import { commandInit, commandInspect, commandValidate, } from "./usecases/direct
7
10
  import { commandDoctor } from "./usecases/doctor.js";
8
11
  import { commandEpisodeBatch, commandEpisodeDraft, commandEpisodeInit, commandEpisodeMerge, commandEpisodePush, commandEpisodeSpec, commandEpisodeWorkspace, } from "./usecases/episode.js";
9
12
  import { commandActions, commandActor, commandActors, commandAddSpeaker, commandAlias, commandAssets, commandContext, commandDelete, commandDescribe, commandDialogue, commandEpisodes, commandExport, commandInsert, commandIssues, commandLocations, commandMerge, commandMove, commandOverlap, commandProps, commandRefs, commandRename, commandReplace, commandRole, commandScenes, commandScriptPatch, commandScriptValidate, commandSpeakers, commandSplit, commandStateAdd, commandStateChange, commandStateDelete, commandStateRename, commandSummary, commandTransition, commandType, commandWorldview, } from "./usecases/script.js";
13
+ function readPackageVersion() {
14
+ try {
15
+ const here = fileURLToPath(import.meta.url);
16
+ const pkgPath = path.resolve(path.dirname(here), "..", "package.json");
17
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
18
+ return pkg.version ?? "0.0.0";
19
+ }
20
+ catch {
21
+ return "0.0.0";
22
+ }
23
+ }
10
24
  const KNOWN_COMMANDS = new Set([
11
25
  "doctor",
12
26
  // Workflow groups
@@ -381,6 +395,10 @@ export async function main(argv = null) {
381
395
  let args = argv ?? process.argv.slice(2);
382
396
  const state = { jsonMode: args.includes("--json"), exitCode: EXIT_OK };
383
397
  args = args.filter((a) => a !== "--json");
398
+ if (args.includes("--version")) {
399
+ process.stdout.write(`${readPackageVersion()}\n`);
400
+ return EXIT_OK;
401
+ }
384
402
  const wantsHelp = args.includes("--help") || args.includes("-h");
385
403
  const cmdPath = extractLeadingPath(args);
386
404
  if (cmdPath.length === 0) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/help-text.js CHANGED
@@ -1,7 +1,7 @@
1
1
  const HELP_ENTRIES = [
2
2
  [
3
3
  [],
4
- `scriptctl — 剧本阶段统一 CLI(0.6.0 扁平 namespace)
4
+ `scriptctl — 剧本阶段统一 CLI
5
5
 
6
6
  Usage
7
7
  - scriptctl <verb> <address> [flags] # 编辑(多态 verb 按 address 格式分发)
@@ -0,0 +1,31 @@
1
+ import { type ReplaceScriptOptions, type SaveValidationOptions, type ScriptOutputStore } from "./script-output-store.js";
2
+ /**
3
+ * Filesystem-backed ScriptOutputStore for local debugging. Layout:
4
+ *
5
+ * $dir/
6
+ * ├── script.json ← current published script document
7
+ * ├── revision.json ← {revision, requestId, baseRevision, idempotency: {...}}
8
+ * └── validations/r{N}.json ← per-revision validation submission
9
+ *
10
+ * Semantics intentionally mirror RemoteScriptOutputStore + the fake gateway:
11
+ * - GET-when-missing returns null (not throw)
12
+ * - replaceScript enforces baseRevision CAS; conflict throws ScriptOutputApiError
13
+ * with `code: 9001` and message containing "版本冲突" so apiErrorToCli's
14
+ * substring matching produces the same SCRIPT_REVISION_CONFLICT envelope
15
+ * - replaceScript with replayed requestId returns the cached result with
16
+ * `idempotent: true`, matching the gateway's behaviour
17
+ */
18
+ export declare class LocalScriptOutputStore implements ScriptOutputStore {
19
+ readonly dirPath: string;
20
+ constructor(dirPath: string);
21
+ get projectGroupNo(): string;
22
+ static fromEnv(): LocalScriptOutputStore;
23
+ private get scriptPath();
24
+ private get revisionPath();
25
+ private validationPath;
26
+ private readRevision;
27
+ getScript(): Promise<Record<string, unknown> | null>;
28
+ getRevision(): Promise<Record<string, unknown> | null>;
29
+ replaceScript(opts: ReplaceScriptOptions): Promise<Record<string, unknown>>;
30
+ saveValidationResult(opts: SaveValidationOptions): Promise<Record<string, unknown>>;
31
+ }
@@ -0,0 +1,136 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import { exists, readJson, writeJson } from "../common.js";
4
+ import { ScriptOutputApiError, } from "./script-output-store.js";
5
+ /**
6
+ * Filesystem-backed ScriptOutputStore for local debugging. Layout:
7
+ *
8
+ * $dir/
9
+ * ├── script.json ← current published script document
10
+ * ├── revision.json ← {revision, requestId, baseRevision, idempotency: {...}}
11
+ * └── validations/r{N}.json ← per-revision validation submission
12
+ *
13
+ * Semantics intentionally mirror RemoteScriptOutputStore + the fake gateway:
14
+ * - GET-when-missing returns null (not throw)
15
+ * - replaceScript enforces baseRevision CAS; conflict throws ScriptOutputApiError
16
+ * with `code: 9001` and message containing "版本冲突" so apiErrorToCli's
17
+ * substring matching produces the same SCRIPT_REVISION_CONFLICT envelope
18
+ * - replaceScript with replayed requestId returns the cached result with
19
+ * `idempotent: true`, matching the gateway's behaviour
20
+ */
21
+ export class LocalScriptOutputStore {
22
+ dirPath;
23
+ constructor(dirPath) {
24
+ this.dirPath = dirPath;
25
+ }
26
+ // Satisfy ScriptOutputStore.projectGroupNo with the store's filesystem
27
+ // identity. Used by ScriptEditSession.artifactLabel and "not found" error
28
+ // context — the dir path is meaningful local-debug context, not a leaked
29
+ // secret.
30
+ get projectGroupNo() {
31
+ return this.dirPath;
32
+ }
33
+ static fromEnv() {
34
+ const dir = (process.env.SCRIPTCTL_OUTPUT_DIR ?? "").trim();
35
+ if (!dir) {
36
+ throw new ScriptOutputApiError("output dir missing; set SCRIPTCTL_OUTPUT_DIR", { configMissing: "project" });
37
+ }
38
+ try {
39
+ fs.mkdirSync(dir, { recursive: true });
40
+ }
41
+ catch (err) {
42
+ const reason = err instanceof Error ? err.message : String(err);
43
+ throw new ScriptOutputApiError(`local output dir not writable: ${reason}`, {
44
+ configMissing: "gateway",
45
+ });
46
+ }
47
+ return new LocalScriptOutputStore(dir);
48
+ }
49
+ get scriptPath() {
50
+ return path.join(this.dirPath, "script.json");
51
+ }
52
+ get revisionPath() {
53
+ return path.join(this.dirPath, "revision.json");
54
+ }
55
+ validationPath(rev) {
56
+ return path.join(this.dirPath, "validations", `r${rev}.json`);
57
+ }
58
+ readRevision() {
59
+ if (!exists(this.revisionPath))
60
+ return null;
61
+ return readJson(this.revisionPath);
62
+ }
63
+ async getScript() {
64
+ if (!exists(this.scriptPath))
65
+ return null;
66
+ return readJson(this.scriptPath);
67
+ }
68
+ async getRevision() {
69
+ const rev = this.readRevision();
70
+ if (rev === null)
71
+ return null;
72
+ return { revision: rev.revision };
73
+ }
74
+ async replaceScript(opts) {
75
+ const current = this.readRevision();
76
+ const currentRevision = current?.revision ?? 0;
77
+ // Idempotent replay: same requestId returns cached result without
78
+ // re-bumping revision. Matches fake-gateway.ts lines 92-105.
79
+ const cached = current?.idempotency?.[opts.requestId];
80
+ if (cached) {
81
+ return {
82
+ baseRevision: cached.baseRevision,
83
+ revision: cached.revision,
84
+ requestId: opts.requestId,
85
+ source: cached.source,
86
+ idempotent: true,
87
+ };
88
+ }
89
+ if (opts.baseRevision !== currentRevision) {
90
+ throw new ScriptOutputApiError(`剧本版本冲突,baseRevision=${opts.baseRevision},currentRevision=${currentRevision}`, { status: 200, code: 9001 });
91
+ }
92
+ const nextRevision = currentRevision + 1;
93
+ const source = opts.source ?? "ctl";
94
+ const updatedAt = new Date().toISOString();
95
+ // writeJson uses DEFAULT_STORE's atomic write (tmp file + rename). Script
96
+ // lands first so a crash between writes leaves on-disk script ahead of
97
+ // revision pointer — getScript still works, getRevision returns the old
98
+ // (or null) revision, and the next replaceScript replays cleanly.
99
+ writeJson(this.scriptPath, opts.script);
100
+ const idempotency = { ...(current?.idempotency ?? {}) };
101
+ idempotency[opts.requestId] = {
102
+ baseRevision: opts.baseRevision,
103
+ revision: nextRevision,
104
+ source,
105
+ };
106
+ writeJson(this.revisionPath, {
107
+ revision: nextRevision,
108
+ requestId: opts.requestId,
109
+ baseRevision: opts.baseRevision,
110
+ source,
111
+ updatedAt,
112
+ idempotency,
113
+ });
114
+ return {
115
+ baseRevision: opts.baseRevision,
116
+ revision: nextRevision,
117
+ requestId: opts.requestId,
118
+ source,
119
+ idempotent: false,
120
+ };
121
+ }
122
+ async saveValidationResult(opts) {
123
+ fs.mkdirSync(path.join(this.dirPath, "validations"), { recursive: true });
124
+ writeJson(this.validationPath(opts.revision), {
125
+ revision: opts.revision,
126
+ validationStatus: opts.validationStatus,
127
+ validationSummary: opts.validationSummary,
128
+ issues: opts.issues,
129
+ savedAt: new Date().toISOString(),
130
+ });
131
+ // Remote's POST /validation-result returns data:null; caller awaits and
132
+ // ignores. Returning {} keeps the interface contract honest.
133
+ return {};
134
+ }
135
+ }
136
+ //# sourceMappingURL=local-script-output-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-script-output-store.js","sourceRoot":"","sources":["../../src/infra/local-script-output-store.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,8 @@
1
- export interface ScriptOutputApiErrorOptions {
2
- status?: number | null;
3
- code?: number | string | null;
4
- payload?: unknown;
5
- /**
6
- * Which env var was missing when fromEnv() failed — used by apiErrorToCli to
7
- * route the failure into a sanitized public error. Kept as a stable token
8
- * (not the raw env name) so apiErrorToCli doesn't need to parse messages.
9
- */
10
- configMissing?: "gateway" | "access" | "project";
11
- }
12
- export declare class ScriptOutputApiError extends Error {
13
- readonly status: number | null;
14
- readonly code: number | string | null;
15
- readonly payload: unknown;
16
- readonly configMissing: "gateway" | "access" | "project" | null;
17
- constructor(message: string, opts?: ScriptOutputApiErrorOptions);
18
- }
1
+ import { type ReplaceScriptOptions, type SaveValidationOptions, type ScriptOutputStore } from "./script-output-store.js";
2
+ export { ScriptOutputApiError, type ScriptOutputApiErrorOptions, type ReplaceScriptOptions, type SaveValidationOptions, type ScriptOutputStore, } from "./script-output-store.js";
19
3
  export declare function normalizeGatewayBase(value: string): string;
20
4
  export declare function quotePath(value: string): string;
21
- export interface ReplaceScriptOptions {
22
- requestId: string;
23
- baseRevision: number;
24
- script: Record<string, unknown>;
25
- source?: string;
26
- }
27
- export interface SaveValidationOptions {
28
- revision: number;
29
- validationStatus: string;
30
- validationSummary: Record<string, unknown>;
31
- issues: Array<Record<string, unknown>>;
32
- }
33
- export declare class ScriptOutputClient {
5
+ export declare class RemoteScriptOutputStore implements ScriptOutputStore {
34
6
  readonly gatewayBase: string;
35
7
  readonly projectGroupNo: string;
36
8
  readonly accessKey: string;
@@ -41,7 +13,7 @@ export declare class ScriptOutputClient {
41
13
  accessKey: string;
42
14
  timeoutMs?: number;
43
15
  });
44
- static fromEnv(projectGroupNo?: string | null): ScriptOutputClient;
16
+ static fromEnv(projectGroupNo?: string | null): RemoteScriptOutputStore;
45
17
  private get projectPrefix();
46
18
  getScript(): Promise<Record<string, unknown> | null>;
47
19
  getRevision(): Promise<Record<string, unknown> | null>;
@@ -1,18 +1,9 @@
1
+ import { ScriptOutputApiError, } from "./script-output-store.js";
2
+ // Re-export the shared error/types so existing callers that import them from
3
+ // this module keep compiling. New code should import directly from
4
+ // ./script-output-store.js — the shared module is the single source of truth.
5
+ export { ScriptOutputApiError, } from "./script-output-store.js";
1
6
  const SCRIPT_OUTPUT_PREFIX = "/api/anime/workbench/script-output/project-groups";
2
- export class ScriptOutputApiError extends Error {
3
- status;
4
- code;
5
- payload;
6
- configMissing;
7
- constructor(message, opts = {}) {
8
- super(message);
9
- this.name = "ScriptOutputApiError";
10
- this.status = opts.status ?? null;
11
- this.code = opts.code ?? null;
12
- this.payload = opts.payload;
13
- this.configMissing = opts.configMissing ?? null;
14
- }
15
- }
16
7
  export function normalizeGatewayBase(value) {
17
8
  let base = value.trim().replace(/\/+$/, "");
18
9
  for (const suffix of ["/api/anime/workbench", "/api/sandbox"]) {
@@ -41,7 +32,7 @@ function apiErrorFromText(text, status) {
41
32
  }
42
33
  return new ScriptOutputApiError(text || `HTTP ${status}`, { status, payload: text });
43
34
  }
44
- export class ScriptOutputClient {
35
+ export class RemoteScriptOutputStore {
45
36
  gatewayBase;
46
37
  projectGroupNo;
47
38
  accessKey;
@@ -69,7 +60,7 @@ export class ScriptOutputClient {
69
60
  configMissing: "access",
70
61
  });
71
62
  }
72
- return new ScriptOutputClient({ gatewayBase, projectGroupNo: resolved, accessKey });
63
+ return new RemoteScriptOutputStore({ gatewayBase, projectGroupNo: resolved, accessKey });
73
64
  }
74
65
  get projectPrefix() {
75
66
  return `${SCRIPT_OUTPUT_PREFIX}/${quotePath(this.projectGroupNo)}`;
@@ -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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"}
@@ -0,0 +1,51 @@
1
+ export interface ScriptOutputApiErrorOptions {
2
+ status?: number | null;
3
+ code?: number | string | null;
4
+ payload?: unknown;
5
+ /**
6
+ * Which env var was missing when fromEnv() failed — used by apiErrorToCli to
7
+ * route the failure into a sanitized public error. Kept as a stable token
8
+ * (not the raw env name) so apiErrorToCli doesn't need to parse messages.
9
+ */
10
+ configMissing?: "gateway" | "access" | "project";
11
+ }
12
+ export declare class ScriptOutputApiError extends Error {
13
+ readonly status: number | null;
14
+ readonly code: number | string | null;
15
+ readonly payload: unknown;
16
+ readonly configMissing: "gateway" | "access" | "project" | null;
17
+ constructor(message: string, opts?: ScriptOutputApiErrorOptions);
18
+ }
19
+ export interface ReplaceScriptOptions {
20
+ requestId: string;
21
+ baseRevision: number;
22
+ script: Record<string, unknown>;
23
+ source?: string;
24
+ }
25
+ export interface SaveValidationOptions {
26
+ revision: number;
27
+ validationStatus: string;
28
+ validationSummary: Record<string, unknown>;
29
+ issues: Array<Record<string, unknown>>;
30
+ }
31
+ /**
32
+ * Abstract "published script storage" used by usecases. Two implementations:
33
+ * - RemoteScriptOutputStore: HTTP gateway (production)
34
+ * - LocalScriptOutputStore: filesystem (local debugging)
35
+ *
36
+ * Implementations are selected by the `scriptOutputClient()` factory based on
37
+ * `SCRIPTCTL_OUTPUT_MODE`. Usecase code only touches this interface, so the
38
+ * mode switch is invisible above this layer.
39
+ */
40
+ export interface ScriptOutputStore {
41
+ /**
42
+ * Stable identifier for the underlying store. For the remote backend this is
43
+ * the gateway-side project group id; for the local backend it is the store
44
+ * directory path. Used in artifact labels and "not found" error context.
45
+ */
46
+ readonly projectGroupNo: string;
47
+ getScript(): Promise<Record<string, unknown> | null>;
48
+ getRevision(): Promise<Record<string, unknown> | null>;
49
+ replaceScript(opts: ReplaceScriptOptions): Promise<Record<string, unknown>>;
50
+ saveValidationResult(opts: SaveValidationOptions): Promise<Record<string, unknown>>;
51
+ }
@@ -0,0 +1,15 @@
1
+ export class ScriptOutputApiError extends Error {
2
+ status;
3
+ code;
4
+ payload;
5
+ configMissing;
6
+ constructor(message, opts = {}) {
7
+ super(message);
8
+ this.name = "ScriptOutputApiError";
9
+ this.status = opts.status ?? null;
10
+ this.code = opts.code ?? null;
11
+ this.payload = opts.payload;
12
+ this.configMissing = opts.configMissing ?? null;
13
+ }
14
+ }
15
+ //# sourceMappingURL=script-output-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-output-store.js","sourceRoot":"","sources":["../../src/infra/script-output-store.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,MAAM,CAAgB;IACtB,IAAI,CAAyB;IAC7B,OAAO,CAAU;IACjB,aAAa,CAA0C;IAEhE,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"}
@@ -12,6 +12,31 @@ function moduleAvailable(name) {
12
12
  return false;
13
13
  }
14
14
  }
15
+ function resolvedOutputMode() {
16
+ const raw = (process.env.SCRIPTCTL_OUTPUT_MODE ?? "remote").trim().toLowerCase();
17
+ return raw === "local" ? "local" : "remote";
18
+ }
19
+ function probeLocalOutputDir(dir) {
20
+ if (!dir)
21
+ return { dirSet: false, writable: false, hasScript: false };
22
+ let writable = false;
23
+ try {
24
+ fs.mkdirSync(dir, { recursive: true });
25
+ fs.accessSync(dir, fs.constants.W_OK);
26
+ writable = true;
27
+ }
28
+ catch {
29
+ writable = false;
30
+ }
31
+ let hasScript = false;
32
+ try {
33
+ hasScript = fs.statSync(`${dir.replace(/\/+$/, "")}/script.json`).isFile();
34
+ }
35
+ catch {
36
+ hasScript = false;
37
+ }
38
+ return { dirSet: true, writable, hasScript };
39
+ }
15
40
  export function commandDoctor(_opts) {
16
41
  const envPaths = candidateEnvPaths();
17
42
  const existingEnvPaths = [];
@@ -32,6 +57,9 @@ export function commandDoctor(_opts) {
32
57
  }
33
58
  const anthropicKeyConfigured = Boolean(process.env.PROJECT_LITELLM_GATEWAY_API_KEY);
34
59
  const geminiKeyConfigured = Boolean(process.env.SCRIPTCTL_GEMINI_API_KEY || process.env.GEMINI_API_KEY);
60
+ const mode = resolvedOutputMode();
61
+ const localDirRaw = (process.env.SCRIPTCTL_OUTPUT_DIR ?? "").trim();
62
+ const localProbe = mode === "local" ? probeLocalOutputDir(localDirRaw || null) : null;
35
63
  const gatewayUrlConfigured = Boolean(process.env.AWB_BASE_URL);
36
64
  const gatewayAccessConfigured = Boolean(process.env.LINGJING_AWB_ACCESS_KEY);
37
65
  const projectGroupConfigured = Boolean(process.env.SANDBOX_PROJECT_GROUP_NO);
@@ -51,16 +79,29 @@ export function commandDoctor(_opts) {
51
79
  ? `env_file: ${existingEnvPaths[0] ?? "missing"}`
52
80
  : `env_file: ${existingEnvPaths.length > 0 ? "loaded" : "missing"}`;
53
81
  const fmtCheck = (ok) => (ok ? "configured" : "not configured");
82
+ // Storage line varies by mode so external scripts can detect at a glance
83
+ // which backend the CLI will use for the next write.
84
+ const storageLine = mode === "local"
85
+ ? `storage: local-output (${debug && localDirRaw ? localDirRaw : localProbe?.dirSet ? "configured" : "not configured"})`
86
+ : "storage: local-filesystem";
54
87
  const result = [
55
88
  `node: ${nodeVersion}`,
56
- "storage: local-filesystem",
89
+ storageLine,
90
+ `output mode: ${mode}`,
57
91
  envFileLine,
58
92
  `provider anthropic: ${fmtCheck(anthropicKeyConfigured)}`,
59
93
  `provider gemini: ${fmtCheck(geminiKeyConfigured)}`,
60
- `gateway endpoint: ${fmtCheck(gatewayUrlConfigured)}`,
61
- `gateway access credential: ${fmtCheck(gatewayAccessConfigured)}`,
62
- `gateway project identifier: ${fmtCheck(projectGroupConfigured)}`,
63
94
  ];
95
+ if (mode === "local" && localProbe) {
96
+ result.push(`output dir: ${localProbe.dirSet ? "configured" : "not configured"}`);
97
+ result.push(`output dir writable: ${fmtCheck(localProbe.writable)}`);
98
+ result.push(`output script: ${localProbe.hasScript ? "present" : "absent"}`);
99
+ }
100
+ else {
101
+ result.push(`gateway endpoint: ${fmtCheck(gatewayUrlConfigured)}`);
102
+ result.push(`gateway access credential: ${fmtCheck(gatewayAccessConfigured)}`);
103
+ result.push(`gateway project identifier: ${fmtCheck(projectGroupConfigured)}`);
104
+ }
64
105
  for (const [name, ok] of Object.entries(dependencies)) {
65
106
  result.push(`dependency ${name}: ${ok ? "ok" : "missing"}`);
66
107
  }
@@ -71,7 +112,15 @@ export function commandDoctor(_opts) {
71
112
  if (!anthropicKeyConfigured && !geminiKeyConfigured) {
72
113
  nextSteps.push("Configure provider credentials before running delivery commands.");
73
114
  }
74
- if (!gatewayUrlConfigured || !gatewayAccessConfigured || !projectGroupConfigured) {
115
+ if (mode === "local") {
116
+ if (!localProbe || !localProbe.dirSet) {
117
+ nextSteps.push("Set SCRIPTCTL_OUTPUT_DIR to a writable directory for local output mode.");
118
+ }
119
+ else if (!localProbe.writable) {
120
+ nextSteps.push("SCRIPTCTL_OUTPUT_DIR is not writable; pick a different directory or fix permissions.");
121
+ }
122
+ }
123
+ else if (!gatewayUrlConfigured || !gatewayAccessConfigured || !projectGroupConfigured) {
75
124
  nextSteps.push("Configure gateway credentials before running `episode publish` / script CRUD against the remote project.");
76
125
  }
77
126
  if (nextSteps.length === 0) {
@@ -82,9 +131,30 @@ export function commandDoctor(_opts) {
82
131
  }
83
132
  const [major, minor] = nodeVersion.split(".").map((n) => parseInt(n, 10));
84
133
  const nodeOk = (major ?? 0) > 20 || ((major ?? 0) === 20 && (minor ?? 0) >= 0);
134
+ // checks.output replaces the previous checks.gateway. Shape is mode-tagged:
135
+ // remote: { mode: "remote", endpoint, access, project }
136
+ // local: { mode: "local", dir: { ok, writable, hasScript } }
137
+ // External scripts that previously read checks.gateway must migrate to
138
+ // checks.output. The `mode` discriminator lets them branch cleanly.
139
+ const outputChecks = mode === "local"
140
+ ? {
141
+ mode,
142
+ dir: {
143
+ ok: Boolean(localProbe?.dirSet && localProbe.writable),
144
+ set: Boolean(localProbe?.dirSet),
145
+ writable: Boolean(localProbe?.writable),
146
+ hasScript: Boolean(localProbe?.hasScript),
147
+ },
148
+ }
149
+ : {
150
+ mode,
151
+ endpoint: { ok: gatewayUrlConfigured },
152
+ access: { ok: gatewayAccessConfigured },
153
+ project: { ok: projectGroupConfigured },
154
+ };
85
155
  const checks = {
86
156
  node: { version: nodeVersion, ok: nodeOk },
87
- storage: { backend: "local-filesystem", ok: true },
157
+ storage: { backend: mode === "local" ? "local-output" : "local-filesystem", ok: true },
88
158
  env: {
89
159
  ok: existingEnvPaths.length > 0,
90
160
  ...(debug ? { paths: existingEnvPaths } : { count: existingEnvPaths.length }),
@@ -93,11 +163,7 @@ export function commandDoctor(_opts) {
93
163
  anthropic: { ok: anthropicKeyConfigured },
94
164
  gemini: { ok: geminiKeyConfigured },
95
165
  },
96
- gateway: {
97
- endpoint: { ok: gatewayUrlConfigured },
98
- access: { ok: gatewayAccessConfigured },
99
- project: { ok: projectGroupConfigured },
100
- },
166
+ output: outputChecks,
101
167
  dependencies,
102
168
  };
103
169
  const report = {