mtrx-cli 0.1.8 → 0.1.10

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.
@@ -9,6 +9,9 @@ from urllib.parse import urlparse, urlunparse
9
9
 
10
10
  DEFAULT_MATRX_BASE_URL = "https://api.mtrx.so"
11
11
  DEFAULT_MATRX_APP_URL = "https://mtrx.so"
12
+ INVALID_MATRX_KEYS = {
13
+ "mx_from_web",
14
+ }
12
15
  LEGACY_MATRX_BASE_URLS = {
13
16
  "https://api.matrx.dev": DEFAULT_MATRX_BASE_URL,
14
17
  }
@@ -43,6 +46,7 @@ DEFAULT_STATE: dict = {
43
46
  "defaults": {
44
47
  "codex": None,
45
48
  "claude": None,
49
+ "cursor": None,
46
50
  },
47
51
  "workspaces": {
48
52
  "bindings": {},
@@ -141,6 +145,13 @@ def mask_secret(value: str | None) -> str:
141
145
  return f"{value[:4]}...{value[-4:]}"
142
146
 
143
147
 
148
+ def normalize_matrx_key(value: str | None) -> str:
149
+ cleaned = (value or "").strip()
150
+ if cleaned in INVALID_MATRX_KEYS:
151
+ return ""
152
+ return cleaned
153
+
154
+
144
155
  def ensure_v1_url(base_url: str | None) -> str:
145
156
  cleaned = _normalize_base_url(base_url).rstrip("/")
146
157
  if cleaned.endswith("/v1"):
@@ -268,11 +279,22 @@ def _merge_dicts(target: dict, source: dict) -> None:
268
279
 
269
280
  def _normalize_state(state: dict) -> None:
270
281
  auth = state.setdefault("auth", {}).setdefault("matrx", {})
282
+ auth["key"] = normalize_matrx_key(auth.get("key")) or None
271
283
  auth["base_url"] = _normalize_base_url(auth.get("base_url"))
272
284
  auth["app_url"] = ensure_app_url(
273
285
  auth.get("app_url"),
274
286
  base_url=auth.get("base_url"),
275
287
  )
288
+ bindings = state.setdefault("workspaces", {}).setdefault("bindings", {})
289
+ for root, binding in list(bindings.items()):
290
+ if not isinstance(binding, dict):
291
+ bindings.pop(root, None)
292
+ continue
293
+ matrx_key = normalize_matrx_key(binding.get("matrx_key"))
294
+ if matrx_key:
295
+ binding["matrx_key"] = matrx_key
296
+ else:
297
+ binding.pop("matrx_key", None)
276
298
 
277
299
 
278
300
  def _normalize_base_url(base_url: str | None) -> str: