@pome-sh/cli 0.24.0 → 0.24.1

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.24.0",
4
- "git_sha": "9158b590adb2d241a803fe2c6206e6674e392dd3",
5
- "build_time": "2026-08-18T10:26:51.900Z"
3
+ "version": "0.24.1",
4
+ "git_sha": "8a2cd0bca230258e8e07c05eb1609c6cea3c52b3",
5
+ "build_time": "2026-08-19T14:49:09.425Z"
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-ASAPUQJT.js');
186
+ const { bootTwin } = await import('./twinHarness-WLB4UFJZ.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-GXQVX6IQ.js';
4
- import { createRecorder, bootTwin } from './chunk-FH3W7IRL.js';
3
+ import { parseTaskFile, seedStateForTwin, runAgentCommand, writeRunArtifactsCore } from './chunk-RNAGF2WN.js';
4
+ import { createRecorder, bootTwin } from './chunk-E7EIPQGS.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-PMM3VKN6.js';
1
+ import { TWIN_NAMES, isTwinName, TWIN_REGISTRY } from './chunk-YMCADQ2M.js';
2
2
  import { createFileBackedRecorderStore, createRecorderStore } from './chunk-5EGHN6H4.js';
3
3
 
4
4
  // src/recorder/recorder.ts
@@ -1,5 +1,5 @@
1
1
  import { readManifest, normalizeManifestTwins } from './chunk-LA6BHJ5H.js';
2
- import { createHostedClient, perTwinReturnedByCloud, parseTaskFile, runAgentCommand, writeRunArtifactsCore, toTwinHttpEvent, redactJsonl, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, evaluationCounts } from './chunk-GXQVX6IQ.js';
2
+ import { createHostedClient, perTwinReturnedByCloud, parseTaskFile, runAgentCommand, writeRunArtifactsCore, toTwinHttpEvent, redactJsonl, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, evaluationCounts } from './chunk-RNAGF2WN.js';
3
3
  import { MOUNTED_TWINS, HostedAuthError, HostedDiscardRefusedError, HostedQuotaError, HostedOrchError, HostedTrialError, agentResponseSchema } from './chunk-QYCUNR2V.js';
4
4
  import { redactSecrets, redactEvent } from './chunk-SG6ZTIMT.js';
5
5
  import { randomUUID, createHash } from 'node:crypto';
@@ -2,7 +2,7 @@ import { criterionSchema, finalizeResponseSchema, HostedDiscardRefusedError, Hos
2
2
  import { seedSchema, parseSeed, defaultSeedState as defaultSeedState$2 } from './chunk-B22TYIEM.js';
3
3
  import { gmailSeedSchema, defaultSeedState } from './chunk-NJ246QPJ.js';
4
4
  import { linearSeedSchema, defaultSeedState as defaultSeedState$1 } from './chunk-IZIZC7ZW.js';
5
- import { isTwinName, TWIN_REGISTRY } from './chunk-PMM3VKN6.js';
5
+ import { isTwinName, TWIN_REGISTRY } from './chunk-YMCADQ2M.js';
6
6
  import { toTwinHttpEventRow } from './chunk-5EGHN6H4.js';
7
7
  import { redactEvent, redactSecrets } from './chunk-SG6ZTIMT.js';
8
8
  import { mkdir, appendFile, writeFile, readFile } from 'node:fs/promises';
@@ -39,7 +39,7 @@ var TWIN_REGISTRY = {
39
39
  defaultSeedState,
40
40
  GitHubDomain,
41
41
  openGitHubCloneDatabase
42
- } = await import('./src-BHCAQQF7.js');
42
+ } = await import('./src-WF334QLU.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-BHCAQQF7.js');
176
+ const { createGitHubCloneApp } = await import('./src-WF334QLU.js');
177
177
  return createGitHubCloneApp();
178
178
  }
179
179
  function defaultPortFor(twin, env = process.env) {
@@ -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-QFQTZ6L4.js';
3
+ import { runTask, demoTaskPath, DEMO_TASK_NAME, DEMO_REPO } from './chunk-4LO5AQCF.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-GXQVX6IQ.js';
6
+ import { createHostedClient, parseTaskFile, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, outcomeOf } from './chunk-RNAGF2WN.js';
7
7
  import './chunk-NW7HGA2K.js';
8
8
  import { HostedQuotaError, HostedOrchError } from './chunk-QYCUNR2V.js';
9
9
  import './chunk-B22TYIEM.js';
10
10
  import './chunk-NJ246QPJ.js';
11
11
  import './chunk-IZIZC7ZW.js';
12
- import { bootTwin } from './chunk-FH3W7IRL.js';
13
- import './chunk-PMM3VKN6.js';
12
+ import { bootTwin } from './chunk-E7EIPQGS.js';
13
+ import './chunk-YMCADQ2M.js';
14
14
  import './chunk-5EGHN6H4.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-KBE4RT5T.js';
2
+ import { runTaskHosted, resolveRunAgentIdentity } from './chunk-PPNJZAXD.js';
3
3
  import './chunk-LA6BHJ5H.js';
4
- import { createHostedClient, parseTaskFile, outcomeOf } from './chunk-GXQVX6IQ.js';
4
+ import { createHostedClient, parseTaskFile, outcomeOf } from './chunk-RNAGF2WN.js';
5
5
  import './chunk-NW7HGA2K.js';
6
6
  import { HostedQuotaError, HostedTrialError } from './chunk-QYCUNR2V.js';
7
7
  import './chunk-B22TYIEM.js';
8
8
  import './chunk-NJ246QPJ.js';
9
9
  import './chunk-IZIZC7ZW.js';
10
- import './chunk-PMM3VKN6.js';
10
+ import './chunk-YMCADQ2M.js';
11
11
  import './chunk-5EGHN6H4.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, persistCredentialsAfterLogin, DEFAULT_DOCS_SITE_ORIGIN, resolveSeams, resolveCachedAgentId, readLinkCache, postAgentResolver, writeLinkCache, ensurePomeGitignored } from '../../chunk-KBE4RT5T.js';
2
+ import { DEFAULT_CONTROL_PLANE_URL, DEFAULT_DASHBOARD_URL, clearLocalCredentials, friendlyHostedError, runSessionCreate, runSessionList, runSessionStop, resolveCredentials, runTaskHosted, discoverRunSet, VERDICT_ARTIFACT_VERSION, persistCredentialsAfterLogin, DEFAULT_DOCS_SITE_ORIGIN, resolveSeams, resolveCachedAgentId, readLinkCache, postAgentResolver, writeLinkCache, ensurePomeGitignored } from '../../chunk-PPNJZAXD.js';
3
3
  import { readManifest, writeManifest, MANIFEST_JSON, readRequiredManifest, normalizeManifestTwins } from '../../chunk-LA6BHJ5H.js';
4
- import { assetPath, runTask, resolvePackageRoot, DEMO_TASK_NAME, demoTaskPath } from '../../chunk-QFQTZ6L4.js';
4
+ import { assetPath, runTask, resolvePackageRoot, DEMO_TASK_NAME, demoTaskPath } from '../../chunk-4LO5AQCF.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-GXQVX6IQ.js';
7
+ import { parseTaskFile, scoreStatus, runScoreLine, readLatestRun, readMetaSummary, outcomeOf, readConfigTwins, scoreCountsSummary, markerFor, criterionMarkerLabel, twinSkipSuffix, readCodeCriteria, createHostedClient, toTwinHttpEvent, redactJsonl, scoreFromFinalizeResponse, parseGitHubSeedState, uploadRunBlobs, isPreSatisfied } from '../../chunk-RNAGF2WN.js';
8
8
  import '../../chunk-NW7HGA2K.js';
9
9
  import { MOUNTED_TWINS, deriveAgentSlug, exitCodeFor, HostedUsageError, HostedOrchError, HostedAuthError, HostedQuotaError } from '../../chunk-QYCUNR2V.js';
10
10
  import { TAPE_ASSERTABLE_TOOLS } from '../../chunk-C4BVTUA3.js';
@@ -15,8 +15,8 @@ import '../../chunk-NJ246QPJ.js';
15
15
  import { LINEAR_CHECKS } from '../../chunk-XBT6ZLBG.js';
16
16
  import '../../chunk-IZIZC7ZW.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-FH3W7IRL.js';
19
- import { TWIN_NAME_LIST, isTwinName, createGitHubSmokeApp } from '../../chunk-PMM3VKN6.js';
18
+ import '../../chunk-E7EIPQGS.js';
19
+ import { TWIN_NAME_LIST, isTwinName, createGitHubSmokeApp } from '../../chunk-YMCADQ2M.js';
20
20
  import '../../chunk-5EGHN6H4.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-BHCAQQF7.js');
853
+ const { GitHubDomain, openGitHubCloneDatabase } = await import('../../src-WF334QLU.js');
854
854
  const db = openGitHubCloneDatabase(":memory:");
855
855
  try {
856
856
  new GitHubDomain(db).seed(seed);
@@ -4651,7 +4651,7 @@ var DEFAULT_AGENT_COMMAND = `node ${DEFAULT_AGENT_FILE}`;
4651
4651
  var MANIFEST_SCHEMA_URL = "https://pome.sh/schemas/v1/pome.json";
4652
4652
  var MAX_UNREADABLE_PATHS_SHOWN = 5;
4653
4653
  function readPackageVersion() {
4654
- if ("0.24.0".length > 0) return "0.24.0";
4654
+ if ("0.24.1".length > 0) return "0.24.1";
4655
4655
  try {
4656
4656
  const here = dirname(fileURLToPath(import.meta.url));
4657
4657
  const candidates = [
@@ -5106,7 +5106,7 @@ function createProgram() {
5106
5106
  return;
5107
5107
  }
5108
5108
  {
5109
- const { runDoctorChecks } = await import('../../checks-QFWWMBDU.js');
5109
+ const { runDoctorChecks } = await import('../../checks-27WT2URM.js');
5110
5110
  const { renderDoctorReport } = await import('../../render-ZQQ4UMNO.js');
5111
5111
  const doctorReport = await runDoctorChecks({ mode: useLocal ? "full" : "hosted" });
5112
5112
  if (!doctorReport.ok) {
@@ -5144,7 +5144,7 @@ function createProgram() {
5144
5144
  taskForRuns.config.runs
5145
5145
  );
5146
5146
  if (k > 1) {
5147
- const { runTrialGroup } = await import('../../runTrialGroup-KTTAYFWE.js');
5147
+ const { runTrialGroup } = await import('../../runTrialGroup-ZCDT4P4N.js');
5148
5148
  const fileForRerun = relative(process.cwd(), file);
5149
5149
  const rerunCommand = defaultTask ? options.trials !== void 0 ? `pome run -n ${k}` : "pome run" : `pome run ${fileForRerun && !fileForRerun.startsWith("..") ? fileForRerun : file} -n ${k}`;
5150
5150
  const groupResult = await runTrialGroup({
@@ -5238,7 +5238,7 @@ function createProgram() {
5238
5238
  process.exitCode = 5;
5239
5239
  return;
5240
5240
  }
5241
- const { runDemo } = await import('../../runDemo-TXFZWHHJ.js');
5241
+ const { runDemo } = await import('../../runDemo-3ZONEJ6F.js');
5242
5242
  const result = await runDemo({
5243
5243
  apiBase: opts.apiUrl.replace(/\/$/, ""),
5244
5244
  dashboardBase: process.env.POME_DASHBOARD_URL ?? DEFAULT_DASHBOARD_URL,
@@ -5256,7 +5256,7 @@ function createProgram() {
5256
5256
  program.command("doctor").description(
5257
5257
  "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."
5258
5258
  ).action(async () => {
5259
- const { runDoctorChecks } = await import('../../checks-QFWWMBDU.js');
5259
+ const { runDoctorChecks } = await import('../../checks-27WT2URM.js');
5260
5260
  const { renderDoctorReport } = await import('../../render-ZQQ4UMNO.js');
5261
5261
  const report = await runDoctorChecks();
5262
5262
  for (const line of renderDoctorReport(report, { passNote: true })) console.error(line);
@@ -5432,7 +5432,7 @@ function createProgram() {
5432
5432
  ).description(
5433
5433
  "Start a standalone twin as a long-lived foreground server (Ctrl-C to stop)"
5434
5434
  ).action(async (name, options) => {
5435
- const { runTwinStartCommand } = await import('../../twinStart-PZNMEDBK.js');
5435
+ const { runTwinStartCommand } = await import('../../twinStart-U2BQFQ5H.js');
5436
5436
  await runTwinStartCommand(name, options);
5437
5437
  });
5438
5438
  twin.command("reset").argument("[name]", "Twin name (default: github)", "github").description("Reset standalone twin state").action(async (name) => {
@@ -3024,7 +3024,24 @@ function releaseJson(release, repo) {
3024
3024
  upload_url: `https://uploads.github.com/repos/${repo.full_name}/releases/${release.id}/assets{?name,label}`,
3025
3025
  tarball_url: `https://api.github.com/repos/${repo.full_name}/tarball/${release.tag_name}`,
3026
3026
  zipball_url: `https://api.github.com/repos/${repo.full_name}/zipball/${release.tag_name}`,
3027
- assets: []
3027
+ assets: [],
3028
+ // F-1533 — the last leaf real GitHub sends on all three release surfaces
3029
+ // that this twin did not. Same shape of fix as `updated_at` above (F-1459),
3030
+ // and the same reason it went unnoticed: `satisfies DeepPartial<Release>`
3031
+ // encodes "faithful SUBSET", so it cannot see an omission.
3032
+ //
3033
+ // `false` is the TRUE value here, not a placeholder. This twin models no
3034
+ // immutable-release feature and has no route that could enable one — no
3035
+ // `PUT /repos/:o/:r/immutable-releases`, nothing on the seed — so every
3036
+ // release in every reachable twin state IS mutable. That is what separates
3037
+ // this from the nine sibling fields F-1504 registered rather than fixed:
3038
+ // stating `false` invents no model.
3039
+ //
3040
+ // Not a column. A stored value would be a second source of truth for a
3041
+ // feature that does not exist, and the first route to enable immutability
3042
+ // is the change that owes one — the inverse of `updated_at`, which IS a
3043
+ // column precisely because a future update route must be able to move it.
3044
+ immutable: false
3028
3045
  };
3029
3046
  }
3030
3047
  function releaseState(release, repo) {
@@ -0,0 +1,5 @@
1
+ export { UnsupportedTwinError, bootTwin } from './chunk-E7EIPQGS.js';
2
+ export { STRIPE_LOCAL_ACCOUNT_ID } from './chunk-YMCADQ2M.js';
3
+ import './chunk-5EGHN6H4.js';
4
+ import './chunk-VBATFCWR.js';
5
+ import './chunk-SG6ZTIMT.js';
@@ -1,5 +1,5 @@
1
- import { bootTwin } from './chunk-FH3W7IRL.js';
2
- import { isTwinName, TWIN_NAMES, defaultPortFor, TWIN_REGISTRY } from './chunk-PMM3VKN6.js';
1
+ import { bootTwin } from './chunk-E7EIPQGS.js';
2
+ import { isTwinName, TWIN_NAMES, defaultPortFor, TWIN_REGISTRY } from './chunk-YMCADQ2M.js';
3
3
  import './chunk-5EGHN6H4.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.24.0",
3
+ "version": "0.24.1",
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-FH3W7IRL.js';
2
- export { STRIPE_LOCAL_ACCOUNT_ID } from './chunk-PMM3VKN6.js';
3
- import './chunk-5EGHN6H4.js';
4
- import './chunk-VBATFCWR.js';
5
- import './chunk-SG6ZTIMT.js';