@pome-sh/cli 0.26.9 → 0.26.11
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.
- package/dist/build-info.json +3 -3
- package/dist/{checks-NSHCXA6N.js → checks-3LVRPHOK.js} +4 -4
- package/dist/{chunk-IDNSKKEC.js → chunk-2ZGVDTJC.js} +1 -1
- package/dist/{chunk-RG32W733.js → chunk-6IVXTU67.js} +3 -3
- package/dist/{chunk-JUESW6G4.js → chunk-6KJC4BTO.js} +5 -5
- package/dist/{chunk-X7V5DMA7.js → chunk-ANKO3RCB.js} +4 -4
- package/dist/{chunk-64NZFX4Z.js → chunk-BZO3YCJS.js} +1 -1
- package/dist/{chunk-WEKJIGUD.js → chunk-CFXEETE3.js} +4 -4
- package/dist/{chunk-O5MCNQY4.js → chunk-CXGMLUZ4.js} +1 -1
- package/dist/{chunk-CKN743FJ.js → chunk-EIUCTFQV.js} +11 -11
- package/dist/{chunk-5EV4SG3F.js → chunk-FQGR7KDT.js} +3 -3
- package/dist/{chunk-2Q3P45LK.js → chunk-IZFM7W2V.js} +1 -1
- package/dist/{chunk-5EE7YWA3.js → chunk-KIXYRPVY.js} +2 -2
- package/dist/{chunk-B22TYIEM.js → chunk-QXQAVKTE.js} +6 -6
- package/dist/{runDemo-SA55CMWG.js → runDemo-XO5R5QTM.js} +8 -8
- package/dist/{runTrialGroup-IXIVA2R3.js → runTrialGroup-CLJJOO4J.js} +8 -8
- package/dist/{server-TPAFPKLC.js → server-TK5YBK6E.js} +2 -2
- package/dist/src/cli/main.js +20 -20
- package/dist/{src-AAF7TZMO.js → src-FXRQSKBK.js} +31 -32
- package/dist/{src-2M54EY2P.js → src-GWA7QVQS.js} +9 -9
- package/dist/{src-UEO2KIBJ.js → src-JJNS46T6.js} +55 -55
- package/dist/{src-4E5WAGNJ.js → src-L6F5YXSP.js} +14 -14
- package/dist/{src-Q4MBHYC5.js → src-Q4JNJE5S.js} +14 -14
- package/dist/twinHarness-6NVAKIOB.js +5 -0
- package/dist/{twinStart-2VP545N6.js → twinStart-WIT4UVAC.js} +4 -4
- package/package.json +1 -1
- package/dist/twinHarness-OC6VQRXO.js +0 -5
package/dist/build-info.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "pome-sh",
|
|
3
|
-
"version": "0.26.
|
|
4
|
-
"git_sha": "
|
|
5
|
-
"build_time": "2026-08-
|
|
3
|
+
"version": "0.26.11",
|
|
4
|
+
"git_sha": "984784e9c09eecd38fc7adbf7f6a342bda44c98e",
|
|
5
|
+
"build_time": "2026-08-24T16:19:14.495Z"
|
|
6
6
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { findManifestPath, readManifest } from './chunk-
|
|
1
|
+
import { findManifestPath, readManifest } from './chunk-CXGMLUZ4.js';
|
|
2
2
|
import { getAvailablePort } from './chunk-XDU6TD4O.js';
|
|
3
3
|
import { buildEgressAllowlist } from './chunk-CBFKZZBR.js';
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
4
|
+
import './chunk-BZO3YCJS.js';
|
|
5
|
+
import './chunk-6KJC4BTO.js';
|
|
6
6
|
import './chunk-SG6ZTIMT.js';
|
|
7
7
|
import { serve } from '@hono/node-server';
|
|
8
8
|
import { randomUUID, randomBytes } from 'node:crypto';
|
|
@@ -183,7 +183,7 @@ async function checkTwinReachable(_configDir) {
|
|
|
183
183
|
});
|
|
184
184
|
let harness;
|
|
185
185
|
try {
|
|
186
|
-
const { bootTwin } = await import('./twinHarness-
|
|
186
|
+
const { bootTwin } = await import('./twinHarness-6NVAKIOB.js');
|
|
187
187
|
harness = await bootTwin({
|
|
188
188
|
twin: "github",
|
|
189
189
|
seedState: void 0,
|
|
@@ -179,7 +179,7 @@ var noReactionAdded = defineCheck({
|
|
|
179
179
|
polarity: () => "negative",
|
|
180
180
|
// The reaction name, because that is the literal this predicate compares
|
|
181
181
|
// against `reactions[].name` — the line below has said so since the check
|
|
182
|
-
// shipped, and this field said `null` anyway
|
|
182
|
+
// shipped, and this field said `null` anyway.
|
|
183
183
|
//
|
|
184
184
|
// It is the sharpest case in the vocabulary for why that mattered. A NEGATIVE
|
|
185
185
|
// criterion asserting a scanned literal is absent reads a redactor's work as
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { readManifest, normalizeManifestTwins } from './chunk-
|
|
2
|
-
import { createHostedClient, perTwinReturnedByCloud, parseTaskFile, runAgentCommand, writeRunArtifactsCore, toTwinHttpEvent, redactJsonl, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, evaluationCounts } from './chunk-
|
|
3
|
-
import { MOUNTED_TWINS, HostedAuthError, HostedDiscardRefusedError, HostedQuotaError, HostedOrchError, HostedTrialError, agentResponseSchema } from './chunk-
|
|
1
|
+
import { readManifest, normalizeManifestTwins } from './chunk-CXGMLUZ4.js';
|
|
2
|
+
import { createHostedClient, perTwinReturnedByCloud, parseTaskFile, runAgentCommand, writeRunArtifactsCore, toTwinHttpEvent, redactJsonl, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, evaluationCounts } from './chunk-ANKO3RCB.js';
|
|
3
|
+
import { MOUNTED_TWINS, HostedAuthError, HostedDiscardRefusedError, HostedQuotaError, HostedOrchError, HostedTrialError, agentResponseSchema } from './chunk-BZO3YCJS.js';
|
|
4
4
|
import { redactSecrets, redactEvent } from './chunk-SG6ZTIMT.js';
|
|
5
5
|
import { randomUUID, createHash } from 'node:crypto';
|
|
6
6
|
import { rm, readFile, stat, mkdir, writeFile, chmod, mkdtemp, readdir, rename } from 'node:fs/promises';
|
|
@@ -18,7 +18,7 @@ var recorderEventObjectSchema = z.object({
|
|
|
18
18
|
// the correlator (dynamic grouping: "this event landed in Step stp_xyz").
|
|
19
19
|
// 90% of events use only one; both can coexist.
|
|
20
20
|
//
|
|
21
|
-
//
|
|
21
|
+
// Task vocab: `task_step_id` is canonical; `scenario_step_id` is
|
|
22
22
|
// the 0.3.0-era spelling. BOTH stay in the schema for the tolerant-reader
|
|
23
23
|
// window — this row shape is the frozen v1 trace format and its emitters
|
|
24
24
|
// (twin runtimes, shipped CLIs on vendored 0.3.0) still write the old key.
|
|
@@ -34,7 +34,7 @@ var recorderEventObjectSchema = z.object({
|
|
|
34
34
|
method: z.string().min(1),
|
|
35
35
|
path: z.string(),
|
|
36
36
|
request_body: z.unknown(),
|
|
37
|
-
//
|
|
37
|
+
// The request headers as received, keys lowercased by the runtime.
|
|
38
38
|
//
|
|
39
39
|
// Recorded WHOLESALE rather than through an allowlist. An allowlist is a
|
|
40
40
|
// narrowing no downstream consumer can lift and no task author can extend,
|
|
@@ -46,14 +46,14 @@ var recorderEventObjectSchema = z.object({
|
|
|
46
46
|
// by key. Asserted both ways in `packages/sdk/test/redaction.test.ts`: the
|
|
47
47
|
// bearer must not survive, and `x-payment` must.
|
|
48
48
|
//
|
|
49
|
-
// Optional, not nullable: ABSENT means this row predates
|
|
49
|
+
// Optional, not nullable: ABSENT means this row predates the field, and a
|
|
50
50
|
// present-but-empty map would erase that distinction. A required field here
|
|
51
51
|
// would be far worse than a missing one — `twinHttpEventSchema` is the only
|
|
52
52
|
// gate into the cloud's tape and a row that fails it is dropped SILENTLY, so
|
|
53
53
|
// every recording an older CLI wrote would arrive as an empty tape, which for
|
|
54
54
|
// a negative criterion is a free pass.
|
|
55
55
|
request_headers: z.record(z.string(), z.string()).optional(),
|
|
56
|
-
//
|
|
56
|
+
// The twin ACTION this call invoked, when the twin declares one for
|
|
57
57
|
// the surface that served it. This is the field that stops a tape check from
|
|
58
58
|
// reverse-engineering a tool name out of an MCP transport path.
|
|
59
59
|
//
|
|
@@ -335,7 +335,7 @@ var otelSpanEventObjectSchema = z.object({
|
|
|
335
335
|
// ── shared event-union base (mirrors `eventBaseShape` in recorder-events.ts) ─
|
|
336
336
|
ts: z.string().datetime(),
|
|
337
337
|
event_id: canonicalSpanIdSchema,
|
|
338
|
-
//
|
|
338
|
+
// `parent_event_id` replaces `parent_id`. For THIS kind the field is
|
|
339
339
|
// fully redundant with `parent_span_id` (the invariant below pins them
|
|
340
340
|
// equal), so the tolerant read needs no `parent_id` lookup at all: a row
|
|
341
341
|
// written under either spelling normalizes to the same value, derived from
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { criterionSchema, finalizeResponseSchema, HostedDiscardRefusedError, HostedOrchError, HostedAuthError, HostedQuotaError, submitResultResponseSchema, createEvalSessionResponseSchema, createSessionResponseSchema, sessionPublicSchema } from './chunk-
|
|
2
|
-
import { seedSchema, parseSeed, defaultSeedState as defaultSeedState$2 } from './chunk-
|
|
1
|
+
import { criterionSchema, finalizeResponseSchema, HostedDiscardRefusedError, HostedOrchError, HostedAuthError, HostedQuotaError, submitResultResponseSchema, createEvalSessionResponseSchema, createSessionResponseSchema, sessionPublicSchema } from './chunk-BZO3YCJS.js';
|
|
2
|
+
import { seedSchema, parseSeed, defaultSeedState as defaultSeedState$2 } from './chunk-QXQAVKTE.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-
|
|
6
|
-
import { toTwinHttpEventRow } from './chunk-
|
|
5
|
+
import { isTwinName, TWIN_REGISTRY } from './chunk-EIUCTFQV.js';
|
|
6
|
+
import { toTwinHttpEventRow } from './chunk-CFXEETE3.js';
|
|
7
7
|
import { redactEvent, redactSecrets } from './chunk-SG6ZTIMT.js';
|
|
8
8
|
import { mkdir, appendFile, writeFile, readFile } from 'node:fs/promises';
|
|
9
9
|
import { existsSync } from 'node:fs';
|
|
@@ -970,13 +970,13 @@ function buildEventCore(c, deps, fields) {
|
|
|
970
970
|
task_step_id: stepId,
|
|
971
971
|
scenario_step_id: stepId,
|
|
972
972
|
step_id: null,
|
|
973
|
-
//
|
|
973
|
+
// adapter-rich path — per-twin pin, see recorder.ts.
|
|
974
974
|
tool_call_id: deps.definition.stampToolCallId ? correlationHeader : null,
|
|
975
975
|
method: c.req.method,
|
|
976
976
|
path: new URL(c.req.url).pathname,
|
|
977
977
|
request_body: fields.requestBody,
|
|
978
978
|
request_headers: recordedRequestHeaders(c),
|
|
979
|
-
//
|
|
979
|
+
// The whole reason the field exists. This surface is where the
|
|
980
980
|
// tool name used to be reachable only by digging it out of `request_body`
|
|
981
981
|
// on a `/mcp` path; a check that had to do that was reverse-engineering
|
|
982
982
|
// transport, and getting it wrong false-passes a negative criterion.
|
|
@@ -1176,7 +1176,7 @@ function createRecorderHandle(options) {
|
|
|
1176
1176
|
task_step_id: stepId,
|
|
1177
1177
|
scenario_step_id: stepId,
|
|
1178
1178
|
step_id: null,
|
|
1179
|
-
//
|
|
1179
|
+
// adapter-rich path: only twins that pin `stampToolCallId`
|
|
1180
1180
|
// persist the header here (github); the default tape stamps null.
|
|
1181
1181
|
tool_call_id: options.stampToolCallId ? correlationHeader : null,
|
|
1182
1182
|
method: c.req.method,
|
|
@@ -1478,7 +1478,7 @@ function failureInjectionMiddleware(store, options) {
|
|
|
1478
1478
|
method,
|
|
1479
1479
|
path: rawPath,
|
|
1480
1480
|
request_body: requestBody,
|
|
1481
|
-
//
|
|
1481
|
+
// Same capture policy as the engine's emit(); an injected
|
|
1482
1482
|
// fault must not be the one row a header-reading check cannot see.
|
|
1483
1483
|
request_headers: recordedRequestHeaders(c),
|
|
1484
1484
|
// Injection is transport-level: it intercepts a (method, path) tuple,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HostedOrchError, manifestSchema, deriveAgentSlug, SLUG_RE } from './chunk-
|
|
1
|
+
import { HostedOrchError, manifestSchema, deriveAgentSlug, SLUG_RE } from './chunk-BZO3YCJS.js';
|
|
2
2
|
import { readFile, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { resolve, join, dirname } from 'node:path';
|
|
4
4
|
import { stringify, parse } from 'yaml';
|
|
@@ -39,7 +39,7 @@ var TWIN_REGISTRY = {
|
|
|
39
39
|
defaultSeedState,
|
|
40
40
|
GitHubDomain,
|
|
41
41
|
openGitHubCloneDatabase
|
|
42
|
-
} = await import('./src-
|
|
42
|
+
} = await import('./src-JJNS46T6.js');
|
|
43
43
|
const db = openGitHubCloneDatabase();
|
|
44
44
|
const domain = new GitHubDomain(db);
|
|
45
45
|
domain.seed(seedState === void 0 ? defaultSeedState() : seedState);
|
|
@@ -59,9 +59,9 @@ var TWIN_REGISTRY = {
|
|
|
59
59
|
envName: "SLACK",
|
|
60
60
|
defaultPort: 3333,
|
|
61
61
|
version: package_default2.version,
|
|
62
|
-
defaultSeed: async () => (await import('./src-
|
|
62
|
+
defaultSeed: async () => (await import('./src-L6F5YXSP.js')).defaultSeedState(),
|
|
63
63
|
async boot({ seedState, runId, recorder }) {
|
|
64
|
-
const { createSlackTwinApp, openSlackTwinDatabase, SlackDomain } = await import('./src-
|
|
64
|
+
const { createSlackTwinApp, openSlackTwinDatabase, SlackDomain } = await import('./src-L6F5YXSP.js');
|
|
65
65
|
const db = openSlackTwinDatabase(":memory:");
|
|
66
66
|
const domain = new SlackDomain(db);
|
|
67
67
|
domain.applySeed(seedState);
|
|
@@ -84,10 +84,10 @@ var TWIN_REGISTRY = {
|
|
|
84
84
|
envName: "STRIPE",
|
|
85
85
|
defaultPort: 3333,
|
|
86
86
|
version: package_default3.version,
|
|
87
|
-
defaultSeed: async () => (await import('./src-
|
|
87
|
+
defaultSeed: async () => (await import('./src-FXRQSKBK.js')).defaultSeed(),
|
|
88
88
|
async boot({ seedState, runId, recorder, twinBaseUrl }) {
|
|
89
|
-
const stripeTwin = await import('./src-
|
|
90
|
-
const { createApp } = await import('./server-
|
|
89
|
+
const stripeTwin = await import('./src-FXRQSKBK.js');
|
|
90
|
+
const { createApp } = await import('./server-TK5YBK6E.js');
|
|
91
91
|
const {
|
|
92
92
|
applySeed: applyStripeSeed,
|
|
93
93
|
createTwinStripeApp,
|
|
@@ -128,9 +128,9 @@ var TWIN_REGISTRY = {
|
|
|
128
128
|
portEnvName: "GMAIL_TWIN_PORT",
|
|
129
129
|
tokenEnvName: "POME_GMAIL_TOKEN",
|
|
130
130
|
version: package_default4.version,
|
|
131
|
-
defaultSeed: async () => (await import('./src-
|
|
131
|
+
defaultSeed: async () => (await import('./src-GWA7QVQS.js')).defaultSeedState(),
|
|
132
132
|
async boot({ seedState, runId, recorder }) {
|
|
133
|
-
const { createGmailTwinApp, GmailDomain, openGmailTwinDatabase, parseSeed } = await import('./src-
|
|
133
|
+
const { createGmailTwinApp, GmailDomain, openGmailTwinDatabase, parseSeed } = await import('./src-GWA7QVQS.js');
|
|
134
134
|
const db = openGmailTwinDatabase(":memory:");
|
|
135
135
|
const seed = parseSeed(seedState);
|
|
136
136
|
const domain = new GmailDomain(db);
|
|
@@ -149,7 +149,7 @@ var TWIN_REGISTRY = {
|
|
|
149
149
|
portEnvName: "LINEAR_TWIN_PORT",
|
|
150
150
|
tokenEnvName: "POME_LINEAR_TOKEN",
|
|
151
151
|
version: package_default5.version,
|
|
152
|
-
defaultSeed: async () => (await import('./src-
|
|
152
|
+
defaultSeed: async () => (await import('./src-Q4JNJE5S.js')).defaultSeedState(),
|
|
153
153
|
async boot({ seedState, runId, recorder }) {
|
|
154
154
|
const {
|
|
155
155
|
createLinearTwinApp,
|
|
@@ -157,7 +157,7 @@ var TWIN_REGISTRY = {
|
|
|
157
157
|
LinearDomain,
|
|
158
158
|
openLinearTwinDatabase,
|
|
159
159
|
parseSeed
|
|
160
|
-
} = await import('./src-
|
|
160
|
+
} = await import('./src-Q4JNJE5S.js');
|
|
161
161
|
const db = openLinearTwinDatabase(":memory:");
|
|
162
162
|
const seed = parseSeed(seedState);
|
|
163
163
|
const domain = new LinearDomain(db);
|
|
@@ -173,7 +173,7 @@ var TWIN_REGISTRY = {
|
|
|
173
173
|
}
|
|
174
174
|
};
|
|
175
175
|
async function createGitHubSmokeApp() {
|
|
176
|
-
const { createGitHubCloneApp } = await import('./src-
|
|
176
|
+
const { createGitHubCloneApp } = await import('./src-JJNS46T6.js');
|
|
177
177
|
return createGitHubCloneApp();
|
|
178
178
|
}
|
|
179
179
|
function defaultPortFor(twin, env = process.env) {
|
|
@@ -1,8 +1,8 @@
|
|
|
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-
|
|
4
|
-
import { createRecorder, bootTwin } from './chunk-
|
|
5
|
-
import { eventSchema } from './chunk-
|
|
3
|
+
import { parseTaskFile, seedStateForTwin, runAgentCommand, writeRunArtifactsCore } from './chunk-ANKO3RCB.js';
|
|
4
|
+
import { createRecorder, bootTwin } from './chunk-KIXYRPVY.js';
|
|
5
|
+
import { eventSchema } from './chunk-6KJC4BTO.js';
|
|
6
6
|
import { redactSecrets, redactEvent } from './chunk-SG6ZTIMT.js';
|
|
7
7
|
import { serve } from '@hono/node-server';
|
|
8
8
|
import { randomUUID, randomBytes } from 'node:crypto';
|
|
@@ -132,7 +132,7 @@ function declareRouteInputs(spec) {
|
|
|
132
132
|
function routeInputDeclarer(undeclared) {
|
|
133
133
|
return (spec) => {
|
|
134
134
|
if (spec.undeclared !== void 0) {
|
|
135
|
-
throw new Error(`route-inputs: ${spec.method} ${spec.path} sets undeclared: '${spec.undeclared}' on its own spec, but its twin already rules '${undeclared}' for every route \u2014 the disposition is one ruling per twin
|
|
135
|
+
throw new Error(`route-inputs: ${spec.method} ${spec.path} sets undeclared: '${spec.undeclared}' on its own spec, but its twin already rules '${undeclared}' for every route \u2014 the disposition is one ruling per twin`);
|
|
136
136
|
}
|
|
137
137
|
return declareRouteInputs({ ...spec, undeclared });
|
|
138
138
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TWIN_NAMES, isTwinName, TWIN_REGISTRY } from './chunk-
|
|
2
|
-
import { createFileBackedRecorderStore, createRecorderStore } from './chunk-
|
|
1
|
+
import { TWIN_NAMES, isTwinName, TWIN_REGISTRY } from './chunk-EIUCTFQV.js';
|
|
2
|
+
import { createFileBackedRecorderStore, createRecorderStore } from './chunk-CFXEETE3.js';
|
|
3
3
|
|
|
4
4
|
// src/recorder/recorder.ts
|
|
5
5
|
function createRecorder(options = {}) {
|
|
@@ -19,7 +19,7 @@ var seedSchema = z.object({
|
|
|
19
19
|
color: z.string().default("ededed"),
|
|
20
20
|
description: z.string().default("")
|
|
21
21
|
})).default([]),
|
|
22
|
-
//
|
|
22
|
+
// `renamed_from` is how a seed expresses a MOVE, and with it the
|
|
23
23
|
// `status: "renamed"` the row type has always declared and no world could
|
|
24
24
|
// reach. A seeded branch is created from the default branch and inherits
|
|
25
25
|
// every path, and a plain `files[]` entry can only add or overwrite, so
|
|
@@ -65,7 +65,7 @@ var seedSchema = z.object({
|
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
})).default([]),
|
|
68
|
-
//
|
|
68
|
+
// Milestones, tags and releases are repository-level entities the
|
|
69
69
|
// twin already SERVES (`GET /milestones`, `/tags`, `/releases`,
|
|
70
70
|
// `/releases/latest`, `/releases/tags/:tag`) and the seed could not
|
|
71
71
|
// express. Zod strips unknown keys, so a seed naming one reached the
|
|
@@ -111,7 +111,7 @@ var seedSchema = z.object({
|
|
|
111
111
|
labels: z.array(z.string().min(1)).default([]),
|
|
112
112
|
assignees: z.array(z.string().min(1)).default([]),
|
|
113
113
|
// The issue's conversation timeline, served at
|
|
114
|
-
// `GET /repos/:o/:r/issues/:n/comments
|
|
114
|
+
// `GET /repos/:o/:r/issues/:n/comments`. `author` is
|
|
115
115
|
// seeded honestly rather than taken from the write path, which
|
|
116
116
|
// stamps every comment `pome-agent`: a world in which the agent
|
|
117
117
|
// under test wrote every comment on the issue it is being asked to
|
|
@@ -144,9 +144,9 @@ var seedSchema = z.object({
|
|
|
144
144
|
state: z.enum(["error", "failure", "pending", "success"]).default("success"),
|
|
145
145
|
description: z.string().default("")
|
|
146
146
|
})).default([]),
|
|
147
|
-
//
|
|
147
|
+
// The PR's CONVERSATION timeline. Same table, same route
|
|
148
148
|
// and same number space as an issue's comments, because GitHub
|
|
149
|
-
// models a pull request as an issue
|
|
149
|
+
// models a pull request as an issue. This is the third
|
|
150
150
|
// thing a reader could call "a comment on the PR" and the seed
|
|
151
151
|
// keeps all three apart: `reviews[].body` is the prose on a review
|
|
152
152
|
// verdict, `review_comments[]` below is anchored to a file and
|
|
@@ -155,7 +155,7 @@ var seedSchema = z.object({
|
|
|
155
155
|
body: z.string().min(1),
|
|
156
156
|
author: z.string().min(1).optional()
|
|
157
157
|
})).default([]),
|
|
158
|
-
//
|
|
158
|
+
// Inline review comments, served at
|
|
159
159
|
// `GET /repos/:o/:r/pulls/:n/comments`. Seeded through the domain's
|
|
160
160
|
// own write path, so `path` must name a file the PR changes and
|
|
161
161
|
// `line` must exist in it: a seeded review comment is one
|
|
@@ -1,18 +1,18 @@
|
|
|
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-
|
|
3
|
+
import { runTask, demoTaskPath, DEMO_TASK_NAME, DEMO_REPO } from './chunk-FQGR7KDT.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-
|
|
6
|
+
import { createHostedClient, parseTaskFile, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, outcomeOf } from './chunk-ANKO3RCB.js';
|
|
7
7
|
import './chunk-NW7HGA2K.js';
|
|
8
|
-
import { HostedQuotaError, HostedOrchError } from './chunk-
|
|
9
|
-
import './chunk-
|
|
8
|
+
import { HostedQuotaError, HostedOrchError } from './chunk-BZO3YCJS.js';
|
|
9
|
+
import './chunk-QXQAVKTE.js';
|
|
10
10
|
import './chunk-NJ246QPJ.js';
|
|
11
11
|
import './chunk-IZIZC7ZW.js';
|
|
12
|
-
import { bootTwin } from './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
12
|
+
import { bootTwin } from './chunk-KIXYRPVY.js';
|
|
13
|
+
import './chunk-EIUCTFQV.js';
|
|
14
|
+
import './chunk-CFXEETE3.js';
|
|
15
|
+
import './chunk-6KJC4BTO.js';
|
|
16
16
|
import './chunk-SG6ZTIMT.js';
|
|
17
17
|
import { readFile } from 'node:fs/promises';
|
|
18
18
|
import { join } from 'node:path';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { newGroupId, criterionPhrase } from './chunk-RGZBC7NF.js';
|
|
2
|
-
import { runTaskHosted, resolveRunAgentIdentity } from './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import { createHostedClient, parseTaskFile, outcomeOf } from './chunk-
|
|
2
|
+
import { runTaskHosted, resolveRunAgentIdentity } from './chunk-6IVXTU67.js';
|
|
3
|
+
import './chunk-CXGMLUZ4.js';
|
|
4
|
+
import { createHostedClient, parseTaskFile, outcomeOf } from './chunk-ANKO3RCB.js';
|
|
5
5
|
import './chunk-NW7HGA2K.js';
|
|
6
|
-
import { HostedQuotaError, HostedTrialError } from './chunk-
|
|
7
|
-
import './chunk-
|
|
6
|
+
import { HostedQuotaError, HostedTrialError } from './chunk-BZO3YCJS.js';
|
|
7
|
+
import './chunk-QXQAVKTE.js';
|
|
8
8
|
import './chunk-NJ246QPJ.js';
|
|
9
9
|
import './chunk-IZIZC7ZW.js';
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
10
|
+
import './chunk-EIUCTFQV.js';
|
|
11
|
+
import './chunk-CFXEETE3.js';
|
|
12
|
+
import './chunk-6KJC4BTO.js';
|
|
13
13
|
import './chunk-SG6ZTIMT.js';
|
|
14
14
|
import { randomUUID } from 'node:crypto';
|
|
15
15
|
import { readFile } from 'node:fs/promises';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { FAILURE_INJECTION_OVERRIDE_KEY, POME_RECORDER_EVENTS_PATH, PROVIDER_SHAPED_TEAM_ID, TwinBootError, TwinError, UnknownToolError, bearerAuth, createAdminGate, createApp, createFailureInjectionStore, createFileBackedRecorderStore, createRecorderHandle, createRecorderStore, created, ensureTwinAuthSecret, failureInjectionMiddleware, failureInjectionRuleSchema, formTokenResolver, isLoopbackHost, mintProviderToken, ok, queryTokenResolver, recordedRequestHeaders, requireAdminAuth, resolveAuthSecret, resolveRecorderStore, serve, setClientIp, setRecordedTool, toTwinHttpEventRow, twinBuildInfo, verifyProviderToken } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { FAILURE_INJECTION_OVERRIDE_KEY, POME_RECORDER_EVENTS_PATH, PROVIDER_SHAPED_TEAM_ID, TwinBootError, TwinError, UnknownToolError, bearerAuth, createAdminGate, createApp, createFailureInjectionStore, createFileBackedRecorderStore, createRecorderHandle, createRecorderStore, created, ensureTwinAuthSecret, failureInjectionMiddleware, failureInjectionRuleSchema, formTokenResolver, isLoopbackHost, mintProviderToken, ok, queryTokenResolver, recordedRequestHeaders, requireAdminAuth, resolveAuthSecret, resolveRecorderStore, serve, setClientIp, setRecordedTool, toTwinHttpEventRow, twinBuildInfo, verifyProviderToken } from './chunk-CFXEETE3.js';
|
|
2
|
+
import './chunk-6KJC4BTO.js';
|
|
3
3
|
export { redactEvent, redactSecrets } from './chunk-SG6ZTIMT.js';
|
package/dist/src/cli/main.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
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-
|
|
3
|
-
import { readManifest, writeManifest, MANIFEST_JSON, readRequiredManifest, normalizeManifestTwins } from '../../chunk-
|
|
4
|
-
import { assetPath, runTask, resolvePackageRoot, DEMO_TASK_NAME, demoTaskPath } from '../../chunk-
|
|
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-6IVXTU67.js';
|
|
3
|
+
import { readManifest, writeManifest, MANIFEST_JSON, readRequiredManifest, normalizeManifestTwins } from '../../chunk-CXGMLUZ4.js';
|
|
4
|
+
import { assetPath, runTask, resolvePackageRoot, DEMO_TASK_NAME, demoTaskPath } from '../../chunk-FQGR7KDT.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-
|
|
7
|
+
import { parseTaskFile, scoreStatus, runScoreLine, readLatestRun, readMetaSummary, outcomeOf, readConfigTwins, scoreCountsSummary, markerFor, criterionMarkerLabel, twinSkipSuffix, readCodeCriteria, createHostedClient, toTwinHttpEvent, redactJsonl, scoreFromFinalizeResponse, parseGitHubSeedState, uploadRunBlobs, isPreSatisfied } from '../../chunk-ANKO3RCB.js';
|
|
8
8
|
import '../../chunk-NW7HGA2K.js';
|
|
9
|
-
import { MOUNTED_TWINS, deriveAgentSlug, exitCodeFor, HostedUsageError, HostedOrchError, HostedAuthError, HostedQuotaError } from '../../chunk-
|
|
9
|
+
import { MOUNTED_TWINS, deriveAgentSlug, exitCodeFor, HostedUsageError, HostedOrchError, HostedAuthError, HostedQuotaError } from '../../chunk-BZO3YCJS.js';
|
|
10
10
|
import { TAPE_ASSERTABLE_TOOLS } from '../../chunk-C4BVTUA3.js';
|
|
11
|
-
import { seedSchema } from '../../chunk-
|
|
12
|
-
import { SLACK_CHECKS } from '../../chunk-
|
|
11
|
+
import { seedSchema } from '../../chunk-QXQAVKTE.js';
|
|
12
|
+
import { SLACK_CHECKS } from '../../chunk-2ZGVDTJC.js';
|
|
13
13
|
import { GMAIL_CHECKS } from '../../chunk-JM6VS62R.js';
|
|
14
14
|
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-
|
|
19
|
-
import { TWIN_NAME_LIST, isTwinName, createGitHubSmokeApp } from '../../chunk-
|
|
20
|
-
import '../../chunk-
|
|
21
|
-
import { isLegacyEventRow, eventSchema } from '../../chunk-
|
|
18
|
+
import '../../chunk-KIXYRPVY.js';
|
|
19
|
+
import { TWIN_NAME_LIST, isTwinName, createGitHubSmokeApp } from '../../chunk-EIUCTFQV.js';
|
|
20
|
+
import '../../chunk-CFXEETE3.js';
|
|
21
|
+
import { isLegacyEventRow, eventSchema } from '../../chunk-6KJC4BTO.js';
|
|
22
22
|
import { redactEvent, redactSecrets } from '../../chunk-SG6ZTIMT.js';
|
|
23
23
|
import { Command } from 'commander';
|
|
24
24
|
import { existsSync, readFileSync, realpathSync, statSync, constants } from 'node:fs';
|
|
@@ -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-
|
|
853
|
+
const { GitHubDomain, openGitHubCloneDatabase } = await import('../../src-JJNS46T6.js');
|
|
854
854
|
const db = openGitHubCloneDatabase(":memory:");
|
|
855
855
|
try {
|
|
856
856
|
new GitHubDomain(db).seed(seed);
|
|
@@ -2213,7 +2213,7 @@ var toolWasCalled = defineCheck({
|
|
|
2213
2213
|
params: { tool: toolActionName },
|
|
2214
2214
|
substrate: "tape",
|
|
2215
2215
|
// Nothing in the seed can satisfy it and only the examinee acting can, which
|
|
2216
|
-
// is the whole property: declared, never inferred from the English
|
|
2216
|
+
// is the whole property: declared, never inferred from the English.
|
|
2217
2217
|
polarity: () => "positive",
|
|
2218
2218
|
// The action name IS a caller-supplied literal hunted for in a substrate, so
|
|
2219
2219
|
// it is declared — and the engine's door-side skip matters MORE here than on
|
|
@@ -2292,7 +2292,7 @@ var GITHUB_CHECKS = [
|
|
|
2292
2292
|
// that assert about the RUN rather than the world it left behind.
|
|
2293
2293
|
noUnsupportedEndpoint,
|
|
2294
2294
|
toolNeverCalled,
|
|
2295
|
-
//
|
|
2295
|
+
// Adjacent to its prohibition for the reason the two repo-scoped
|
|
2296
2296
|
// deltas sit together above: an author reaching for one usually wants to see
|
|
2297
2297
|
// the other, and these two are the same predicate read in opposite
|
|
2298
2298
|
// directions off one closed set of actions. It is appended rather than
|
|
@@ -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.26.
|
|
4654
|
+
if ("0.26.11".length > 0) return "0.26.11";
|
|
4655
4655
|
try {
|
|
4656
4656
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
4657
4657
|
const candidates = [
|
|
@@ -5096,7 +5096,7 @@ function createProgram() {
|
|
|
5096
5096
|
return;
|
|
5097
5097
|
}
|
|
5098
5098
|
{
|
|
5099
|
-
const { runDoctorChecks } = await import('../../checks-
|
|
5099
|
+
const { runDoctorChecks } = await import('../../checks-3LVRPHOK.js');
|
|
5100
5100
|
const { renderDoctorReport } = await import('../../render-ZQQ4UMNO.js');
|
|
5101
5101
|
const doctorReport = await runDoctorChecks({ mode: useLocal ? "full" : "hosted" });
|
|
5102
5102
|
if (!doctorReport.ok) {
|
|
@@ -5134,7 +5134,7 @@ function createProgram() {
|
|
|
5134
5134
|
taskForRuns.config.runs
|
|
5135
5135
|
);
|
|
5136
5136
|
if (k > 1) {
|
|
5137
|
-
const { runTrialGroup } = await import('../../runTrialGroup-
|
|
5137
|
+
const { runTrialGroup } = await import('../../runTrialGroup-CLJJOO4J.js');
|
|
5138
5138
|
const fileForRerun = relative(process.cwd(), file);
|
|
5139
5139
|
const rerunCommand = defaultTask ? options.trials !== void 0 ? `pome run -n ${k}` : "pome run" : `pome run ${fileForRerun && !fileForRerun.startsWith("..") ? fileForRerun : file} -n ${k}`;
|
|
5140
5140
|
const groupResult = await runTrialGroup({
|
|
@@ -5228,7 +5228,7 @@ function createProgram() {
|
|
|
5228
5228
|
process.exitCode = 5;
|
|
5229
5229
|
return;
|
|
5230
5230
|
}
|
|
5231
|
-
const { runDemo } = await import('../../runDemo-
|
|
5231
|
+
const { runDemo } = await import('../../runDemo-XO5R5QTM.js');
|
|
5232
5232
|
const result = await runDemo({
|
|
5233
5233
|
apiBase: opts.apiUrl.replace(/\/$/, ""),
|
|
5234
5234
|
dashboardBase: process.env.POME_DASHBOARD_URL ?? DEFAULT_DASHBOARD_URL,
|
|
@@ -5246,7 +5246,7 @@ function createProgram() {
|
|
|
5246
5246
|
program.command("doctor").description(
|
|
5247
5247
|
"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."
|
|
5248
5248
|
).action(async () => {
|
|
5249
|
-
const { runDoctorChecks } = await import('../../checks-
|
|
5249
|
+
const { runDoctorChecks } = await import('../../checks-3LVRPHOK.js');
|
|
5250
5250
|
const { renderDoctorReport } = await import('../../render-ZQQ4UMNO.js');
|
|
5251
5251
|
const report = await runDoctorChecks();
|
|
5252
5252
|
for (const line of renderDoctorReport(report, { passNote: true })) console.error(line);
|
|
@@ -5422,7 +5422,7 @@ function createProgram() {
|
|
|
5422
5422
|
).description(
|
|
5423
5423
|
"Start a standalone twin as a long-lived foreground server (Ctrl-C to stop)"
|
|
5424
5424
|
).action(async (name, options) => {
|
|
5425
|
-
const { runTwinStartCommand } = await import('../../twinStart-
|
|
5425
|
+
const { runTwinStartCommand } = await import('../../twinStart-WIT4UVAC.js');
|
|
5426
5426
|
await runTwinStartCommand(name, options);
|
|
5427
5427
|
});
|
|
5428
5428
|
twin.command("reset").argument("[name]", "Twin name (default: github)", "github").description("Reset standalone twin state").action(async (name) => {
|