@osolmaz/pi-workflows 0.11.0 → 0.11.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.
@@ -2,41 +2,204 @@ import { spawnSync } from "node:child_process";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import { HERDR_PLUGIN_ID } from "./constants.js";
5
- export function setupHerdrPlugin(packageRoot, spawn = runCommand) {
6
- const root = path.resolve(packageRoot);
7
- const manifest = path.join(root, "herdr-plugin.toml");
8
- if (!fs.existsSync(manifest)) {
9
- throw new Error(`Herdr plugin manifest not found: ${manifest}`);
5
+ const PACKAGE_NAME = "@osolmaz/pi-workflows";
6
+ const MANIFEST_NAME = "herdr-plugin.toml";
7
+ const VIEWER_PATH = "plugins/herdr/viewer.mjs";
8
+ const RESULT_SCHEMA = "pi-workflows.herdr-sync.v1";
9
+ const MAX_COMMAND_OUTPUT_BYTES = 1024 * 1024;
10
+ export function syncHerdrPlugin(packageRoot, spawn = runCommand) {
11
+ const expected = preflightPackage(packageRoot);
12
+ const initial = inspectHerdr(spawn, true);
13
+ if (!initial.available) {
14
+ return result("unavailable", false, expected.version, undefined);
10
15
  }
11
- const listed = spawn("herdr", ["plugin", "list", "--plugin", HERDR_PLUGIN_ID, "--json"]);
12
- if (listed.error)
13
- throw new Error(`Could not run Herdr: ${listed.error.message}`);
14
- if (listed.status !== 0) {
15
- throw new Error(`Could not inspect Herdr plugins: ${bounded(listed.stderr || listed.stdout)}`);
16
+ const installed = initial.plugin;
17
+ if (installed === undefined) {
18
+ const linked = mutate(spawn, "link", [expected.root]);
19
+ const adopted = verifyOrExplain(spawn, expected);
20
+ if (adopted.plugin !== undefined && matchesExpected(adopted.plugin, expected, true)) {
21
+ return result("linked", true, expected.version, adopted.plugin);
22
+ }
23
+ throw mutationError("link", linked, adopted.problem);
16
24
  }
17
- const installed = installedPlugin(listed.stdout);
18
- if (installed !== undefined) {
19
- if (path.resolve(installed.root) !== root) {
20
- throw new Error(`Herdr plugin ${HERDR_PLUGIN_ID} is already registered from ${installed.root}. Unlink it before linking ${root}.`);
25
+ if (matchesExpected(installed, expected, true)) {
26
+ return result("unchanged", false, expected.version, installed);
27
+ }
28
+ if (matchesExpected(installed, expected, false) && !installed.enabled) {
29
+ const enabled = mutate(spawn, "enable", [HERDR_PLUGIN_ID]);
30
+ const adopted = verifyOrExplain(spawn, expected);
31
+ if (adopted.plugin !== undefined && matchesExpected(adopted.plugin, expected, true)) {
32
+ return result("enabled", true, expected.version, adopted.plugin);
21
33
  }
22
- if (installed.enabled) {
23
- return { changed: false, message: `Herdr plugin ${HERDR_PLUGIN_ID} is already linked.` };
34
+ throw mutationError("enable", enabled, adopted.problem);
35
+ }
36
+ const rollback = rollbackTarget(installed);
37
+ const unlinked = mutate(spawn, "unlink", [HERDR_PLUGIN_ID]);
38
+ const afterUnlink = inspectHerdr(spawn, false);
39
+ if (!afterUnlink.available)
40
+ throw new Error("Herdr became unavailable during synchronization.");
41
+ if (afterUnlink.plugin !== undefined) {
42
+ if (matchesExpected(afterUnlink.plugin, expected, true)) {
43
+ return result("relinked", true, expected.version, afterUnlink.plugin);
24
44
  }
25
- const enabled = spawn("herdr", ["plugin", "enable", HERDR_PLUGIN_ID]);
26
- if (enabled.error)
27
- throw new Error(`Could not run Herdr: ${enabled.error.message}`);
28
- if (enabled.status !== 0) {
29
- throw new Error(`Could not enable the Herdr plugin: ${bounded(enabled.stderr || enabled.stdout)}`);
45
+ throw mutationError("unlink the stale registration", unlinked, "Herdr still reports a conflicting registration.");
46
+ }
47
+ const linked = mutate(spawn, "link", [expected.root]);
48
+ const adopted = verifyOrExplain(spawn, expected);
49
+ if (adopted.plugin !== undefined && matchesExpected(adopted.plugin, expected, true)) {
50
+ return result("relinked", true, expected.version, adopted.plugin);
51
+ }
52
+ const rollbackMessage = restorePrevious(spawn, expected, rollback);
53
+ throw new Error(`${mutationError("link the current package", linked, adopted.problem).message} ${rollbackMessage}`);
54
+ }
55
+ /** Compatibility alias for callers that used the original setup API. */
56
+ export function setupHerdrPlugin(packageRoot, spawn = runCommand) {
57
+ return syncHerdrPlugin(packageRoot, spawn);
58
+ }
59
+ function preflightPackage(packageRoot) {
60
+ const requestedRoot = path.resolve(packageRoot);
61
+ let root;
62
+ try {
63
+ root = fs.realpathSync(requestedRoot);
64
+ }
65
+ catch (error) {
66
+ throw new Error(`Pi Workflows package root is missing: ${requestedRoot}`, { cause: error });
67
+ }
68
+ if (!fs.statSync(root).isDirectory()) {
69
+ throw new Error(`Pi Workflows package root is not a directory: ${requestedRoot}`);
70
+ }
71
+ const packagePath = checkedRegularFile(root, "package.json");
72
+ const manifestPath = checkedRegularFile(root, MANIFEST_NAME);
73
+ const packageJson = parseJsonObject(fs.readFileSync(packagePath, "utf8"), "package.json");
74
+ if (packageJson["name"] !== PACKAGE_NAME) {
75
+ throw new Error(`Unexpected Pi Workflows package name in ${packagePath}.`);
76
+ }
77
+ const packageVersion = packageJson["version"];
78
+ if (typeof packageVersion !== "string" || packageVersion.length === 0) {
79
+ throw new Error(`Pi Workflows package version is missing in ${packagePath}.`);
80
+ }
81
+ const manifest = fs.readFileSync(manifestPath, "utf8");
82
+ const topLevelManifest = manifest.split(/^\s*\[\[/mu, 1)[0] ?? "";
83
+ const pluginId = tomlString(topLevelManifest, "id", manifestPath);
84
+ const pluginVersion = tomlString(topLevelManifest, "version", manifestPath);
85
+ tomlString(topLevelManifest, "min_herdr_version", manifestPath);
86
+ const platforms = tomlStringArray(topLevelManifest, "platforms", manifestPath);
87
+ const command = tomlStringArray(manifest, "command", manifestPath);
88
+ if (pluginId !== HERDR_PLUGIN_ID) {
89
+ throw new Error(`Unexpected Herdr plugin ID in ${manifestPath}.`);
90
+ }
91
+ if (pluginVersion !== packageVersion) {
92
+ throw new Error(`Herdr plugin version does not match package version ${packageVersion}.`);
93
+ }
94
+ const platform = process.platform === "darwin" ? "macos" : process.platform;
95
+ if (!platforms.includes(platform)) {
96
+ throw new Error(`Herdr plugin does not support platform ${platform}.`);
97
+ }
98
+ if (command.length !== 2 || command[0] !== "node" || command[1] !== VIEWER_PATH) {
99
+ throw new Error(`Unexpected Herdr plugin viewer command in ${manifestPath}.`);
100
+ }
101
+ checkedRegularFile(root, VIEWER_PATH);
102
+ return { root, manifestPath, version: packageVersion };
103
+ }
104
+ function checkedRegularFile(root, relativePath) {
105
+ const target = path.resolve(root, relativePath);
106
+ if (!isWithin(root, target)) {
107
+ throw new Error(`Package file escapes the package root: ${relativePath}`);
108
+ }
109
+ const stat = statOrThrow(target, `Package file ${relativePath}`);
110
+ if (!stat.isFile() || stat.isSymbolicLink()) {
111
+ throw new Error(`Package file is not a regular file: ${relativePath}`);
112
+ }
113
+ const real = fs.realpathSync(target);
114
+ if (!isWithin(root, real)) {
115
+ throw new Error(`Package file resolves outside the package root: ${relativePath}`);
116
+ }
117
+ return real;
118
+ }
119
+ function isWithin(root, target) {
120
+ const relative = path.relative(root, target);
121
+ return relative === "" || (!relative.startsWith(`..${path.sep}`) && relative !== "..");
122
+ }
123
+ function statOrThrow(target, label) {
124
+ try {
125
+ return fs.lstatSync(target);
126
+ }
127
+ catch (error) {
128
+ throw new Error(`${label} is missing: ${target}`, { cause: error });
129
+ }
130
+ }
131
+ function parseJsonObject(text, label) {
132
+ let value;
133
+ try {
134
+ value = JSON.parse(text);
135
+ }
136
+ catch (error) {
137
+ throw new Error(`${label} is not valid JSON.`, { cause: error });
138
+ }
139
+ if (!isRecord(value))
140
+ throw new Error(`${label} must contain a JSON object.`);
141
+ return value;
142
+ }
143
+ function tomlString(text, key, manifestPath) {
144
+ const expressions = matches(text, new RegExp(String.raw `^\s*${escapeRegExp(key)}\s*=\s*("(?:[^"\\]|\\.)*")\s*(?:#.*)?$`, "gmu"));
145
+ if (expressions.length !== 1) {
146
+ throw new Error(`Herdr manifest must contain one ${key} string: ${manifestPath}`);
147
+ }
148
+ try {
149
+ const value = JSON.parse(expressions[0]);
150
+ if (typeof value !== "string" || value.length === 0)
151
+ throw new Error("empty string");
152
+ return value;
153
+ }
154
+ catch (error) {
155
+ throw new Error(`Herdr manifest has an invalid ${key} string: ${manifestPath}`, {
156
+ cause: error,
157
+ });
158
+ }
159
+ }
160
+ function tomlStringArray(text, key, manifestPath) {
161
+ const expressions = matches(text, new RegExp(String.raw `^\s*${escapeRegExp(key)}\s*=\s*(\[(?:[^\]"\\]|"(?:[^"\\]|\\.)*")*\])\s*(?:#.*)?$`, "gmu"));
162
+ if (expressions.length !== 1) {
163
+ throw new Error(`Herdr manifest must contain one ${key} string array: ${manifestPath}`);
164
+ }
165
+ try {
166
+ const value = JSON.parse(expressions[0]);
167
+ if (!Array.isArray(value) ||
168
+ value.length === 0 ||
169
+ value.some((item) => typeof item !== "string")) {
170
+ throw new Error("invalid string array");
30
171
  }
31
- return { changed: true, message: `Enabled Herdr plugin ${HERDR_PLUGIN_ID}.` };
172
+ return value;
173
+ }
174
+ catch (error) {
175
+ throw new Error(`Herdr manifest has an invalid ${key} string array: ${manifestPath}`, {
176
+ cause: error,
177
+ });
178
+ }
179
+ }
180
+ function matches(text, expression) {
181
+ const values = [];
182
+ for (const match of text.matchAll(expression)) {
183
+ const value = match[1];
184
+ if (value !== undefined)
185
+ values.push(value);
32
186
  }
33
- const linked = spawn("herdr", ["plugin", "link", root]);
34
- if (linked.error)
35
- throw new Error(`Could not run Herdr: ${linked.error.message}`);
36
- if (linked.status !== 0) {
37
- throw new Error(`Could not link the Herdr plugin: ${bounded(linked.stderr || linked.stdout)}`);
187
+ return values;
188
+ }
189
+ function escapeRegExp(value) {
190
+ return value.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
191
+ }
192
+ function inspectHerdr(spawn, allowUnavailable) {
193
+ const listed = spawn("herdr", ["plugin", "list", "--plugin", HERDR_PLUGIN_ID, "--json"]);
194
+ if (listed.error !== undefined) {
195
+ if (allowUnavailable && errorCode(listed.error) === "ENOENT")
196
+ return { available: false };
197
+ throw new Error(`Could not run Herdr: ${listed.error.message}`);
198
+ }
199
+ if (listed.status !== 0) {
200
+ throw new Error(`Could not inspect Herdr plugins: ${bounded(listed.stderr || listed.stdout)}`);
38
201
  }
39
- return { changed: true, message: `Linked Herdr plugin ${HERDR_PLUGIN_ID} from ${root}.` };
202
+ return { available: true, plugin: installedPlugin(listed.stdout) };
40
203
  }
41
204
  function installedPlugin(stdout) {
42
205
  let value;
@@ -46,25 +209,172 @@ function installedPlugin(stdout) {
46
209
  catch {
47
210
  throw new Error("Herdr returned invalid plugin JSON.");
48
211
  }
49
- if (!isRecord(value) || !isRecord(value.result) || !Array.isArray(value.result.plugins)) {
212
+ if (!isRecord(value) ||
213
+ !isRecord(value["result"]) ||
214
+ !Array.isArray(value["result"]["plugins"])) {
50
215
  throw new Error("Herdr returned an invalid plugin list.");
51
216
  }
52
- for (const plugin of value.result.plugins) {
53
- if (isRecord(plugin) &&
54
- plugin.plugin_id === HERDR_PLUGIN_ID &&
55
- typeof plugin.plugin_root === "string" &&
56
- typeof plugin.enabled === "boolean") {
57
- return { root: plugin.plugin_root, enabled: plugin.enabled };
217
+ const candidates = value["result"]["plugins"].filter((plugin) => isRecord(plugin) && plugin["plugin_id"] === HERDR_PLUGIN_ID);
218
+ if (candidates.length > 1) {
219
+ throw new Error(`Herdr returned duplicate records for ${HERDR_PLUGIN_ID}.`);
220
+ }
221
+ const candidate = candidates[0];
222
+ if (candidate === undefined)
223
+ return undefined;
224
+ if (!isRecord(candidate) ||
225
+ typeof candidate["plugin_root"] !== "string" ||
226
+ typeof candidate["manifest_path"] !== "string" ||
227
+ typeof candidate["version"] !== "string" ||
228
+ typeof candidate["enabled"] !== "boolean") {
229
+ throw new Error(`Herdr returned an incomplete record for ${HERDR_PLUGIN_ID}.`);
230
+ }
231
+ return {
232
+ root: normalizedPath(candidate["plugin_root"]),
233
+ manifestPath: normalizedPath(candidate["manifest_path"]),
234
+ version: candidate["version"],
235
+ enabled: candidate["enabled"],
236
+ warnings: pluginWarnings(candidate),
237
+ };
238
+ }
239
+ function pluginWarnings(plugin) {
240
+ const warnings = [];
241
+ for (const key of ["warning", "manifest_warning"]) {
242
+ const value = plugin[key];
243
+ if (typeof value === "string" && value.trim().length > 0)
244
+ warnings.push(value.trim());
245
+ }
246
+ const many = plugin["warnings"];
247
+ if (many !== undefined) {
248
+ if (!Array.isArray(many) || many.some((item) => typeof item !== "string")) {
249
+ throw new Error(`Herdr returned invalid warnings for ${HERDR_PLUGIN_ID}.`);
58
250
  }
251
+ warnings.push(...many.filter((item) => item.trim().length > 0).map((item) => item.trim()));
59
252
  }
60
- return undefined;
253
+ return warnings;
254
+ }
255
+ function matchesExpected(installed, expected, requireEnabled) {
256
+ return (installed.root === normalizedPath(expected.root) &&
257
+ installed.manifestPath === normalizedPath(expected.manifestPath) &&
258
+ installed.version === expected.version &&
259
+ (!requireEnabled || installed.enabled) &&
260
+ installed.warnings.length === 0);
261
+ }
262
+ function rollbackTarget(installed) {
263
+ try {
264
+ const previous = preflightPackage(installed.root);
265
+ return matchesExpected(installed, previous, installed.enabled)
266
+ ? { package: previous, enabled: installed.enabled }
267
+ : undefined;
268
+ }
269
+ catch {
270
+ return undefined;
271
+ }
272
+ }
273
+ function restorePrevious(spawn, expected, previous) {
274
+ if (previous === undefined)
275
+ return "The previous registration could not be restored.";
276
+ try {
277
+ const current = inspectHerdr(spawn, false);
278
+ if (!current.available)
279
+ return "Herdr became unavailable; the previous registration was not restored.";
280
+ if (current.plugin !== undefined) {
281
+ if (!matchesExpected(current.plugin, expected, current.plugin.enabled)) {
282
+ return "A different registration appeared; the previous registration was not restored.";
283
+ }
284
+ const removed = mutate(spawn, "unlink", [HERDR_PLUGIN_ID]);
285
+ if (!removed.ok)
286
+ return `The previous registration was not restored: ${removed.error}`;
287
+ }
288
+ const args = previous.enabled ? [previous.package.root] : [previous.package.root, "--disabled"];
289
+ const restored = mutate(spawn, "link", args);
290
+ if (!restored.ok)
291
+ return `The previous registration was not restored: ${restored.error}`;
292
+ const verified = inspectHerdr(spawn, false);
293
+ if (verified.available &&
294
+ verified.plugin !== undefined &&
295
+ matchesExpected(verified.plugin, previous.package, previous.enabled) &&
296
+ verified.plugin.enabled === previous.enabled) {
297
+ return "The previous registration was restored.";
298
+ }
299
+ return "Herdr did not verify the restored registration.";
300
+ }
301
+ catch (error) {
302
+ return `The previous registration was not restored: ${bounded(errorMessage(error))}`;
303
+ }
304
+ }
305
+ function verifyOrExplain(spawn, expected) {
306
+ try {
307
+ const inspected = inspectHerdr(spawn, false);
308
+ if (!inspected.available)
309
+ return { problem: "Herdr became unavailable." };
310
+ if (inspected.plugin === undefined)
311
+ return { problem: "Herdr reports no plugin registration." };
312
+ if (matchesExpected(inspected.plugin, expected, true)) {
313
+ return { plugin: inspected.plugin, problem: "" };
314
+ }
315
+ return {
316
+ plugin: inspected.plugin,
317
+ problem: "Herdr did not report the expected healthy registration.",
318
+ };
319
+ }
320
+ catch (error) {
321
+ return { problem: errorMessage(error) };
322
+ }
323
+ }
324
+ function mutate(spawn, action, args) {
325
+ const changed = spawn("herdr", ["plugin", action, ...args]);
326
+ if (changed.error !== undefined)
327
+ return { ok: false, error: changed.error.message };
328
+ if (changed.status !== 0) {
329
+ return { ok: false, error: bounded(changed.stderr || changed.stdout) };
330
+ }
331
+ return { ok: true };
332
+ }
333
+ function mutationError(action, mutation, verification) {
334
+ const command = mutation.ok ? "The command completed" : `The command failed: ${mutation.error}`;
335
+ return new Error(`Could not ${action} the Herdr plugin. ${command}. ${verification}`);
336
+ }
337
+ function result(status, changed, expectedVersion, effective) {
338
+ const messages = {
339
+ linked: `Linked Herdr plugin ${HERDR_PLUGIN_ID}.`,
340
+ relinked: `Repaired Herdr plugin ${HERDR_PLUGIN_ID}.`,
341
+ enabled: `Enabled Herdr plugin ${HERDR_PLUGIN_ID}.`,
342
+ unchanged: `Herdr plugin ${HERDR_PLUGIN_ID} is current.`,
343
+ unavailable: "Herdr is not installed; plugin synchronization was skipped.",
344
+ };
345
+ return {
346
+ schema: RESULT_SCHEMA,
347
+ status,
348
+ changed,
349
+ pluginId: HERDR_PLUGIN_ID,
350
+ expectedVersion,
351
+ effectiveVersion: effective?.version ?? null,
352
+ enabled: effective?.enabled ?? null,
353
+ runningPiProcessesNeedReload: true,
354
+ message: messages[status],
355
+ };
61
356
  }
62
357
  function runCommand(command, args) {
63
358
  return spawnSync(command, [...args], {
64
359
  encoding: "utf8",
65
360
  stdio: ["ignore", "pipe", "pipe"],
361
+ maxBuffer: MAX_COMMAND_OUTPUT_BYTES,
362
+ shell: false,
66
363
  });
67
364
  }
365
+ function errorCode(error) {
366
+ const value = error;
367
+ return typeof value.code === "string" ? value.code : undefined;
368
+ }
369
+ function normalizedPath(value) {
370
+ const resolved = path.resolve(value);
371
+ try {
372
+ return fs.realpathSync(resolved);
373
+ }
374
+ catch {
375
+ return resolved;
376
+ }
377
+ }
68
378
  function bounded(value) {
69
379
  const compact = value
70
380
  .replace(/[\r\n\t]+/gu, " ")
@@ -72,6 +382,9 @@ function bounded(value) {
72
382
  .trim();
73
383
  return compact.length <= 300 ? compact : `${compact.slice(0, 299)}…`;
74
384
  }
385
+ function errorMessage(error) {
386
+ return error instanceof Error ? error.message : String(error);
387
+ }
75
388
  function isRecord(value) {
76
389
  return typeof value === "object" && value !== null && !Array.isArray(value);
77
390
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/herdr/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/herdr/setup.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export type CliArgs = {
8
8
  dir: string;
9
9
  controllerDir: string;
10
10
  once: boolean;
11
+ json: boolean;
11
12
  project?: string | undefined;
12
13
  piArgs?: string[] | undefined;
13
14
  };
@@ -4,7 +4,7 @@ import path from "node:path";
4
4
  import { fileURLToPath, pathToFileURL } from "node:url";
5
5
  import { SqliteControllerStore } from "../controllers/sqlite.js";
6
6
  import { projectControllerStoreBaseDir } from "../controllers/store.js";
7
- import { setupHerdrPlugin } from "../herdr/setup.js";
7
+ import { syncHerdrPlugin } from "../herdr/setup.js";
8
8
  import { sanitizeText } from "../render/ansi.js";
9
9
  import { listRunBundles, readRunBundle, workflowRunsBaseDir } from "../workflows/store.js";
10
10
  import { formatDuration, renderRunDetailLines, renderRunListLines, runElapsedMs, statusLabel, } from "./render.js";
@@ -17,7 +17,8 @@ Usage:
17
17
  pi-workflows controllers [--controller-dir <dir>]
18
18
  pi-workflows controller <controller> <key> [--controller-dir <dir>]
19
19
  pi-workflows host [--project <dir>] [-- <extra pi args>]
20
- pi-workflows herdr setup
20
+ pi-workflows herdr sync [--json]
21
+ pi-workflows herdr setup [--json]
21
22
 
22
23
  Commands:
23
24
  view Open the live workflow TUI. With --once, print a snapshot.
@@ -25,13 +26,14 @@ Commands:
25
26
  controllers List durable controller resources.
26
27
  controller Show one resource, its effects, child workflows, and events.
27
28
  host Run the always-on workflow host in the foreground.
28
- herdr Set up the bundled Herdr plugin.
29
+ herdr Synchronize the bundled Herdr plugin. setup is an alias for sync.
29
30
 
30
31
  Options:
31
32
  --dir <runsDir> Runs directory (default: ~/.pi/agent/workflows/runs)
32
33
  --controller-dir <dir> Controller directory (default: project-scoped local store)
33
34
  --once Render once without the interactive TUI
34
35
  --project <dir> Project directory for the host (default: cwd)
36
+ --json Print a versioned JSON result for herdr sync
35
37
  `;
36
38
  export function parseCliArgs(argv) {
37
39
  const args = [...argv];
@@ -39,6 +41,7 @@ export function parseCliArgs(argv) {
39
41
  let dir = workflowRunsBaseDir();
40
42
  let controllerDir = projectControllerStoreBaseDir(process.cwd());
41
43
  let once = false;
44
+ let json = false;
42
45
  const positionals = [];
43
46
  let project;
44
47
  const piArgs = [];
@@ -56,8 +59,11 @@ export function parseCliArgs(argv) {
56
59
  else if (arg === "--once") {
57
60
  once = true;
58
61
  }
62
+ else if (arg === "--json") {
63
+ json = true;
64
+ }
59
65
  else if (arg === "--help" || arg === "-h") {
60
- return { command: "help", dir, controllerDir, once };
66
+ return { command: "help", dir, controllerDir, once, json };
61
67
  }
62
68
  else if (arg === "--") {
63
69
  piArgs.push(...args.splice(0));
@@ -69,8 +75,11 @@ export function parseCliArgs(argv) {
69
75
  positionals.push(arg);
70
76
  }
71
77
  }
78
+ if (command !== "herdr" && json) {
79
+ throw new Error("--json is available only for herdr sync");
80
+ }
72
81
  if (command === "host") {
73
- return { command, dir, controllerDir, once, project, piArgs };
82
+ return { command, dir, controllerDir, once, json, project, piArgs };
74
83
  }
75
84
  if (command === "controller") {
76
85
  if (positionals.length !== 2) {
@@ -83,13 +92,14 @@ export function parseCliArgs(argv) {
83
92
  dir,
84
93
  controllerDir,
85
94
  once,
95
+ json,
86
96
  };
87
97
  }
88
98
  if (command === "herdr") {
89
- if (positionals.length !== 1 || positionals[0] !== "setup") {
90
- throw new Error("herdr requires the setup action");
99
+ if (positionals.length !== 1 || (positionals[0] !== "sync" && positionals[0] !== "setup")) {
100
+ throw new Error("herdr requires the sync action");
91
101
  }
92
- return { command, herdrAction: positionals[0], dir, controllerDir, once };
102
+ return { command, herdrAction: positionals[0], dir, controllerDir, once, json };
93
103
  }
94
104
  if (positionals.length > 1) {
95
105
  throw new Error(`Unexpected argument: ${positionals[1]}`);
@@ -100,6 +110,7 @@ export function parseCliArgs(argv) {
100
110
  dir,
101
111
  controllerDir,
102
112
  once,
113
+ json,
103
114
  };
104
115
  }
105
116
  async function printRuns(dir) {
@@ -208,8 +219,8 @@ export async function main(argv = process.argv.slice(2)) {
208
219
  return await runHost(args.project ?? process.cwd(), args.piArgs);
209
220
  }
210
221
  if (args.command === "herdr") {
211
- const result = setupHerdrPlugin(packageRoot());
212
- process.stdout.write(`${result.message}\n`);
222
+ const result = syncHerdrPlugin(packageRoot());
223
+ process.stdout.write(args.json ? `${JSON.stringify(result)}\n` : `${result.message}\n`);
213
224
  return 0;
214
225
  }
215
226
  if (args.command === "view") {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/viewer/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/viewer/cli.ts"],"names":[],"mappings":"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"}