@pome-sh/cli 0.33.1 → 0.33.3

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "pome-sh",
3
- "version": "0.33.1",
4
- "git_sha": "15d61b80f3fb2ee0df893ca81c0c9e4d0afd0076",
5
- "build_time": "2026-08-28T11:26:59.938Z"
3
+ "version": "0.33.3",
4
+ "git_sha": "36fe4446b6e9ba8fa1c839cabeeae68e4b7fd929",
5
+ "build_time": "2026-08-28T12:24:00.501Z"
6
6
  }
@@ -4622,7 +4622,7 @@ var DEFAULT_AGENT_COMMAND = `node ${DEFAULT_AGENT_FILE}`;
4622
4622
  var MANIFEST_SCHEMA_URL = "https://pome.sh/schemas/v1/pome.json";
4623
4623
  var MAX_UNREADABLE_PATHS_SHOWN = 5;
4624
4624
  function readPackageVersion() {
4625
- if ("0.33.1".length > 0) return "0.33.1";
4625
+ if ("0.33.3".length > 0) return "0.33.3";
4626
4626
  try {
4627
4627
  const here = dirname(fileURLToPath(import.meta.url));
4628
4628
  const candidates = [
@@ -4888,7 +4888,7 @@ function createProgram() {
4888
4888
  "Write shell exports containing session secrets to a local file with mode 0600"
4889
4889
  ).option(
4890
4890
  "--format <fmt>",
4891
- "text (default) | json | env. env requires --secrets-file and is not printed.",
4891
+ "Output format: text, json, or env. env writes the exports to --secrets-file instead of printing them.",
4892
4892
  "text"
4893
4893
  ).action(
4894
4894
  async (opts) => {
@@ -4918,9 +4918,9 @@ function createProgram() {
4918
4918
  process.env.POME_API_URL ?? DEFAULT_CONTROL_PLANE_URL
4919
4919
  ).option("--limit <n>", "Max rows", "20").option(
4920
4920
  "--state <state>",
4921
- "Filter by session state: running (default) | ready | done | expired | all. `running` matches both server-side `ready` and `running` (dashboard collapses both into one column).",
4921
+ "Filter by sandbox state: running, ready, done, expired, or all. `running` also matches the server-side `ready` state, the way the dashboard shows them in one column.",
4922
4922
  "running"
4923
- ).option("--format <fmt>", "text | json", "text").action(
4923
+ ).option("--format <fmt>", "Output format: text or json", "text").action(
4924
4924
  async (opts) => {
4925
4925
  const validStates = [
4926
4926
  "running",
@@ -4974,25 +4974,25 @@ function createProgram() {
4974
4974
  );
4975
4975
  program.command("run").summary("Run a task and print the score").argument(
4976
4976
  "[path]",
4977
- 'Task markdown file or directory. Omit to run the demo task ("that was ours, run yours"): tasks/first-run-demo.md is dropped into your project on first use with runs: 5 pinned.'
4978
- ).option("--agent <command>", "Agent command to run").option(
4977
+ "Task markdown file or directory. Omit to run the demo task Pome copies into your project."
4978
+ ).option("--agent <command>", "Command that starts your agent.").option(
4979
4979
  "-n, --trials <count>",
4980
- "Run <count> isolated trials of the task as ONE trial group (integer 1-20; hosted only). Default is the task config's `runs` field (capped at 20). k>1 mints sessions with a shared group id up to your plan's concurrent-twin quota (remaining trials reuse slots as earlier trials finish), runs trials at that concurrency, prints the per-trial verdict table (numeric cloud-judge scores), and exits 0 iff at least one trial completed and every completed trial passed (1: a completed trial failed; 2: nothing completed). k=1 keeps today's single-run behavior exactly."
4980
+ "Number of trials to run as one group, 1 to 20. Hosted only; defaults to the task's `runs` field."
4981
4981
  ).option("--artifacts-dir <dir>", "Directory for run artifacts", "runs").option(
4982
4982
  "--api-url <url>",
4983
4983
  "Control-plane base URL.",
4984
4984
  process.env.POME_API_URL ?? DEFAULT_CONTROL_PLANE_URL
4985
- ).option("--agent-model <name>", "Informational; recorded on the cloud run.", "unknown").option(
4985
+ ).option("--agent-model <name>", "Informational; model name recorded on the run.", "unknown").option(
4986
4986
  "--agent-version <version>",
4987
- "Override the manifest's agent.version for this run (stamped on the session/run)."
4987
+ "Override the manifest's agent.version."
4988
4988
  ).option(
4989
4989
  "--no-capture",
4990
- "Self-host only: skip spawning the capture-server child and don't inject HTTP_PROXY/HTTPS_PROXY into the agent. Used by the CI overhead gate to baseline proxy-on-vs-off latency. No-op on hosted runs."
4990
+ "Self-host only: skip the capture proxy, so model calls are not recorded. Ignored on hosted runs."
4991
4991
  ).option(
4992
4992
  "--local",
4993
- "Self-host: run against an in-process twin and CAPTURE a raw trace only (an audit log \u2014 no score, no verdict, no judge). A verdict comes from the cloud: run `pome eval <run-dir>` on the captured trace, or `pome login` and run against Pome cloud."
4993
+ "Self-host: record a trace against an in-process twin, with no score. Score it with `pome eval`."
4994
4994
  ).description(
4995
- 'Run one or more Pome tasks. With no path, runs the demo task (tasks/first-run-demo.md, copied into your project on first use \u2014 "that was ours, run yours"). Refuses to start if the doctor wiring checks fail (see `pome doctor`); there is no --force.'
4995
+ "Run a task, or every task in a directory, and print the score. With no path, runs the demo task Pome copies into your project on first use. Refuses to start when `pome doctor` fails, and there is no --force. See `pome docs cli-run` for trial groups and exit codes."
4996
4996
  ).action(
4997
4997
  async (target, options) => {
4998
4998
  let trialsFlag;
@@ -5191,7 +5191,7 @@ function createProgram() {
5191
5191
  process.env.POME_API_BASE ?? process.env.POME_API_URL ?? DEFAULT_CONTROL_PLANE_URL
5192
5192
  ).option(
5193
5193
  "--trials <n>",
5194
- "Number of isolated trials (default 5 per the packaged demo).",
5194
+ "Number of trials to run, 1 to 10",
5195
5195
  "5"
5196
5196
  ).option("--artifacts-dir <dir>", "Directory for run artifacts", "runs").action(
5197
5197
  async (opts) => {
@@ -5408,7 +5408,9 @@ function createProgram() {
5408
5408
  const { runTwinSeedCommand } = await import('../../twinSeed-2MRVMNIT.js');
5409
5409
  await runTwinSeedCommand(names, options);
5410
5410
  });
5411
- twin.command("reset").argument("[name]", "Twin name (default: github)", "github").description("Reset standalone twin state").action(async (name) => {
5411
+ twin.command("reset").argument("[name]", "Twin name", "github").summary("Reset a twin's saved state").description(
5412
+ "Delete the twin's database under `.pome/` or `.pome-data/`, and `.pome/twin-status.json`, the one file `pome twin status` reads for every twin. A twin holding its state in memory has nothing to delete."
5413
+ ).action(async (name) => {
5412
5414
  if (!isTwinName(name)) {
5413
5415
  throw new Error(`Unknown twin '${name}'. Supported: ${TWIN_NAME_LIST.join(", ")}.`);
5414
5416
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pome-sh/cli",
3
- "version": "0.33.1",
3
+ "version": "0.33.3",
4
4
  "description": "Test AI agents against digital twins of real SaaS APIs. Records tool-call traces and scores them on pome.sh.",
5
5
  "keywords": [
6
6
  "ai",