@remixhq/mcp 0.1.11 → 0.1.12

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/index.js CHANGED
@@ -74,6 +74,7 @@ var ERROR_CODES = {
74
74
  DIRTY_WORKTREE: "DIRTY_WORKTREE",
75
75
  DETACHED_HEAD: "DETACHED_HEAD",
76
76
  PREFERRED_BRANCH_MISMATCH: "PREFERRED_BRANCH_MISMATCH",
77
+ FAMILY_SELECTION_AMBIGUOUS: "FAMILY_SELECTION_AMBIGUOUS",
77
78
  MISSING_HEAD: "MISSING_HEAD",
78
79
  REPO_LOCK_HELD: "REPO_LOCK_HELD",
79
80
  REPO_LOCK_TIMEOUT: "REPO_LOCK_TIMEOUT",
@@ -210,6 +211,14 @@ function normalizeByMessage(err) {
210
211
  category: "local_state"
211
212
  });
212
213
  }
214
+ if (message.includes("Multiple canonical Remix families") || message.includes("family selection is ambiguous")) {
215
+ return makeNormalized({
216
+ code: ERROR_CODES.FAMILY_SELECTION_AMBIGUOUS,
217
+ message,
218
+ hint,
219
+ category: "local_state"
220
+ });
221
+ }
213
222
  if (message.includes("Failed to resolve local HEAD")) {
214
223
  return makeNormalized({
215
224
  code: ERROR_CODES.MISSING_HEAD,
@@ -621,7 +630,9 @@ var initDataSchema = z2.object({
621
630
  dashboardUrl: z2.string().url(),
622
631
  upstreamAppId: z2.string(),
623
632
  bindingPath: z2.string(),
624
- repoRoot: z2.string()
633
+ repoRoot: z2.string(),
634
+ bindingMode: z2.enum(["legacy", "lane", "explicit_root"]).optional(),
635
+ createdCanonicalFamily: z2.boolean().optional()
625
636
  });
626
637
  var listDataSchema = z2.object({
627
638
  apps: genericArraySchema,
@@ -773,6 +784,7 @@ import {
773
784
  import { findGitRoot, getHeadCommitHash, listUntrackedFiles } from "@remixhq/core/repo";
774
785
  function getRiskLevel(status) {
775
786
  if (status.recommendedAction === "reconcile") return "high";
787
+ if (status.recommendedAction === "choose_family") return "medium";
776
788
  if (status.recommendedAction === "sync" || status.remote.incomingOpenMergeRequestCount) return "medium";
777
789
  if (status.repo.branchMismatch || !status.repo.isGitRepo || !status.binding.isBound || !status.repo.worktree.isClean) return "medium";
778
790
  return "low";
@@ -792,6 +804,10 @@ function getRecommendedNextActions(status) {
792
804
  return ["Run remix_collab_reconcile_preview before attempting remix_collab_reconcile_apply. Reconcile is the explicit Remix recovery path when fast-forward sync is no longer possible."];
793
805
  case "review_queue":
794
806
  return ["Run remix_collab_review_queue to inspect reviewable merge requests instead of using local git merge flows."];
807
+ case "choose_family":
808
+ return [
809
+ "This checkout is ambiguous across multiple canonical Remix families. Continue from a checkout already bound to the intended family, or run remix_collab_init with forceNew=true to create and bind a new canonical family."
810
+ ];
795
811
  default:
796
812
  return [];
797
813
  }