@meridiona/meridian-darwin-arm64 1.14.0 → 1.14.2

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/VERSION CHANGED
@@ -1 +1 @@
1
- 1.14.0
1
+ 1.14.2
package/bin/meridian CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meridiona/meridian-darwin-arm64",
3
- "version": "1.14.0",
3
+ "version": "1.14.2",
4
4
  "description": "Prebuilt Meridian app for macOS arm64 (daemon binary + dashboard + Python services). Installed via @meridiona/meridian.",
5
5
  "homepage": "https://github.com/Meridiona/meridian",
6
6
  "repository": {
@@ -45,13 +45,18 @@ ok "Node $(node --version)"
45
45
  # `meridian update`) just work without sudo.
46
46
  npm_global_writable() {
47
47
  local prefix; prefix="$(npm config get prefix 2>/dev/null || true)"
48
- [[ -n "$prefix" && -w "${prefix}/lib/node_modules" ]]
48
+ [[ -n "$prefix" ]] || return 1
49
+ # Use ownership of the prefix itself — more reliable than -w on the
50
+ # node_modules dir. -w returns true even when ACLs or missing @scope
51
+ # subdirs prevent mkdir, as seen on /usr/local with system Node.
52
+ local owner; owner="$(stat -f '%Su' "${prefix}" 2>/dev/null || true)"
53
+ [[ -n "$owner" && "$owner" == "$(id -un)" ]]
49
54
  }
50
55
 
51
56
  NPM_GLOBAL="${HOME}/.npm-global"
52
57
 
53
58
  if npm_global_writable; then
54
- ok "npm prefix already user-writable — no fix needed"
59
+ ok "npm prefix ($(npm config get prefix)) is user-writable — no fix needed"
55
60
  else
56
61
  _old_prefix="$(npm config get prefix 2>/dev/null || true)"
57
62
  info "npm prefix (${_old_prefix}) is root-owned — redirecting to ${NPM_GLOBAL}…"
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meridian-agents"
7
- version = "1.14.0"
7
+ version = "1.14.2"
8
8
  description = "Meridian agents — hermes task linking and Jira progress updates for meridian.db"
9
9
  requires-python = ">=3.11"
10
10
  authors = [{ name = "Meridiona" }]
@@ -52,9 +52,22 @@ fi
52
52
  # than through the venv wrapper. The wrapper shebang causes Python to read
53
53
  # pyvenv.cfg at startup, which EPERM-fails when launchd launches the process
54
54
  # on macOS 15 (launchd inherits no TCC Documents permission).
55
+ #
56
+ # pyvenv.cfg format differs by creator:
57
+ # python -m venv → "executable = /path/to/python3.11"
58
+ # uv sync → "home = /path/to/bin" (no `executable` key)
59
+ # Try `executable` first, fall back to `home` + python3.11/python3/python.
55
60
  BASE_PYTHON=$(grep '^executable' "${VENV_CFG}" | awk '{print $3}')
61
+ if [[ -z "${BASE_PYTHON}" || ! -x "${BASE_PYTHON}" ]]; then
62
+ _home=$(grep '^home ' "${VENV_CFG}" | awk '{print $3}')
63
+ if [[ -n "${_home}" ]]; then
64
+ for _py in python3.11 python3 python; do
65
+ if [[ -x "${_home}/${_py}" ]]; then BASE_PYTHON="${_home}/${_py}"; break; fi
66
+ done
67
+ fi
68
+ fi
56
69
  if [[ ! -x "${BASE_PYTHON}" ]]; then
57
- echo "✗ base Python not found at ${BASE_PYTHON} (from ${VENV_CFG})" >&2
70
+ echo "✗ base Python not found (checked pyvenv.cfg executable + home keys in ${VENV_CFG})" >&2
58
71
  exit 1
59
72
  fi
60
73
 
package/ui.tar.gz CHANGED
Binary file