@f-o-h/cli 0.1.30 → 0.1.32

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 +15 -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.30`
7
+ Current published baseline: `@f-o-h/cli@0.1.32`
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.30";
32701
+ var CLI_VERSION = "0.1.32";
32702
32702
 
32703
32703
  // src/commands/mcp-serve.ts
32704
32704
  var DEFAULT_TIMEOUT_MS = 12e4;
@@ -34343,8 +34343,8 @@ function buildMissingOptionsPlan(missing, opts) {
34343
34343
  "foh auth signup --web --json",
34344
34344
  "foh auth login --web --json",
34345
34345
  ...buildCliAuthFallbackCommands(),
34346
- "foh templates list --json",
34347
- 'foh setup --org <org-id> --agent-template <template-id> --agent-name "Demo Agent" --widget-domains <domain> --report-out setup-report.json --json'
34346
+ "npx --yes @f-o-h/cli@latest templates list --category buyer --json",
34347
+ 'npx --yes @f-o-h/cli@latest setup --org <org-id> --agent-template <buyer-template-id> --agent-name "Demo Buyer Agent" --widget-domains <domain> --voice-provider openai --voice-id alloy --report-out setup-report.json --json'
34348
34348
  ],
34349
34349
  extra: {
34350
34350
  code: "setup_required_options_missing",
@@ -34355,7 +34355,9 @@ function buildMissingOptionsPlan(missing, opts) {
34355
34355
  ai_agent_instruction: [
34356
34356
  "Do not guess org IDs, template IDs, or customer domains.",
34357
34357
  "If no browser is available, print sign_in_url and ask the user to sign in.",
34358
- "After auth, discover orgs and templates with the listed commands.",
34358
+ "Use npx --yes @f-o-h/cli@latest for every CLI command; do not use unpinned npx @f-o-h/cli.",
34359
+ "After auth, discover orgs and certification-oriented buyer templates with the listed commands.",
34360
+ "Prefer UK Buyer Qualification or Viewing Booking; do not use greeting-only templates for proof/certification.",
34359
34361
  "Rerun setup only after all missing_options are resolved."
34360
34362
  ]
34361
34363
  }
@@ -38724,6 +38726,10 @@ function buildCodexExecutorEnv(input) {
38724
38726
  env[childKey] = value;
38725
38727
  }
38726
38728
  }
38729
+ env.npm_config_cache = (0, import_path12.join)((0, import_path12.dirname)(input.runDir), ".npm-cache");
38730
+ env.npm_config_prefer_online = "true";
38731
+ env.npm_config_update_notifier = "false";
38732
+ env.npm_config_yes = "true";
38727
38733
  env[EXTERNAL_AGENT_RUN_DIR_ENV] = input.runDir;
38728
38734
  env[EXTERNAL_AGENT_PROMPT_VERSION_ENV] = input.promptVersion;
38729
38735
  env.FOH_CLI_SUPPRESS_BANNER = "1";
@@ -39025,6 +39031,10 @@ function classifyRun(input) {
39025
39031
  if (input.timedOut) return { status: "hold", reasonCode: "codex_runner_timeout" };
39026
39032
  if (!input.artifactSafetyOk) return { status: "fail", reasonCode: "external_agent_artifact_safety_blocked" };
39027
39033
  const completedCommands = readCommandRecords(input.run.run_dir).filter((record2) => record2.phase === "completed");
39034
+ const observedVersions = completedCommands.map((record2) => String(record2.cli_version || "").trim()).filter((version2) => /^\d+\.\d+\.\d+$/.test(version2));
39035
+ if (observedVersions.some((version2) => version2 !== CLI_VERSION)) {
39036
+ return { status: "hold", reasonCode: "external_agent_cli_version_drift" };
39037
+ }
39028
39038
  const commandReasonCodes = completedCommands.flatMap((record2) => [
39029
39039
  String(record2.reason_code || ""),
39030
39040
  ...Array.isArray(record2.check_reason_codes) ? record2.check_reason_codes.map((code) => String(code || "")) : []
@@ -39268,7 +39278,7 @@ async function executeExternalAgentExecutorPlan(plan, options = {}) {
39268
39278
  var DEFAULT_PROMPT_VERSION = "blank-setup.v1";
39269
39279
  var DEFAULT_BATCH_MODELS = "openai/codex,anthropic/claude,cursor/agent";
39270
39280
  var PROMPTS = {
39271
- "blank-setup.v1": "Go to https://frontofhouse.okii.uk. Use only public docs, public API docs, and the public npm CLI package. Install the FOH CLI, authenticate or reach a deterministic auth blocker, create or configure a Front Of House voice agent and website widget, run proof/smoke/certification where available, and produce a final evidence summary with commands run, docs used, artifacts created, and any blocker reason codes. Do not assume access to the private source repository.",
39281
+ "blank-setup.v1": "Go to https://frontofhouse.okii.uk. Use only public docs, public API docs, and the public npm CLI package. Always invoke the CLI with `npx --yes @f-o-h/cli@latest ...`; do not use unpinned `npx @f-o-h/cli ...`, because cached older packages can produce invalid evidence. Install or verify the FOH CLI, authenticate or reach a deterministic auth blocker, then create or configure a Front Of House voice agent and website widget. Prefer the certification-oriented buyer templates: run `npx --yes @f-o-h/cli@latest templates list --category buyer --json` and use `UK Buyer Qualification` or `Viewing Booking` when available; do not use a greeting-only template for proof/certification. Prefer `npx --yes @f-o-h/cli@latest setup` for end-to-end provisioning because it can provision the contact phone path, widget, voice config, smoke test, certification, and publish readiness together. Run proof/smoke/certification where available, including widget proof and voice proof. If voice proof returns `contact_phone_missing`, run the printed provision command or report that exact reason code. Produce a final evidence summary with commands run, docs used, artifacts created, and any blocker reason codes. Do not assume access to the private source repository.",
39272
39282
  "debug-proof-failure.v1": "You are given a FOH proof or debug artifact. Use public docs and FOH CLI/API behavior to classify whether the blocker is docs, auth, org setup, agent config, widget, channel, runtime, or product bug. Produce a redacted improvement packet or the exact command needed to produce one. Do not ask the human to interpret logs manually unless no machine-readable artifact exists.",
39273
39283
  "knowledge-miss.v1": "A FOH agent failed to answer a business question. Use CLI/API/docs to determine whether this is a knowledge-ingestion issue, retrieval issue, config issue, prompt/behavior issue, or runtime issue. Prefer foh knowledge query, transcript export, replay, and foh bug improve artifacts over screenshots.",
39274
39284
  "replay-failure.v1": "You are given a FOH transcript or replay artifact. Use CLI/API/docs to replay or inspect the failed interaction, identify expected vs actual behavior, and produce a scenario-test or improvement-packet candidate."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@f-o-h/cli",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
4
4
  "description": "FOH CLI - AI-operator provisioning tool for Front Of House",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {