@tryarcanist/cli 0.1.369 → 0.1.371

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.
Files changed (2) hide show
  1. package/dist/index.js +39 -40
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -7409,7 +7409,7 @@ function isTerminalPhase(phase, _sessionKind) {
7409
7409
  // package.json
7410
7410
  var package_default = {
7411
7411
  name: "@tryarcanist/cli",
7412
- version: "0.1.369",
7412
+ version: "0.1.371",
7413
7413
  description: "Command-line interface for Arcanist: inspect sessions, prepare Zeus environments, and trigger reviews",
7414
7414
  type: "module",
7415
7415
  bin: {
@@ -28155,19 +28155,6 @@ async function environmentRetryCommand(repoArg, options = {}, command) {
28155
28155
  emit(command, options, { repository: state }, ({ repository }) => printState(repository));
28156
28156
  }
28157
28157
 
28158
- // src/commands/hades.ts
28159
- async function hadesCommand(repo, options = {}, command) {
28160
- assertArcanistSessionMutationAllowed("hades");
28161
- const { config: config2 } = resolveBusinessContext(command, options);
28162
- const result = await apiFetch(config2, "/api/hades-runs", {
28163
- method: "POST",
28164
- body: JSON.stringify({ repo })
28165
- });
28166
- emit(command, options, result, (payload) => {
28167
- console.log(`Started Hades run ${payload.runId} (${payload.jobId}).`);
28168
- });
28169
- }
28170
-
28171
28158
  // src/commands/login.ts
28172
28159
  var DEVICE_AUTH_START_PATH = "/api/auth/cli/device";
28173
28160
  var DEVICE_AUTH_TOKEN_PATH = "/api/auth/cli/device/token";
@@ -30972,12 +30959,12 @@ function noChangeOutcomeCopy(reason) {
30972
30959
  var REVIEW_CALIBRATION_SECTION_HEADING = "## Previously declined findings on this repository (calibration)";
30973
30960
  var REVIEW_EXISTING_BOT_FINDINGS_SECTION_HEADING = "## Findings already reported by other reviewers";
30974
30961
  var REVIEW_STACK_NEIGHBOURS_SECTION_HEADING = "## Graphite stack neighbours";
30975
- var REVIEW_ONE_SHOT_ADVISORY_SECTION_HEADING = "## Independent review suggestions";
30976
30962
  var REVIEW_PROMPT_ENRICHMENT_SECTION_HEADINGS = [
30977
30963
  REVIEW_CALIBRATION_SECTION_HEADING,
30978
30964
  REVIEW_EXISTING_BOT_FINDINGS_SECTION_HEADING,
30979
30965
  REVIEW_STACK_NEIGHBOURS_SECTION_HEADING,
30980
- REVIEW_ONE_SHOT_ADVISORY_SECTION_HEADING
30966
+ // Recognizes historical private prompts; new reviews no longer assemble this section.
30967
+ "## Independent review suggestions"
30981
30968
  ];
30982
30969
 
30983
30970
  // ../../shared/transcript/prompt-display.ts
@@ -31891,7 +31878,10 @@ var SHELL_ENV_KEY_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
31891
31878
  // ../../shared/types/sandbox.ts
31892
31879
  var APP_RUNTIME_ENTRY_TYPE = {
31893
31880
  Compose: "compose",
31894
- Dockerfile: "dockerfile",
31881
+ /**
31882
+ * Contract-only: the control plane synthesizes a command entry from a profile's `bootScript`.
31883
+ * Profiles no longer store command entries (see the App Runtime schema in repo-runtime.ts).
31884
+ */
31895
31885
  Command: "command"
31896
31886
  };
31897
31887
 
@@ -31955,23 +31945,20 @@ var StringRecordSchema = external_exports.record(
31955
31945
  external_exports.string().regex(SHELL_ENV_KEY_PATTERN, "must be a POSIX-style environment variable name"),
31956
31946
  external_exports.string()
31957
31947
  );
31948
+ var ComposeAppRuntimeEntrySchema = external_exports.object({
31949
+ type: external_exports.enum([APP_RUNTIME_ENTRY_TYPE.Compose]),
31950
+ files: external_exports.array(external_exports.string()).optional(),
31951
+ service: external_exports.string().optional(),
31952
+ profiles: external_exports.array(external_exports.string()).optional()
31953
+ }).strict();
31958
31954
  var AppRuntimeProfileConfigSchema = external_exports.object({
31959
31955
  cwd: external_exports.string().optional(),
31956
+ bootScript: external_exports.string().max(65536).describe(
31957
+ "Optional bash bringup script. When set it overrides the entry: arcanist-app start runs it on the sandbox host from cwd with runtimeVariables plus HOST and PORT, and waits on ready.path. The app must listen on url.hostPort. Leave unset to boot from the entry."
31958
+ ).optional(),
31960
31959
  kind: external_exports.string().optional(),
31961
31960
  runner: external_exports.string().optional(),
31962
- entry: external_exports.object({
31963
- type: external_exports.enum([
31964
- APP_RUNTIME_ENTRY_TYPE.Compose,
31965
- APP_RUNTIME_ENTRY_TYPE.Dockerfile,
31966
- APP_RUNTIME_ENTRY_TYPE.Command
31967
- ]),
31968
- files: external_exports.array(external_exports.string()).optional(),
31969
- service: external_exports.string().optional(),
31970
- profiles: external_exports.array(external_exports.string()).optional(),
31971
- context: external_exports.string().optional(),
31972
- dockerfile: external_exports.string().optional(),
31973
- command: external_exports.string().optional()
31974
- }).strict().optional(),
31961
+ entry: ComposeAppRuntimeEntrySchema.optional(),
31975
31962
  url: external_exports.object({ hostPort: external_exports.number().int().optional(), path: external_exports.string().optional() }).strict().optional(),
31976
31963
  portMapping: external_exports.object({ containerPort: external_exports.number().int().optional() }).strict().optional(),
31977
31964
  additionalPorts: external_exports.array(
@@ -32010,9 +31997,25 @@ var AppRuntimeProfileConfigSchema = external_exports.object({
32010
31997
  credentials: external_exports.array(CredentialDeclarationSchema).optional()
32011
31998
  }).strict().optional()
32012
31999
  }).strict();
32000
+ var LEGACY_DOCKERFILE_ENTRY_TYPE = "dockerfile";
32001
+ var LegacyAppRuntimeEntrySchema = external_exports.union([
32002
+ external_exports.object({ type: external_exports.literal(APP_RUNTIME_ENTRY_TYPE.Command), command: external_exports.string().optional() }).passthrough(),
32003
+ external_exports.object({
32004
+ type: external_exports.literal(LEGACY_DOCKERFILE_ENTRY_TYPE),
32005
+ context: external_exports.string().optional(),
32006
+ dockerfile: external_exports.string().optional(),
32007
+ service: external_exports.string().optional()
32008
+ }).passthrough()
32009
+ ]);
32010
+ var AppRuntimeProfileConfigReadSchema = AppRuntimeProfileConfigSchema.extend({
32011
+ entry: external_exports.union([ComposeAppRuntimeEntrySchema, LegacyAppRuntimeEntrySchema]).optional()
32012
+ });
32013
32013
  var EnvironmentProvisioningConfigSchema = external_exports.object({
32014
32014
  sandbox: external_exports.object({ appRuntime: AppRuntimeProfileConfigSchema.optional() }).strict().optional()
32015
32015
  }).strict();
32016
+ var EnvironmentProvisioningConfigReadSchema = external_exports.object({
32017
+ sandbox: external_exports.object({ appRuntime: AppRuntimeProfileConfigReadSchema.optional() }).strict().optional()
32018
+ }).strict();
32016
32019
 
32017
32020
  // src/commands/setup.ts
32018
32021
  var INSTALL_POLL_INTERVAL_MS = 5e3;
@@ -32421,6 +32424,12 @@ Exit codes:
32421
32424
  program.configureOutput({
32422
32425
  writeErr: (str) => process.stderr.write(str)
32423
32426
  });
32427
+ program.on("beforeAllHelp", ({ command }) => {
32428
+ const name = command.args[0];
32429
+ if (command.commands.length > 0 && name && !name.startsWith("-") && !command.commands.some((child) => child.name() === name || child.aliases().includes(name))) {
32430
+ throw new CliError("user", `unknown command '${name}'`);
32431
+ }
32432
+ });
32424
32433
  program.hook("preAction", (_thisCommand, actionCommand) => {
32425
32434
  applyColorEnvironment(getRuntimeOptions(actionCommand));
32426
32435
  });
@@ -32488,16 +32497,6 @@ Zeus always uses the pinned Codex reviewer.
32488
32497
  Zeus review is currently available to Arcanist members only.
32489
32498
  `
32490
32499
  ).action((prUrl, options, command) => reviewCommand(prUrl, options, command));
32491
- program.command("hades <repo>").description("Start an internal Hades run measuring Zeus's review capability on a Try Arcanist repository").addHelpText(
32492
- "after",
32493
- `
32494
- Hades is internal-only. It measures which classes of correctness regression Zeus
32495
- identifies during normal review: it proves a small regression against an oracle in the
32496
- selected tryarcanist repository, and the control plane opens each one as a throwaway
32497
- draft pull request for Zeus to review. The drafts are closed and their branches deleted
32498
- once reviewed.
32499
- `
32500
- ).action((repo, options, command) => hadesCommand(repo, options, command));
32501
32500
  sessions.command("stop").description("Stop the active run for a session").argument("<session-id>", "Session ID").addHelpText(
32502
32501
  "after",
32503
32502
  `
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryarcanist/cli",
3
- "version": "0.1.369",
3
+ "version": "0.1.371",
4
4
  "description": "Command-line interface for Arcanist: inspect sessions, prepare Zeus environments, and trigger reviews",
5
5
  "type": "module",
6
6
  "bin": {