@f-o-h/cli 0.1.77 → 0.1.78

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 (3) hide show
  1. package/README.md +1 -1
  2. package/dist/foh.js +19 -5
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@ AI-operator provisioning CLI for Front Of House.
4
4
 
5
5
  Public mirror: https://github.com/iiko38/front-of-house-cli
6
6
 
7
- Current published baseline: `@f-o-h/cli@0.1.77`
7
+ Current published baseline: `@f-o-h/cli@0.1.78`
8
8
 
9
9
  This mirror is a generated release artifact. The private product monorepo is not
10
10
  published here, and no open-source license is granted unless stated separately.
package/dist/foh.js CHANGED
@@ -32987,7 +32987,7 @@ var StdioServerTransport = class {
32987
32987
  };
32988
32988
 
32989
32989
  // src/lib/cli-version.ts
32990
- var CLI_VERSION = "0.1.77";
32990
+ var CLI_VERSION = "0.1.78";
32991
32991
 
32992
32992
  // src/commands/mcp-serve.ts
32993
32993
  var DEFAULT_TIMEOUT_MS = 12e4;
@@ -37047,7 +37047,7 @@ function registerDiag(program3) {
37047
37047
  let healthStatus = null;
37048
37048
  if (apiUrl) {
37049
37049
  try {
37050
- const healthUrl = `${String(apiUrl).replace(/\/$/, "")}/v1/health`;
37050
+ const healthUrl = `${String(apiUrl).replace(/\/$/, "")}/health`;
37051
37051
  const healthRes = await fetch(healthUrl);
37052
37052
  healthStatus = healthRes.status;
37053
37053
  checks.push({
@@ -39831,20 +39831,24 @@ function readExternalAgentMetadata(runDir) {
39831
39831
  collectDocsFrom(parsed.docs_pages_observed, docs);
39832
39832
  collectDocsFrom(parsed.docs_used, docs);
39833
39833
  collectDocsFrom(parsed.public_docs_used, docs);
39834
+ const blockerReasonCodes = Array.isArray(parsed.blocker_reason_codes) ? parsed.blocker_reason_codes.map((code) => String(code || "").trim()).filter(Boolean) : [];
39834
39835
  return {
39835
39836
  path: filename,
39836
- docs_pages_used: Array.from(docs).sort()
39837
+ docs_pages_used: Array.from(docs).sort(),
39838
+ blocker_reason_codes: Array.from(new Set(blockerReasonCodes)).sort()
39837
39839
  };
39838
39840
  } catch {
39839
39841
  return {
39840
39842
  path: filename,
39841
- docs_pages_used: []
39843
+ docs_pages_used: [],
39844
+ blocker_reason_codes: []
39842
39845
  };
39843
39846
  }
39844
39847
  }
39845
39848
  return {
39846
39849
  path: null,
39847
- docs_pages_used: []
39850
+ docs_pages_used: [],
39851
+ blocker_reason_codes: []
39848
39852
  };
39849
39853
  }
39850
39854
 
@@ -40476,6 +40480,15 @@ function classifyExternalAgentRun(input) {
40476
40480
  if (hasCommandReason(/agent_limit_reached/i)) {
40477
40481
  return { status: "hold", reasonCode: "eval_org_agent_limit_reached" };
40478
40482
  }
40483
+ const agentMetadata = readExternalAgentMetadata(input.run.run_dir);
40484
+ const metadataBlockerCodes = agentMetadata.blocker_reason_codes;
40485
+ const hasMetadataBlocker = (pattern) => metadataBlockerCodes.some((reason) => pattern.test(reason));
40486
+ if (hasMetadataBlocker(/^customer_owned_requirement_unverified:/i)) {
40487
+ return { status: "hold", reasonCode: "customer_owned_requirements_unverified_expected_hold" };
40488
+ }
40489
+ if (hasMetadataBlocker(/^api_health:/i) && metadataBlockerCodes.some((reason) => /^customer_owned_requirement_unverified:/i.test(reason))) {
40490
+ return { status: "hold", reasonCode: "customer_owned_requirements_unverified_expected_hold" };
40491
+ }
40479
40492
  const lastMessage = readIfExists(input.run.outputs.last_message);
40480
40493
  const stderr = readIfExists(input.run.outputs.stderr);
40481
40494
  const combined = `${lastMessage}
@@ -41108,6 +41121,7 @@ function resolvePrivateRepoRoot(input) {
41108
41121
  }
41109
41122
  function promptVersionFromPath(promptPath) {
41110
41123
  const raw = (0, import_fs19.readFileSync)(promptPath, "utf8");
41124
+ if (raw.includes("arbitrary-agency setup context") || raw.includes("Mission: prove whether an arbitrary estate agency") || raw.includes("ops reporting agency-setup-preview")) return "arbitrary-agency-setup-release.v1";
41111
41125
  if (raw.includes("Do not assume access to the private source repository")) return "blank-setup.v1";
41112
41126
  return "unknown";
41113
41127
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@f-o-h/cli",
3
- "version": "0.1.77",
3
+ "version": "0.1.78",
4
4
  "description": "FOH CLI - AI-operator provisioning tool for Front Of House",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {