@pome-sh/cli 0.38.0 → 0.39.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "pome-sh",
3
- "version": "0.38.0",
4
- "git_sha": "cf682a4d73f8a19d38a0d6a934fdef5eae82bb50",
5
- "build_time": "2026-08-30T04:48:25.959Z"
3
+ "version": "0.39.0",
4
+ "git_sha": "ba0167a6952cd2e837514246b574e2bd2465ed19",
5
+ "build_time": "2026-08-30T05:01:31.878Z"
6
6
  }
@@ -9,7 +9,7 @@ import '../../chunk-PASFBRK4.js';
9
9
  import { LINEAR_CHECKS } from '../../chunk-TSOSDKXP.js';
10
10
  import '../../chunk-3FZY376K.js';
11
11
  import '../../chunk-5NPGY73F.js';
12
- import { TWIN_NAME_LIST, isTwinName, createGitHubSmokeApp } from '../../chunk-RPPF2KDQ.js';
12
+ import { TWIN_NAME_LIST, createGitHubSmokeApp } from '../../chunk-RPPF2KDQ.js';
13
13
  import { readManifest, writeManifest, MANIFEST_JSON, readRequiredManifest, normalizeManifestTwins } from '../../chunk-DFOQGAKS.js';
14
14
  import '../../chunk-XDU6TD4O.js';
15
15
  import { MOUNTED_TWINS, deriveAgentSlug, exitCodeFor, HostedUsageError, HostedOrchError } from '../../chunk-NNXVR46L.js';
@@ -26,7 +26,7 @@ import '../../chunk-2K6BJ3PI.js';
26
26
  import '../../chunk-FBSA5L36.js';
27
27
  import { Command } from 'commander';
28
28
  import { existsSync, readFileSync, realpathSync, statSync, constants } from 'node:fs';
29
- import { mkdir, readFile, rm, writeFile, readdir, copyFile, stat, cp } from 'node:fs/promises';
29
+ import { mkdir, readFile, writeFile, readdir, copyFile, stat, cp } from 'node:fs/promises';
30
30
  import { dirname, resolve, join, basename, relative, extname } from 'node:path';
31
31
  import { fileURLToPath } from 'node:url';
32
32
  import { execFile } from 'node:child_process';
@@ -4575,7 +4575,7 @@ function firstSentence(description) {
4575
4575
  function resolveExampleRef(env = process.env) {
4576
4576
  const override = env.POME_EXAMPLE_REF?.trim();
4577
4577
  if (override) return override;
4578
- const baked = "cf682a4d73f8a19d38a0d6a934fdef5eae82bb50".trim() ;
4578
+ const baked = "ba0167a6952cd2e837514246b574e2bd2465ed19".trim() ;
4579
4579
  return FULL_SHA.test(baked) ? baked : "main";
4580
4580
  }
4581
4581
  function rawUrlFor(example, file, ref) {
@@ -4929,7 +4929,7 @@ var DEFAULT_AGENT_COMMAND = `node ${DEFAULT_AGENT_FILE}`;
4929
4929
  var MANIFEST_SCHEMA_URL = "https://pome.sh/schemas/v1/pome.json";
4930
4930
  var MAX_UNREADABLE_PATHS_SHOWN = 5;
4931
4931
  function readPackageVersion() {
4932
- if ("0.38.0".length > 0) return "0.38.0";
4932
+ if ("0.39.0".length > 0) return "0.39.0";
4933
4933
  try {
4934
4934
  const here = dirname(fileURLToPath(import.meta.url));
4935
4935
  const candidates = [
@@ -5703,7 +5703,7 @@ function createProgram() {
5703
5703
  })
5704
5704
  );
5705
5705
  });
5706
- const twin = program.command("twin").summary("Run a twin on this machine").description("Start and reset a twin on this machine, print its status or a starter seed file");
5706
+ const twin = program.command("twin").summary("Run a twin on this machine").description("Start a twin on this machine, print its status or a starter seed file");
5707
5707
  twin.command("start").argument(
5708
5708
  "[name]",
5709
5709
  `Twin name (${TWIN_NAME_LIST.join(" | ")}). Optional when --seed names exactly one twin.`
@@ -5728,21 +5728,6 @@ function createProgram() {
5728
5728
  const { runTwinSeedCommand } = await import('../../twinSeed-7M4GOIBS.js');
5729
5729
  await runTwinSeedCommand(names, options);
5730
5730
  });
5731
- twin.command("reset").argument("[name]", "Twin name", "github").summary("Reset a twin's saved state").description(
5732
- "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."
5733
- ).action(async (name) => {
5734
- if (!isTwinName(name)) {
5735
- throw new Error(`Unknown twin '${name}'. Supported: ${TWIN_NAME_LIST.join(", ")}.`);
5736
- }
5737
- const dbPaths = name === "gmail" ? [".pome/gmail.db", ".pome-data/gmail/gmail.db"] : [`.pome/${name}.db`, `.pome-data/${name}/${name}.db`];
5738
- for (const dbPath of dbPaths) {
5739
- await rm(dbPath, { force: true });
5740
- await rm(`${dbPath}-wal`, { force: true });
5741
- await rm(`${dbPath}-shm`, { force: true });
5742
- }
5743
- await rm(".pome/twin-status.json", { force: true });
5744
- console.log(`Standalone ${name} twin state reset.`);
5745
- });
5746
5731
  twin.command("status").description("Print standalone twin status").action(async () => {
5747
5732
  if (!existsSync(".pome/twin-status.json")) {
5748
5733
  console.log("No standalone twin status found.");
@@ -5750,15 +5735,6 @@ function createProgram() {
5750
5735
  }
5751
5736
  console.log(await import('node:fs/promises').then((fs) => fs.readFile(".pome/twin-status.json", "utf8")));
5752
5737
  });
5753
- program.command("endpoints").summary("List a twin's endpoints").argument("<name>", "Twin name").description("List the endpoints the github or gmail twin serves").action((name) => {
5754
- const endpoints = name === "github" ? SUPPORTED_GITHUB_ENDPOINTS : name === "gmail" ? SUPPORTED_GMAIL_ENDPOINTS : null;
5755
- if (!endpoints) {
5756
- throw new Error("Endpoint listing is available for: github, gmail.");
5757
- }
5758
- for (const endpoint of endpoints) {
5759
- console.log(`${endpoint} semantic`);
5760
- }
5761
- });
5762
5738
  program.command("capture-server").summary("Record the agent's model calls").description(
5763
5739
  "Boot an HTTP CONNECT-tunnel proxy that appends one LlmCallEvent per tunnel to events.jsonl. Spawned by `pome run`; agent traffic flows via HTTPS_PROXY."
5764
5740
  ).option("--port <port>", "TCP port to listen on (0 = ephemeral).", "8910").option(
@@ -5798,43 +5774,6 @@ function createProgram() {
5798
5774
  });
5799
5775
  return program;
5800
5776
  }
5801
- var SUPPORTED_GITHUB_ENDPOINTS = [
5802
- "GET /repos/:owner/:repo",
5803
- "GET /repos/:owner/:repo/issues",
5804
- "GET /repos/:owner/:repo/issues/:number",
5805
- "PATCH /repos/:owner/:repo/issues/:number",
5806
- "POST /repos/:owner/:repo/issues/:number/comments",
5807
- "GET /repos/:owner/:repo/labels",
5808
- "POST /repos/:owner/:repo/labels",
5809
- "GET /repos/:owner/:repo/issues/:number/labels",
5810
- "POST /repos/:owner/:repo/issues/:number/labels",
5811
- "DELETE /repos/:owner/:repo/issues/:number/labels/:name",
5812
- "GET /repos/:owner/:repo/collaborators",
5813
- "POST /repos/:owner/:repo/issues/:number/assignees"
5814
- ];
5815
- var SUPPORTED_GMAIL_ENDPOINTS = [
5816
- "GET /gmail/v1/users/:userId/profile",
5817
- "GET|POST /gmail/v1/users/:userId/messages",
5818
- "GET|DELETE /gmail/v1/users/:userId/messages/:id",
5819
- "POST /gmail/v1/users/:userId/messages/{send,import,batchModify,batchDelete}",
5820
- "POST /gmail/v1/users/:userId/messages/:id/{modify,trash,untrash}",
5821
- "GET /gmail/v1/users/:userId/messages/:messageId/attachments/:id",
5822
- "GET|POST /gmail/v1/users/:userId/drafts",
5823
- "GET|PUT|DELETE /gmail/v1/users/:userId/drafts/:id",
5824
- "POST /gmail/v1/users/:userId/drafts/send",
5825
- "GET /gmail/v1/users/:userId/threads",
5826
- "GET|DELETE /gmail/v1/users/:userId/threads/:id",
5827
- "POST /gmail/v1/users/:userId/threads/:id/{modify,trash,untrash}",
5828
- "GET|POST /gmail/v1/users/:userId/labels",
5829
- "GET|PUT|PATCH|DELETE /gmail/v1/users/:userId/labels/:id",
5830
- "GET /gmail/v1/users/:userId/history",
5831
- "GET|POST /gmail/v1/users/:userId/settings/filters",
5832
- "GET|DELETE /gmail/v1/users/:userId/settings/filters/:id",
5833
- "GET /gmail/v1/users/:userId/settings/{forwardingAddresses,sendAs}",
5834
- "GET /gmail/v1/users/:userId/settings/forwardingAddresses/:email",
5835
- "GET /gmail/v1/users/:userId/settings/sendAs/:email",
5836
- "POST /upload/gmail/v1/users/:userId/{messages,drafts} (media|multipart)"
5837
- ];
5838
5777
  async function taskFiles(target) {
5839
5778
  const resolved = resolve(target);
5840
5779
  if (!existsSync(resolved)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pome-sh/cli",
3
- "version": "0.38.0",
3
+ "version": "0.39.0",
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",