@meridiona/meridian-darwin-arm64 1.34.1 → 1.34.3

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.34.1
1
+ 1.34.3
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.34.1",
3
+ "version": "1.34.3",
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": {
@@ -605,7 +605,12 @@ for line in sys.stdin:
605
605
  sleep 3; _w=$((_w+3))
606
606
  [[ $_w -ge 300 ]] && { warn "MLX not ready after 300s — check: meridian logs mlx-server"; break; }
607
607
  done
608
- { kill "${_log_pid}" "${_err_pid}" 2>/dev/null; wait "${_log_pid}" "${_err_pid}" 2>/dev/null; } || true
608
+ # kill python3/bash first, then explicitly kill the tail processes
609
+ # tail -F ignores SIGPIPE and survives as an orphan if only the reader dies.
610
+ { kill "${_log_pid}" "${_err_pid}" 2>/dev/null; \
611
+ pkill -f "tail.*mlx-server\\.log" 2>/dev/null; \
612
+ pkill -f "tail.*mlx-server-error\\.log" 2>/dev/null; \
613
+ wait "${_log_pid}" "${_err_pid}" 2>/dev/null; } || true
609
614
 
610
615
  # Only stamp after confirmed ready — prevents stale stamp on a failed restart.
611
616
  if curl -sf "http://127.0.0.1:${MLX_PORT}/health" >/dev/null 2>&1; then
@@ -476,35 +476,75 @@ cmd_update() {
476
476
  # --- uninstall ---
477
477
  cmd_uninstall() {
478
478
  local ans
479
- read -r -p "This will stop all daemons and remove /usr/local/bin/meridian. Continue? [y/N] " ans
479
+ read -r -p "This will stop all daemons, remove the app bundle, venv, npm package, and CLI symlinks. Your data (~/.meridian/*.db, logs) will NOT be deleted. Continue? [y/N] " ans
480
480
  if [[ "$ans" != "y" && "$ans" != "Y" ]]; then
481
481
  printf "(cancelled)\n"
482
482
  exit 0
483
483
  fi
484
484
 
485
485
  set +e
486
+
487
+ # 1. Stop and remove all launchd agents
486
488
  bash "${REPO_ROOT}/scripts/uninstall-ui-daemon.sh" 2>/dev/null
487
489
  bash "${REPO_ROOT}/services/scripts/uninstall-mlx-server-daemon.sh" 2>/dev/null
488
490
  bash "${REPO_ROOT}/scripts/uninstall-daemon.sh" 2>/dev/null
489
491
  bash "${REPO_ROOT}/scripts/uninstall-screenpipe-daemon.sh" 2>/dev/null
492
+ bash "${REPO_ROOT}/scripts/uninstall-tray-daemon.sh" 2>/dev/null
493
+ # a11y-helper plist
494
+ launchctl bootout "${GUI_TARGET}/com.meridiona.a11y-helper" 2>/dev/null || true
495
+ rm -f "${HOME}/Library/LaunchAgents/com.meridiona.a11y-helper.plist"
496
+
497
+ # 2. Kill any orphaned processes
490
498
  pkill -f "mlx_lm.server" 2>/dev/null || true
499
+
500
+ # 3. Remove CLI symlinks
491
501
  rm -f /usr/local/bin/meridian /usr/local/bin/meridian-daemon \
492
502
  "${HOME}/.local/bin/meridian" "${HOME}/.local/bin/meridian-daemon"
503
+
504
+ # 4. Remove the app bundle (binaries, venv, scripts, UI build)
505
+ rm -rf "${HOME}/.meridian/app"
506
+
507
+ # 5. Remove staged binaries
508
+ rm -f "${HOME}/.meridian/bin/meridian" \
509
+ "${HOME}/.meridian/bin/meridian-daemon" \
510
+ "${HOME}/.meridian/bin/meridian-tray" \
511
+ "${HOME}/.meridian/bin/screenpipe" \
512
+ "${HOME}/.meridian/bin/meridian-a11y-helper"
513
+
514
+ # 6. Uninstall the npm package
515
+ npm uninstall -g @meridiona/meridian 2>/dev/null || true
516
+
517
+ # 7. Remove the Claude Code SessionEnd hook
518
+ local settings="${HOME}/.claude/settings.json"
519
+ if [[ -f "${settings}" ]] && command -v python3 >/dev/null 2>&1; then
520
+ python3 - "${settings}" <<'PYEOF' 2>/dev/null || true
521
+ import json, sys
522
+ path = sys.argv[1]
523
+ with open(path) as f: d = json.load(f)
524
+ hooks = d.get("hooks", {})
525
+ se = hooks.get("SessionEnd", [])
526
+ hooks["SessionEnd"] = [e for e in se if "meridian" not in str(e)]
527
+ d["hooks"] = hooks
528
+ with open(path, "w") as f: json.dump(d, f, indent=2)
529
+ PYEOF
530
+ info "Claude Code SessionEnd hook removed"
531
+ fi
532
+
493
533
  set -e
494
534
 
495
- ok "uninstalled"
496
- printf " Data at ~/.meridian/ was not removed. Delete it manually if desired.\n"
535
+ ok "Meridian uninstalled"
536
+ printf " Kept: ~/.meridian/*.db, ~/.meridian/logs/ (your data)\n"
537
+ printf " Kept: screenpipe itself (uninstall separately if desired: brew uninstall screenpipe)\n"
497
538
  }
498
539
 
499
540
  # --- permissions ---
500
541
  cmd_permissions() {
501
- local sp_bin
502
- sp_bin="$(command -v screenpipe 2>/dev/null || echo "/opt/homebrew/bin/screenpipe")"
542
+ local sp_bin="${HOME}/.meridian/bin/screenpipe"
503
543
  info "screenpipe needs three macOS permissions to record activity"
504
544
  echo " binary path: ${sp_bin}"
505
545
  echo
506
- echo " Screen Recording + Accessibility panes: click '+', navigate to the"
507
- echo " binary path above, add it to the list, and toggle it ON."
546
+ echo " Screen Recording + Accessibility panes: click '+' ⌘⇧G → paste"
547
+ echo " the path above Open toggle ON."
508
548
  echo " Microphone pane has no '+'. screenpipe will appear there only after"
509
549
  echo " it tries to use the mic — then toggle it ON. If it isn't listed yet,"
510
550
  echo " grant Screen Recording first and screenpipe will request mic access."
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meridian-agents"
7
- version = "1.34.1"
7
+ version = "1.34.3"
8
8
  description = "Meridian agents — MLX classifier server and Jira worklog synthesis for meridian.db"
9
9
  requires-python = ">=3.11"
10
10
  authors = [{ name = "Meridiona" }]
package/ui.tar.gz CHANGED
Binary file