@pome-sh/cli 0.23.8 → 0.23.9

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.23.8",
4
- "git_sha": "868105c982912eb0f5a95ab65f4a8153e73b4a33",
5
- "build_time": "2026-08-10T21:34:22.900Z"
3
+ "version": "0.23.9",
4
+ "git_sha": "67e57371305bb032008c357cd29fe817593b9fb8",
5
+ "build_time": "2026-08-11T00:20:04.114Z"
6
6
  }
@@ -183,7 +183,7 @@ async function checkTwinReachable(_configDir) {
183
183
  });
184
184
  let harness;
185
185
  try {
186
- const { bootTwin } = await import('./twinHarness-K6LAPTBC.js');
186
+ const { bootTwin } = await import('./twinHarness-5ZQMXYHU.js');
187
187
  harness = await bootTwin({
188
188
  twin: "github",
189
189
  seedState: void 0,
@@ -1,7 +1,7 @@
1
1
  import { getAvailablePort } from './chunk-XDU6TD4O.js';
2
2
  import { buildEgressAllowlist, readBlockedEgress } from './chunk-CBFKZZBR.js';
3
- import { parseTaskFile, seedStateForTwin, runAgentCommand, writeRunArtifactsCore } from './chunk-XJUBS2CV.js';
4
- import { createRecorder, bootTwin } from './chunk-S54BIYLZ.js';
3
+ import { parseTaskFile, seedStateForTwin, runAgentCommand, writeRunArtifactsCore } from './chunk-ZRDVM4QC.js';
4
+ import { createRecorder, bootTwin } from './chunk-FLGJ5GBX.js';
5
5
  import { eventSchema } from './chunk-VBATFCWR.js';
6
6
  import { redactSecrets, redactEvent } from './chunk-SG6ZTIMT.js';
7
7
  import { serve } from '@hono/node-server';
@@ -1,4 +1,4 @@
1
- import { TWIN_NAMES, isTwinName, TWIN_REGISTRY } from './chunk-HRHFPIK3.js';
1
+ import { TWIN_NAMES, isTwinName, TWIN_REGISTRY } from './chunk-IG76HVJS.js';
2
2
  import { createFileBackedRecorderStore, createRecorderStore } from './chunk-TV5S6WQV.js';
3
3
 
4
4
  // src/recorder/recorder.ts
@@ -1,5 +1,5 @@
1
1
  import { readManifest, normalizeManifestTwins } from './chunk-XOWIA7NR.js';
2
- import { createHostedClient, perTwinReturnedByCloud, parseTaskFile, runAgentCommand, writeRunArtifactsCore, toTwinHttpEvent, redactJsonl, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, evaluationCounts } from './chunk-XJUBS2CV.js';
2
+ import { createHostedClient, perTwinReturnedByCloud, parseTaskFile, runAgentCommand, writeRunArtifactsCore, toTwinHttpEvent, redactJsonl, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, evaluationCounts } from './chunk-ZRDVM4QC.js';
3
3
  import { MOUNTED_TWINS, HostedAuthError, HostedDiscardRefusedError, HostedQuotaError, HostedOrchError, HostedTrialError, agentResponseSchema } from './chunk-7AMIVWUB.js';
4
4
  import { redactSecrets, redactEvent } from './chunk-SG6ZTIMT.js';
5
5
  import { existsSync } from 'node:fs';
@@ -1,6 +1,6 @@
1
1
  // ../packages/twin-github/package.json
2
2
  var package_default = {
3
- version: "0.10.3"};
3
+ version: "0.10.4"};
4
4
 
5
5
  // ../packages/twin-slack/package.json
6
6
  var package_default2 = {
@@ -39,7 +39,7 @@ var TWIN_REGISTRY = {
39
39
  defaultSeedState,
40
40
  GitHubDomain,
41
41
  openGitHubCloneDatabase
42
- } = await import('./src-UYWCHESS.js');
42
+ } = await import('./src-LX2POCA3.js');
43
43
  const db = openGitHubCloneDatabase();
44
44
  const domain = new GitHubDomain(db);
45
45
  domain.seed(seedState === void 0 ? defaultSeedState() : seedState);
@@ -173,7 +173,7 @@ var TWIN_REGISTRY = {
173
173
  }
174
174
  };
175
175
  async function createGitHubSmokeApp() {
176
- const { createGitHubCloneApp } = await import('./src-UYWCHESS.js');
176
+ const { createGitHubCloneApp } = await import('./src-LX2POCA3.js');
177
177
  return createGitHubCloneApp();
178
178
  }
179
179
  function defaultPortFor(twin, env = process.env) {
@@ -2,7 +2,7 @@ import { criterionSchema, finalizeResponseSchema, HostedDiscardRefusedError, Hos
2
2
  import { seedSchema, parseSeed, defaultSeedState as defaultSeedState$2 } from './chunk-KIUIKAVU.js';
3
3
  import { gmailSeedSchema, defaultSeedState } from './chunk-NJ246QPJ.js';
4
4
  import { linearSeedSchema, defaultSeedState as defaultSeedState$1 } from './chunk-ZKID2HS3.js';
5
- import { isTwinName, TWIN_REGISTRY } from './chunk-HRHFPIK3.js';
5
+ import { isTwinName, TWIN_REGISTRY } from './chunk-IG76HVJS.js';
6
6
  import { toTwinHttpEventRow } from './chunk-TV5S6WQV.js';
7
7
  import { redactEvent, redactSecrets } from './chunk-SG6ZTIMT.js';
8
8
  import { mkdir, appendFile, writeFile, readFile } from 'node:fs/promises';
@@ -1,16 +1,16 @@
1
1
  import { newGroupId, reassuranceBox, twinReadyLine, trialsHeaderLine, trialLine, summaryLines, evaluatingLine, criterionPhrase } from './chunk-RGZBC7NF.js';
2
2
  import { DemoCapacityError, capacityLabel, parseCapacityMarker, capacityKindFrom } from './chunk-ZX4WNSZ5.js';
3
- import { runTask, demoTaskPath, DEMO_TASK_NAME, DEMO_REPO } from './chunk-7EHEN7PQ.js';
3
+ import { runTask, demoTaskPath, DEMO_TASK_NAME, DEMO_REPO } from './chunk-3SOI5EKJ.js';
4
4
  import { getAvailablePort } from './chunk-XDU6TD4O.js';
5
5
  import './chunk-CBFKZZBR.js';
6
- import { createHostedClient, parseTaskFile, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, outcomeOf } from './chunk-XJUBS2CV.js';
6
+ import { createHostedClient, parseTaskFile, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, outcomeOf } from './chunk-ZRDVM4QC.js';
7
7
  import './chunk-NW7HGA2K.js';
8
8
  import { HostedQuotaError, HostedOrchError } from './chunk-7AMIVWUB.js';
9
9
  import './chunk-KIUIKAVU.js';
10
10
  import './chunk-NJ246QPJ.js';
11
11
  import './chunk-ZKID2HS3.js';
12
- import { bootTwin } from './chunk-S54BIYLZ.js';
13
- import './chunk-HRHFPIK3.js';
12
+ import { bootTwin } from './chunk-FLGJ5GBX.js';
13
+ import './chunk-IG76HVJS.js';
14
14
  import './chunk-TV5S6WQV.js';
15
15
  import './chunk-VBATFCWR.js';
16
16
  import './chunk-SG6ZTIMT.js';
@@ -1,13 +1,13 @@
1
1
  import { newGroupId, criterionPhrase } from './chunk-RGZBC7NF.js';
2
- import { runTaskHosted, resolveRunAgentIdentity } from './chunk-6NLZUM3Y.js';
2
+ import { runTaskHosted, resolveRunAgentIdentity } from './chunk-GYKU53JU.js';
3
3
  import './chunk-XOWIA7NR.js';
4
- import { createHostedClient, parseTaskFile, outcomeOf } from './chunk-XJUBS2CV.js';
4
+ import { createHostedClient, parseTaskFile, outcomeOf } from './chunk-ZRDVM4QC.js';
5
5
  import './chunk-NW7HGA2K.js';
6
6
  import { HostedQuotaError, HostedTrialError } from './chunk-7AMIVWUB.js';
7
7
  import './chunk-KIUIKAVU.js';
8
8
  import './chunk-NJ246QPJ.js';
9
9
  import './chunk-ZKID2HS3.js';
10
- import './chunk-HRHFPIK3.js';
10
+ import './chunk-IG76HVJS.js';
11
11
  import './chunk-TV5S6WQV.js';
12
12
  import './chunk-VBATFCWR.js';
13
13
  import './chunk-SG6ZTIMT.js';
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { DEFAULT_CONTROL_PLANE_URL, DEFAULT_DASHBOARD_URL, clearLocalCredentials, friendlyHostedError, runSessionCreate, runSessionList, runSessionStop, resolveCredentials, runTaskHosted, discoverRunSet, VERDICT_ARTIFACT_VERSION, loadTrialEvents, persistCredentialsAfterLogin, DEFAULT_DOCS_SITE_ORIGIN, resolveSeams, resolveCachedAgentId, readLinkCache, postAgentResolver, writeLinkCache, ensurePomeGitignored } from '../../chunk-6NLZUM3Y.js';
2
+ import { DEFAULT_CONTROL_PLANE_URL, DEFAULT_DASHBOARD_URL, clearLocalCredentials, friendlyHostedError, runSessionCreate, runSessionList, runSessionStop, resolveCredentials, runTaskHosted, discoverRunSet, VERDICT_ARTIFACT_VERSION, loadTrialEvents, persistCredentialsAfterLogin, DEFAULT_DOCS_SITE_ORIGIN, resolveSeams, resolveCachedAgentId, readLinkCache, postAgentResolver, writeLinkCache, ensurePomeGitignored } from '../../chunk-GYKU53JU.js';
3
3
  import { readManifest, writeManifest, MANIFEST_JSON, readRequiredManifest, normalizeManifestTwins } from '../../chunk-XOWIA7NR.js';
4
- import { assetPath, runTask, resolvePackageRoot, DEMO_TASK_NAME, demoTaskPath } from '../../chunk-7EHEN7PQ.js';
4
+ import { assetPath, runTask, resolvePackageRoot, DEMO_TASK_NAME, demoTaskPath } from '../../chunk-3SOI5EKJ.js';
5
5
  import '../../chunk-XDU6TD4O.js';
6
6
  import '../../chunk-CBFKZZBR.js';
7
- import { parseTaskFile, scoreStatus, runScoreLine, readLatestRun, readMetaSummary, outcomeOf, readConfigTwins, scoreCountsSummary, markerFor, criterionMarkerLabel, twinSkipSuffix, readCodeCriteria, createHostedClient, toTwinHttpEvent, redactJsonl, scoreFromFinalizeResponse, parseGitHubSeedState, uploadRunBlobs, isPreSatisfied } from '../../chunk-XJUBS2CV.js';
7
+ import { parseTaskFile, scoreStatus, runScoreLine, readLatestRun, readMetaSummary, outcomeOf, readConfigTwins, scoreCountsSummary, markerFor, criterionMarkerLabel, twinSkipSuffix, readCodeCriteria, createHostedClient, toTwinHttpEvent, redactJsonl, scoreFromFinalizeResponse, parseGitHubSeedState, uploadRunBlobs, isPreSatisfied } from '../../chunk-ZRDVM4QC.js';
8
8
  import '../../chunk-NW7HGA2K.js';
9
9
  import { MOUNTED_TWINS, deriveAgentSlug, exitCodeFor, HostedUsageError, HostedOrchError, HostedAuthError, HostedQuotaError } from '../../chunk-7AMIVWUB.js';
10
10
  import { TAPE_ASSERTABLE_TOOLS } from '../../chunk-FKZZWWYC.js';
@@ -15,8 +15,8 @@ import '../../chunk-NJ246QPJ.js';
15
15
  import { LINEAR_CHECKS } from '../../chunk-XBT6ZLBG.js';
16
16
  import '../../chunk-ZKID2HS3.js';
17
17
  import { oneOf, defineCheck, repoRef, VACUITY_SENTINEL_NUMBER, childStatePath, VACUITY_SENTINEL, statePath, templateSlots, renderCheck, checksDigest, checkPattern, checkNearMissPattern } from '../../chunk-JWJYNAWI.js';
18
- import '../../chunk-S54BIYLZ.js';
19
- import { TWIN_NAME_LIST, isTwinName, createGitHubSmokeApp } from '../../chunk-HRHFPIK3.js';
18
+ import '../../chunk-FLGJ5GBX.js';
19
+ import { TWIN_NAME_LIST, isTwinName, createGitHubSmokeApp } from '../../chunk-IG76HVJS.js';
20
20
  import '../../chunk-TV5S6WQV.js';
21
21
  import { isLegacyEventRow, eventSchema } from '../../chunk-VBATFCWR.js';
22
22
  import { redactEvent, redactSecrets } from '../../chunk-SG6ZTIMT.js';
@@ -850,7 +850,7 @@ async function throwForStatus(res) {
850
850
 
851
851
  // src/task/seed-verifier.ts
852
852
  async function verifySeedWithTwin(seed) {
853
- const { GitHubDomain, openGitHubCloneDatabase } = await import('../../src-UYWCHESS.js');
853
+ const { GitHubDomain, openGitHubCloneDatabase } = await import('../../src-LX2POCA3.js');
854
854
  const db = openGitHubCloneDatabase(":memory:");
855
855
  try {
856
856
  new GitHubDomain(db).seed(seed);
@@ -4521,7 +4521,7 @@ var DEFAULT_AGENT_FILE = "examples/agents/scripted-triage-agent.ts";
4521
4521
  var DEFAULT_AGENT_COMMAND = `node ${DEFAULT_AGENT_FILE}`;
4522
4522
  var MANIFEST_SCHEMA_URL = "https://pome.sh/schemas/v1/pome.json";
4523
4523
  function readPackageVersion() {
4524
- if ("0.23.8".length > 0) return "0.23.8";
4524
+ if ("0.23.9".length > 0) return "0.23.9";
4525
4525
  try {
4526
4526
  const here = dirname(fileURLToPath(import.meta.url));
4527
4527
  const candidates = [
@@ -4976,7 +4976,7 @@ function createProgram() {
4976
4976
  return;
4977
4977
  }
4978
4978
  {
4979
- const { runDoctorChecks } = await import('../../checks-TLWGOQJJ.js');
4979
+ const { runDoctorChecks } = await import('../../checks-V76LVIJE.js');
4980
4980
  const { renderDoctorReport } = await import('../../render-ZQQ4UMNO.js');
4981
4981
  const doctorReport = await runDoctorChecks({ mode: useLocal ? "full" : "hosted" });
4982
4982
  if (!doctorReport.ok) {
@@ -5014,7 +5014,7 @@ function createProgram() {
5014
5014
  taskForRuns.config.runs
5015
5015
  );
5016
5016
  if (k > 1) {
5017
- const { runTrialGroup } = await import('../../runTrialGroup-6LI6FB72.js');
5017
+ const { runTrialGroup } = await import('../../runTrialGroup-2NYQU3CM.js');
5018
5018
  const fileForRerun = relative(process.cwd(), file);
5019
5019
  const rerunCommand = defaultTask ? options.trials !== void 0 ? `pome run -n ${k}` : "pome run" : `pome run ${fileForRerun && !fileForRerun.startsWith("..") ? fileForRerun : file} -n ${k}`;
5020
5020
  const groupResult = await runTrialGroup({
@@ -5108,7 +5108,7 @@ function createProgram() {
5108
5108
  process.exitCode = 5;
5109
5109
  return;
5110
5110
  }
5111
- const { runDemo } = await import('../../runDemo-FVISANBG.js');
5111
+ const { runDemo } = await import('../../runDemo-QWCVL772.js');
5112
5112
  const result = await runDemo({
5113
5113
  apiBase: opts.apiUrl.replace(/\/$/, ""),
5114
5114
  dashboardBase: process.env.POME_DASHBOARD_URL ?? DEFAULT_DASHBOARD_URL,
@@ -5126,7 +5126,7 @@ function createProgram() {
5126
5126
  program.command("doctor").description(
5127
5127
  "Check the agent\u2194twin wiring: pome.json (or pome.yaml) present + valid, the local twin boots + serves, requests routed to the twin (not a hardcoded production host), egress floor active. On failure prints one named cause (file:line where knowable) + one concrete fix and exits non-zero."
5128
5128
  ).action(async () => {
5129
- const { runDoctorChecks } = await import('../../checks-TLWGOQJJ.js');
5129
+ const { runDoctorChecks } = await import('../../checks-V76LVIJE.js');
5130
5130
  const { renderDoctorReport } = await import('../../render-ZQQ4UMNO.js');
5131
5131
  const report = await runDoctorChecks();
5132
5132
  for (const line of renderDoctorReport(report, { passNote: true })) console.error(line);
@@ -5290,7 +5290,7 @@ function createProgram() {
5290
5290
  ).description(
5291
5291
  "Start a standalone twin as a long-lived foreground server (Ctrl-C to stop)"
5292
5292
  ).action(async (name, options) => {
5293
- const { runTwinStartCommand } = await import('../../twinStart-YNQLSQOY.js');
5293
+ const { runTwinStartCommand } = await import('../../twinStart-DI4PUPQ2.js');
5294
5294
  await runTwinStartCommand(name, options);
5295
5295
  });
5296
5296
  twin.command("reset").argument("[name]", "Twin name (default: github)", "github").description("Reset standalone twin state").action(async (name) => {
@@ -2625,8 +2625,9 @@ function createIssue(domain, input, onDelta) {
2625
2625
  function listIssues(domain, input) {
2626
2626
  const repo = domain.requireRepo(input.owner, input.repo);
2627
2627
  let rows = domain.listIssuesRows(repo.id);
2628
- if (input.state && input.state !== "all")
2629
- rows = rows.filter((issue) => issue.state === input.state);
2628
+ const state = input.state ?? "open";
2629
+ if (state !== "all")
2630
+ rows = rows.filter((issue) => issue.state === state);
2630
2631
  if (input.labels) {
2631
2632
  const wanted = input.labels.split(",").map((label) => label.trim()).filter(Boolean);
2632
2633
  rows = rows.filter((issue) => {
@@ -2801,8 +2802,9 @@ function deleteIssueComment(domain, input, onDelta) {
2801
2802
  function listMilestones(domain, input) {
2802
2803
  const repo = domain.requireRepo(input.owner, input.repo);
2803
2804
  let rows = domain.db.prepare("SELECT * FROM milestones WHERE repo_id = ? ORDER BY number ASC").all(repo.id);
2804
- if (input.state && input.state !== "all")
2805
- rows = rows.filter((milestone) => milestone.state === input.state);
2805
+ const state = input.state ?? "open";
2806
+ if (state !== "all")
2807
+ rows = rows.filter((milestone) => milestone.state === state);
2806
2808
  return paginate(rows, input.page, input.per_page ?? input.perPage).map((milestone) => milestoneJson(milestone, repo));
2807
2809
  }
2808
2810
  function createMilestone(domain, input, onDelta) {
@@ -2895,8 +2897,9 @@ function listPullRequests(domain, input) {
2895
2897
  const repo = domain.requireRepo(input.owner, input.repo);
2896
2898
  const all = domain.listPullRequestRows(repo.id);
2897
2899
  let rows = all;
2898
- if (input.state && input.state !== "all")
2899
- rows = rows.filter((pr) => pr.state === input.state);
2900
+ const state = input.state ?? "open";
2901
+ if (state !== "all")
2902
+ rows = rows.filter((pr) => pr.state === state);
2900
2903
  return paginate(rows, input.page, input.per_page ?? input.perPage).map((pr) => domain.serializePullSimple(pr, all));
2901
2904
  }
2902
2905
  function getPullRequest(domain, input) {
@@ -3501,6 +3504,9 @@ var GitHubDomain = class {
3501
3504
  side: comment.side ?? "RIGHT"
3502
3505
  }, { actor: author });
3503
3506
  }
3507
+ if (pull.state === "closed") {
3508
+ this.updatePullRequest({ owner: repo.owner, repo: repo.name, pull_number: prNumber2, state: "closed" });
3509
+ }
3504
3510
  }
3505
3511
  for (const tag of repoSeed.tags ?? []) {
3506
3512
  if (this.db.prepare("SELECT 1 FROM tags WHERE repo_id = ? AND name = ?").get(repo.id, tag.name)) {
@@ -0,0 +1,5 @@
1
+ export { UnsupportedTwinError, bootTwin } from './chunk-FLGJ5GBX.js';
2
+ export { STRIPE_LOCAL_ACCOUNT_ID } from './chunk-IG76HVJS.js';
3
+ import './chunk-TV5S6WQV.js';
4
+ import './chunk-VBATFCWR.js';
5
+ import './chunk-SG6ZTIMT.js';
@@ -1,5 +1,5 @@
1
- import { bootTwin } from './chunk-S54BIYLZ.js';
2
- import { isTwinName, TWIN_NAMES, defaultPortFor, TWIN_REGISTRY } from './chunk-HRHFPIK3.js';
1
+ import { bootTwin } from './chunk-FLGJ5GBX.js';
2
+ import { isTwinName, TWIN_NAMES, defaultPortFor, TWIN_REGISTRY } from './chunk-IG76HVJS.js';
3
3
  import './chunk-TV5S6WQV.js';
4
4
  import './chunk-VBATFCWR.js';
5
5
  import './chunk-SG6ZTIMT.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pome-sh/cli",
3
- "version": "0.23.8",
3
+ "version": "0.23.9",
4
4
  "description": "Digital-twin testing for AI agents \u2014 run tasks against resettable local or hosted twins and record tool-call traces for evaluation on pome.sh.",
5
5
  "keywords": [
6
6
  "ai",
@@ -1,5 +0,0 @@
1
- export { UnsupportedTwinError, bootTwin } from './chunk-S54BIYLZ.js';
2
- export { STRIPE_LOCAL_ACCOUNT_ID } from './chunk-HRHFPIK3.js';
3
- import './chunk-TV5S6WQV.js';
4
- import './chunk-VBATFCWR.js';
5
- import './chunk-SG6ZTIMT.js';