@synkro-sh/cli 1.6.68 → 1.6.69

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
@@ -1622,7 +1622,12 @@ export function tag(rt: string, config: HookConfig, grader?: string): string {
1622
1622
  if (config.silent) return '[synkro:silent]';
1623
1623
  const rs = config.policyName || 'all';
1624
1624
  const g = grader ? ':' + (grader === 'claude_code' ? 'claude' : grader) : '';
1625
- return '[synkro:' + rt + ':' + rs + g + ']';
1625
+ // route() collapses cloud-container to 'local' for BRANCH selection (the local
1626
+ // path emits the rich systemMessage), but the grade actually ran on the hosted
1627
+ // container. Surface the real location so a cloud grade reads [synkro:cloud:\u2026],
1628
+ // and 'local' is reserved for an actual on-device channel grade.
1629
+ const loc = (rt === 'local' && process.env.SYNKRO_DEPLOY_LOCATION === 'cloud') ? 'cloud' : rt;
1630
+ return '[synkro:' + loc + ':' + rs + g + ']';
1626
1631
  }
1627
1632
 
1628
1633
  // \u2500\u2500\u2500 Local Grading (direct channel call) \u2500\u2500\u2500
@@ -10331,7 +10336,7 @@ function writeConfigEnv(opts) {
10331
10336
  `SYNKRO_CREDENTIALS_PATH=${shellQuoteSingle(credsPath)}`,
10332
10337
  `SYNKRO_TIER=${shellQuoteSingle(safeTier)}`,
10333
10338
  `SYNKRO_INFERENCE=${shellQuoteSingle(safeInference)}`,
10334
- `SYNKRO_VERSION=${shellQuoteSingle("1.6.68")}`
10339
+ `SYNKRO_VERSION=${shellQuoteSingle("1.6.69")}`
10335
10340
  ];
10336
10341
  if (safeSynkroBin) lines.push(`SYNKRO_CLI_BIN=${shellQuoteSingle(safeSynkroBin)}`);
10337
10342
  if (safeUserId) lines.push(`SYNKRO_USER_ID=${shellQuoteSingle(safeUserId)}`);
@@ -10880,7 +10885,13 @@ async function installCommand(opts = {}) {
10880
10885
  }
10881
10886
  const transcriptConsent = transcriptCC || transcriptCursor;
10882
10887
  ensureSynkroDir();
10883
- const hookMode = opts.hookMode || resolvePersistedHookMode();
10888
+ let hookMode = opts.hookMode || resolvePersistedHookMode();
10889
+ if (target === "cloud-container" && hookMode === "stub") {
10890
+ if (opts.hookMode === "stub") {
10891
+ console.log(" \u24D8 Cloud mode needs full hooks (stub hooks require a local container) \u2014 using full.\n");
10892
+ }
10893
+ hookMode = "full";
10894
+ }
10884
10895
  const scripts = writeHookScripts(hookMode);
10885
10896
  console.log("Wrote hook scripts to ~/.synkro/hooks/\n");
10886
10897
  for (const mode of ["edit", "bash"]) {
@@ -13919,7 +13930,7 @@ var args = process.argv.slice(2);
13919
13930
  var cmd = args[0] || "";
13920
13931
  var subArgs = args.slice(1);
13921
13932
  function printVersion() {
13922
- console.log("1.6.68");
13933
+ console.log("1.6.69");
13923
13934
  }
13924
13935
  function printHelp2() {
13925
13936
  console.log(`Synkro CLI \u2014 runtime safety for AI coding agents