@f-o-h/cli 0.1.32 → 0.1.34

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 +18 -3
  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.32`
7
+ Current published baseline: `@f-o-h/cli@0.1.34`
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
@@ -32698,7 +32698,7 @@ var StdioServerTransport = class {
32698
32698
  };
32699
32699
 
32700
32700
  // src/lib/cli-version.ts
32701
- var CLI_VERSION = "0.1.32";
32701
+ var CLI_VERSION = "0.1.34";
32702
32702
 
32703
32703
  // src/commands/mcp-serve.ts
32704
32704
  var DEFAULT_TIMEOUT_MS = 12e4;
@@ -36500,8 +36500,11 @@ function inferReasonCode(artifact) {
36500
36500
  function inferPromotionDecision(sourceType, reasonCode) {
36501
36501
  const reason = String(reasonCode || "").toLowerCase();
36502
36502
  if (sourceType === "external_agent_run") {
36503
+ if (reason.includes("friendlyname") || reason.includes("api") || reason.includes("500")) return "fix_api";
36504
+ if (reason.includes("contact_phone") || reason.includes("voice_contact") || reason.includes("voice_not_included") || reason.includes("agent_limit") || reason.includes("org_") || reason.includes("template_apply")) return "fix_config";
36503
36505
  if (reason.includes("exec_policy") || reason.includes("policy_blocked") || reason.includes("auth") || reason.includes("config")) return "fix_config";
36504
36506
  if (reason.includes("cli") || reason.includes("command") || reason.includes("flag")) return "fix_cli";
36507
+ if (reason.includes("proof") || reason.includes("certification") || reason.includes("simulation")) return "add_test";
36505
36508
  return "fix_docs";
36506
36509
  }
36507
36510
  if (sourceType === "knowledge_miss") return "fix_docs";
@@ -37152,14 +37155,20 @@ function registerProve(program3) {
37152
37155
  apiUrlOverride: opts.apiUrl
37153
37156
  });
37154
37157
  const phoneNumber = typeof onboarding.phone_number === "string" && onboarding.phone_number.trim() ? onboarding.phone_number.trim() : null;
37158
+ const provisioningStatus = typeof onboarding.provisioning_status === "string" ? onboarding.provisioning_status : null;
37155
37159
  if (phoneNumber) {
37156
37160
  checks.push(pass("contact_channel", "Contact phone number is provisioned.", {
37157
37161
  phone_number_present: true,
37158
- provisioning_status: onboarding.provisioning_status ?? null
37162
+ provisioning_status: provisioningStatus
37163
+ }));
37164
+ } else if (provisioningStatus === "failed" && (opts.requirePhone || mission === "voice")) {
37165
+ checks.push(hold("contact_channel", "contact_phone_provisioning_failed", "Phone/contact provisioning failed for this org.", `foh provision status --org ${ctx.orgId} --json`, {
37166
+ provisioning_status: provisioningStatus,
37167
+ mission
37159
37168
  }));
37160
37169
  } else if (opts.requirePhone || mission === "voice") {
37161
37170
  checks.push(hold("contact_channel", "contact_phone_missing", "No phone/contact number is provisioned for this org.", `foh provision buy --org ${ctx.orgId} --json`, {
37162
- provisioning_status: onboarding.provisioning_status ?? null,
37171
+ provisioning_status: provisioningStatus,
37163
37172
  mission
37164
37173
  }));
37165
37174
  } else {
@@ -39040,6 +39049,9 @@ function classifyRun(input) {
39040
39049
  ...Array.isArray(record2.check_reason_codes) ? record2.check_reason_codes.map((code) => String(code || "")) : []
39041
39050
  ]).filter(Boolean);
39042
39051
  const hasCommandReason = (pattern) => commandReasonCodes.some((reason) => pattern.test(reason));
39052
+ if (hasCommandReason(/contact_phone_provisioning_failed/i)) {
39053
+ return { status: "hold", reasonCode: "voice_contact_phone_provisioning_failed" };
39054
+ }
39043
39055
  if (hasCommandReason(/contact_phone_missing/i)) {
39044
39056
  return { status: "hold", reasonCode: "voice_contact_phone_missing" };
39045
39057
  }
@@ -39068,6 +39080,9 @@ ${stderr}`;
39068
39080
  if (/ENV_NETWORK_DNS_BLOCK|Could not resolve host|npm ping.*timeout|NO_EXECUTABLE_INSTALL/i.test(combined)) {
39069
39081
  return { status: "hold", reasonCode: "codex_network_dns_blocked" };
39070
39082
  }
39083
+ if (/contact_phone_provisioning_failed/i.test(combined)) {
39084
+ return { status: "hold", reasonCode: "voice_contact_phone_provisioning_failed" };
39085
+ }
39071
39086
  if (/contact_phone_missing/i.test(combined)) {
39072
39087
  return { status: "hold", reasonCode: "voice_contact_phone_missing" };
39073
39088
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@f-o-h/cli",
3
- "version": "0.1.32",
3
+ "version": "0.1.34",
4
4
  "description": "FOH CLI - AI-operator provisioning tool for Front Of House",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {