@synkro-sh/cli 1.4.28 → 1.4.30

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
@@ -3686,7 +3686,7 @@ function writeConfigEnv(opts) {
3686
3686
  `SYNKRO_CREDENTIALS_PATH=${shellQuoteSingle(credsPath)}`,
3687
3687
  `SYNKRO_TIER=${shellQuoteSingle(safeTier)}`,
3688
3688
  `SYNKRO_INFERENCE=${shellQuoteSingle(safeInference)}`,
3689
- `SYNKRO_VERSION=${shellQuoteSingle("1.4.28")}`
3689
+ `SYNKRO_VERSION=${shellQuoteSingle("1.4.30")}`
3690
3690
  ];
3691
3691
  if (safeSynkroBin) lines.push(`SYNKRO_CLI_BIN=${shellQuoteSingle(safeSynkroBin)}`);
3692
3692
  if (safeUserId) lines.push(`SYNKRO_USER_ID=${shellQuoteSingle(safeUserId)}`);
@@ -3923,13 +3923,17 @@ async function installCommand(opts = {}) {
3923
3923
  console.error("No access token available after auth.");
3924
3924
  process.exit(1);
3925
3925
  }
3926
- console.log("\nConnecting to GitHub...");
3927
- const ghToken = await connectGitHub(gatewayUrl, token);
3928
- if (!ghToken) {
3929
- console.error("GitHub connection is required. Re-run `synkro-cli install` to try again.");
3930
- process.exit(1);
3926
+ console.log("\nConnecting to GitHub (optional \u2014 for PR scanning)...");
3927
+ let ghToken = null;
3928
+ try {
3929
+ ghToken = await connectGitHub(gatewayUrl, token);
3930
+ } catch {
3931
+ }
3932
+ if (ghToken) {
3933
+ console.log();
3934
+ } else {
3935
+ console.log(" Skipped. Run `synkro setup-github` later to enable PR scanning.\n");
3931
3936
  }
3932
- console.log();
3933
3937
  setApiBaseUrl(`${gatewayUrl}/api`);
3934
3938
  await promptRepoConnection({ linkRepo: opts.linkRepo });
3935
3939
  const agents = detectAgents();
@@ -4053,11 +4057,34 @@ async function installCommand(opts = {}) {
4053
4057
  console.warn(` \u26A0 Could not cache judge prompts: ${err.message}`);
4054
4058
  }
4055
4059
  console.log();
4060
+ console.log("Setting up local-CC dependencies...");
4061
+ const localCcDeps = [];
4062
+ try {
4063
+ assertClaudeInstalled();
4064
+ localCcDeps.push("claude");
4065
+ } catch (err) {
4066
+ console.warn(` \u26A0 claude: ${err.message}`);
4067
+ }
4068
+ try {
4069
+ assertPueueInstalled();
4070
+ localCcDeps.push("pueue");
4071
+ } catch (err) {
4072
+ console.warn(` \u26A0 pueue: ${err.message}`);
4073
+ }
4074
+ try {
4075
+ assertTmuxInstalled();
4076
+ localCcDeps.push("tmux");
4077
+ } catch (err) {
4078
+ console.warn(` \u26A0 tmux: ${err.message}`);
4079
+ }
4080
+ if (localCcDeps.length === 3) {
4081
+ console.log(` \u2713 All local-CC dependencies ready (${localCcDeps.join(", ")})`);
4082
+ } else {
4083
+ console.warn(` \u26A0 Some dependencies missing \u2014 \`synkro local-cc enable\` may not work until they're installed.`);
4084
+ }
4085
+ console.log();
4056
4086
  if (profile.localInference) {
4057
4087
  try {
4058
- assertClaudeInstalled();
4059
- assertPueueInstalled();
4060
- assertTmuxInstalled();
4061
4088
  const r = installLocalCC();
4062
4089
  console.log(`Installed local-CC channel plugin at ${r.pluginPath}`);
4063
4090
  const t = ensureRunning();
@@ -4078,8 +4105,8 @@ async function installCommand(opts = {}) {
4078
4105
  `);
4079
4106
  }
4080
4107
  } catch (err) {
4081
- console.warn(` \u26A0 Local-CC setup skipped: ${err.message}`);
4082
- console.warn(" Install pueue, tmux, and claude, then re-run install.\n");
4108
+ console.warn(` \u26A0 Local-CC setup failed: ${err.message}
4109
+ `);
4083
4110
  }
4084
4111
  }
4085
4112
  if (transcriptConsent) {
@@ -4110,8 +4137,10 @@ async function installCommand(opts = {}) {
4110
4137
  `);
4111
4138
  }
4112
4139
  }
4113
- const { setupGithubCommand: setupGithubCommand2 } = await Promise.resolve().then(() => (init_setupGithub(), setupGithub_exports));
4114
- await setupGithubCommand2({ nonInteractive: true, githubToken: ghToken });
4140
+ if (ghToken) {
4141
+ const { setupGithubCommand: setupGithubCommand2 } = await Promise.resolve().then(() => (init_setupGithub(), setupGithub_exports));
4142
+ await setupGithubCommand2({ nonInteractive: true, githubToken: ghToken });
4143
+ }
4115
4144
  console.log("\u2713 Synkro installed.");
4116
4145
  }
4117
4146
  function detectGitRepo2() {