@synkro-sh/cli 1.7.39 → 1.7.42

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/bootstrap.js CHANGED
@@ -3806,10 +3806,6 @@ async function dockerInstall(opts = {}) {
3806
3806
  // interactive AskUserQuestion poll and fall through to generate-the-fix. Only
3807
3807
  // passed when the operator set it; otherwise the image default (1) applies.
3808
3808
  ...process.env.SYNKRO_FIX_POLL ? ["-e", `SYNKRO_FIX_POLL=${process.env.SYNKRO_FIX_POLL}`] : [],
3809
- // Route CWE grades to the cloud /api/v1/cwe-scan endpoint (arm-C: full-catalog
3810
- // retrieval + ensemble) instead of the local single-prompt path. Grading stays
3811
- // local for every other surface. Benchmark lever; default off.
3812
- ...process.env.SYNKRO_CWE_VIA_ENDPOINT ? ["-e", `SYNKRO_CWE_VIA_ENDPOINT=${process.env.SYNKRO_CWE_VIA_ENDPOINT}`] : [],
3813
3809
  // Connected repo — the server seeds the local app + ruleset named after it.
3814
3810
  ...opts.connectedRepo ? ["-e", `SYNKRO_CONNECTED_REPO=${opts.connectedRepo}`] : [],
3815
3811
  // Real account identity (from config.env via process.env) — telemetry is
@@ -4830,7 +4826,7 @@ function writeConfigEnv(opts) {
4830
4826
  `SYNKRO_CREDENTIALS_PATH=${shellQuoteSingle(credsPath)}`,
4831
4827
  `SYNKRO_TIER=${shellQuoteSingle(safeTier)}`,
4832
4828
  `SYNKRO_INFERENCE=${shellQuoteSingle(safeInference)}`,
4833
- `SYNKRO_VERSION=${shellQuoteSingle("1.7.39")}`
4829
+ `SYNKRO_VERSION=${shellQuoteSingle("1.7.42")}`
4834
4830
  ];
4835
4831
  if (safeSynkroBin) lines.push(`SYNKRO_CLI_BIN=${shellQuoteSingle(safeSynkroBin)}`);
4836
4832
  if (safeUserId) lines.push(`SYNKRO_USER_ID=${shellQuoteSingle(safeUserId)}`);
@@ -5650,6 +5646,17 @@ async function installCommand(opts = {}) {
5650
5646
  }
5651
5647
  console.log();
5652
5648
  let cloudGradeOk = null;
5649
+ const graderUsesCursor = (() => {
5650
+ if (!hasCursor) return false;
5651
+ const sfp = readFullSynkroFile();
5652
+ if (sfp && (sfp.workers.claude != null || sfp.workers.cursor != null)) {
5653
+ return Math.max(0, Math.floor(sfp.workers.cursor || 0)) > 0;
5654
+ }
5655
+ const pool = sfp?.grader?.pool || "auto";
5656
+ if (pool === "cursor") return true;
5657
+ if (pool === "claude_code") return false;
5658
+ return hasCursor;
5659
+ })();
5653
5660
  if (useLocalMcp) {
5654
5661
  const { assertDockerAvailable: assertDockerAvailable2 } = await Promise.resolve().then(() => (init_dockerInstall(), dockerInstall_exports));
5655
5662
  try {
@@ -5659,7 +5666,7 @@ async function installCommand(opts = {}) {
5659
5666
  \u2717 ${err.message}`);
5660
5667
  process.exit(1);
5661
5668
  }
5662
- if (hasCursor) {
5669
+ if (graderUsesCursor) {
5663
5670
  await promptCursorApiKey(opts);
5664
5671
  }
5665
5672
  console.log("Installing Synkro server container...");
@@ -5731,7 +5738,7 @@ async function installCommand(opts = {}) {
5731
5738
  }
5732
5739
  console.log();
5733
5740
  } else if (target === "cloud-container") {
5734
- if (hasCursor) await promptCursorApiKey(opts);
5741
+ if (graderUsesCursor) await promptCursorApiKey(opts);
5735
5742
  await provisionCloudContainer({ gatewayUrl, jwt: token, orgId, userId, email, hasClaudeCode, hasCursor });
5736
5743
  cloudGradeOk = await verifyCloudGrader(token);
5737
5744
  if (await promptCodexCloudSetup()) {
@@ -9032,7 +9039,7 @@ var args = process.argv.slice(2);
9032
9039
  var cmd = args[0] || "";
9033
9040
  var subArgs = args.slice(1);
9034
9041
  function printVersion() {
9035
- console.log("1.7.39");
9042
+ console.log("1.7.42");
9036
9043
  }
9037
9044
  function printHelp2() {
9038
9045
  console.log(`Synkro CLI \u2014 runtime safety for AI coding agents