@consiliency/agent-board-cli 1.27.1 → 1.29.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.
@@ -243,6 +243,15 @@ export function which(name, env) {
243
243
  }
244
244
  return null;
245
245
  }
246
+ /**
247
+ * ONBOARD (IF-0-ONBOARD-1) — the harness presence probe, one rule for every identity harness: the
248
+ * harness's CLI, named as the harness, is on `env`'s PATH. The pi, opencode and claude writers
249
+ * need it to install; codex, grok and agy registrations are config files setup writes itself, so
250
+ * their writer does not require it, and `setup --all` is its only reader for those three.
251
+ */
252
+ export function harnessCliPath(harness, env) {
253
+ return which(harness, env);
254
+ }
246
255
  function isSymlink(path) {
247
256
  try {
248
257
  return lstatSync(path).isSymbolicLink();
@@ -486,7 +495,7 @@ function packageSpecsSeen(harness, ctx) {
486
495
  return { specs, unparseable: scopes.unparseable };
487
496
  }
488
497
  async function installPackage(ctx, scopeCtx) {
489
- const cli = which(ctx.harness, ctx.env);
498
+ const cli = harnessCliPath(ctx.harness, ctx.env);
490
499
  if (cli === null)
491
500
  return failed("harness_cli_missing", `the ${ctx.harness} CLI is not on PATH: install ${ctx.harness}, then re-run setup`);
492
501
  const version = ctx.harness === "pi" ? ctx.assets.piVersion : ctx.assets.opencodeVersion;
@@ -805,7 +814,7 @@ function materializeMarketplace(ctx, scopeCtx) {
805
814
  return { dir, rewrote: true, notes };
806
815
  }
807
816
  async function installClaude(ctx, scopeCtx) {
808
- const cli = which("claude", ctx.env);
817
+ const cli = harnessCliPath("claude", ctx.env);
809
818
  if (cli === null)
810
819
  return failed("harness_cli_missing", "the claude CLI is not on PATH: install Claude Code, then re-run setup");
811
820
  const seen = boardEntries("claude", scopeCtx);