@synkro-sh/cli 1.4.40 → 1.4.41

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
@@ -520,11 +520,13 @@ synkro_load_config() {
520
520
  SYNKRO_RULES=$(echo "$resp" | jq -c '[.rules[]? | select(.hook_stage == "pre" or .hook_stage == "both" or .hook_stage == null) | {rule_id,text,severity,category,mode}]' 2>/dev/null || echo "[]")
521
521
  }
522
522
 
523
- # Build the tag prefix for system messages: [synkro] or [synkro:PolicyName] or [synkro:silent]
523
+ # Build the tag prefix: [synkro:route:ruleset] or [synkro:silent]
524
+ # Accepts optional $1 = route override; otherwise calls synkro_route().
524
525
  synkro_tag() {
525
526
  if [ "$SYNKRO_SILENT" = "true" ]; then echo "[synkro:silent]"; return; fi
526
- if [ -n "\${SYNKRO_POLICY_NAME:-}" ]; then echo "[synkro:\${SYNKRO_POLICY_NAME}]"; return; fi
527
- echo "[synkro]"
527
+ local route="\${1:-$(synkro_route)}"
528
+ local rs="\${SYNKRO_POLICY_NAME:-all}"
529
+ echo "[synkro:\${route}:\${rs}]"
528
530
  }
529
531
 
530
532
  # Decide routing: "local" (grade on device) or "cloud" (POST to server)
@@ -750,15 +752,14 @@ IS_HEADLESS="\${SYNKRO_HEADLESS:-0}"
750
752
  case "$PERMISSION_MODE" in acceptEdits|bypassPermissions|plan|auto) IS_HEADLESS="1" ;; esac
751
753
 
752
754
  synkro_load_config
753
- TAG=$(synkro_tag)
755
+ ROUTE=$(synkro_route)
756
+ TAG=$(synkro_tag "$ROUTE")
754
757
 
755
758
  if [ "$SYNKRO_SILENT" = "true" ]; then
756
759
  jq -n --arg m "$TAG bashGuard \u2192 skipped (silent mode)" '{systemMessage: $m}'
757
760
  exit 0
758
761
  fi
759
762
 
760
- ROUTE=$(synkro_route)
761
-
762
763
  if [ "$ROUTE" = "local" ]; then
763
764
  # \u2500\u2500\u2500 Local grading (local_only privacy or local-cc channel) \u2500\u2500\u2500
764
765
  GRADER_FILE=$(mktemp -t synkro-bash.XXXXXX)
@@ -946,15 +947,14 @@ if [ -n "$TRANSCRIPT_PATH" ] && [ -f "$TRANSCRIPT_PATH" ]; then
946
947
  fi
947
948
 
948
949
  synkro_load_config
949
- TAG=$(synkro_tag)
950
+ ROUTE=$(synkro_route)
951
+ TAG=$(synkro_tag "$ROUTE")
950
952
 
951
953
  if [ "$SYNKRO_SILENT" = "true" ]; then
952
954
  jq -n --arg m "$TAG editGuard \u2192 skipped (silent mode)" '{systemMessage: $m}'
953
955
  exit 0
954
956
  fi
955
957
 
956
- ROUTE=$(synkro_route)
957
-
958
958
  if [ "$ROUTE" = "local" ]; then
959
959
  # \u2500\u2500\u2500 Local grading (local_only privacy or local-cc channel) \u2500\u2500\u2500
960
960
  GRADER_FILE=$(mktemp -t synkro-edit.XXXXXX)
@@ -1113,14 +1113,13 @@ while [ "$_PKG_DIR" != "/" ]; do
1113
1113
  done
1114
1114
 
1115
1115
  synkro_load_config
1116
- TAG=$(synkro_tag)
1116
+ ROUTE=$(synkro_route)
1117
+ TAG=$(synkro_tag "$ROUTE")
1117
1118
 
1118
1119
  if [ "$SYNKRO_SILENT" = "true" ]; then
1119
1120
  echo '{}'; exit 0
1120
1121
  fi
1121
1122
 
1122
- ROUTE=$(synkro_route)
1123
-
1124
1123
  if [ "$ROUTE" = "local" ]; then
1125
1124
  # \u2500\u2500\u2500 Local edit scan (local_only privacy or local-cc channel) \u2500\u2500\u2500
1126
1125
  GRADER_FILE=$(mktemp -t synkro-escan.XXXXXX)
@@ -1225,15 +1224,14 @@ PLAN_SHORT=$(printf '%s' "$PLAN" | head -c 80)
1225
1224
  synkro_log "planReview checking: $PLAN_SHORT..."
1226
1225
 
1227
1226
  synkro_load_config
1228
- TAG=$(synkro_tag)
1227
+ ROUTE=$(synkro_route)
1228
+ TAG=$(synkro_tag "$ROUTE")
1229
1229
 
1230
1230
  if [ "$SYNKRO_SILENT" = "true" ]; then
1231
1231
  jq -n --arg m "$TAG planReview \u2192 skipped (silent mode)" '{systemMessage: $m}'
1232
1232
  exit 0
1233
1233
  fi
1234
1234
 
1235
- ROUTE=$(synkro_route)
1236
-
1237
1235
  if [ "$ROUTE" = "local" ]; then
1238
1236
  GRADER_FILE=$(mktemp -t synkro-plan.XXXXXX)
1239
1237
  trap "rm -f \\"$GRADER_FILE\\"" EXIT
@@ -1402,12 +1400,12 @@ if [ -n "$JWT" ]; then
1402
1400
  fi
1403
1401
  fi
1404
1402
 
1405
- TAG=$(synkro_tag)
1406
-
1407
1403
  if (exec 3<>/dev/tcp/127.0.0.1/"$SYNKRO_PORT") 2>/dev/null; then
1408
1404
  exec 3<&- 3>&- 2>/dev/null || true
1405
+ TAG=$(synkro_tag "local")
1409
1406
  ROUTE_LINE="$TAG inference: local-cc (channel reachable on 127.0.0.1:$SYNKRO_PORT)"
1410
1407
  else
1408
+ TAG=$(synkro_tag "cloud")
1411
1409
  ROUTE_LINE="$TAG inference: cloud (local-cc channel not reachable)"
1412
1410
  fi
1413
1411
 
@@ -1602,7 +1600,9 @@ CMD_SHORT=$(printf '%s' "$COMMAND" | head -c 80)
1602
1600
  synkro_log "bashGuard checking: $CMD_SHORT"
1603
1601
 
1604
1602
  synkro_load_config
1605
- if [ "$SYNKRO_SILENT" = "true" ]; then echo '{}'; exit 0; fi
1603
+ if [ "$SYNKRO_SILENT" = "true" ]; then
1604
+ echo '{}'; exit 0
1605
+ fi
1606
1606
 
1607
1607
  BODY=$(jq -n \\
1608
1608
  --arg cmd "$COMMAND" \\
@@ -1658,7 +1658,9 @@ BASENAME=$(basename "$FILE_PATH" 2>/dev/null || echo "$FILE_PATH")
1658
1658
  synkro_log "editGuard checking: $BASENAME"
1659
1659
 
1660
1660
  synkro_load_config
1661
- if [ "$SYNKRO_SILENT" = "true" ]; then echo '{}'; exit 0; fi
1661
+ if [ "$SYNKRO_SILENT" = "true" ]; then
1662
+ echo '{}'; exit 0
1663
+ fi
1662
1664
 
1663
1665
  BODY=$(jq -n \\
1664
1666
  --arg file_path "$FILE_PATH" \\
@@ -3985,7 +3987,7 @@ function writeConfigEnv(opts) {
3985
3987
  `SYNKRO_CREDENTIALS_PATH=${shellQuoteSingle(credsPath)}`,
3986
3988
  `SYNKRO_TIER=${shellQuoteSingle(safeTier)}`,
3987
3989
  `SYNKRO_INFERENCE=${shellQuoteSingle(safeInference)}`,
3988
- `SYNKRO_VERSION=${shellQuoteSingle("1.4.40")}`
3990
+ `SYNKRO_VERSION=${shellQuoteSingle("1.4.41")}`
3989
3991
  ];
3990
3992
  if (safeSynkroBin) lines.push(`SYNKRO_CLI_BIN=${shellQuoteSingle(safeSynkroBin)}`);
3991
3993
  if (safeUserId) lines.push(`SYNKRO_USER_ID=${shellQuoteSingle(safeUserId)}`);