@meridiona/meridian-darwin-arm64 1.32.1 → 1.33.0

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.32.1
1
+ 1.33.0
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.32.1",
3
+ "version": "1.33.0",
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": {
@@ -86,8 +86,8 @@ fi
86
86
 
87
87
  # ── 4. Install @meridiona/meridian ───────────────────────────────────────────
88
88
  info "Installing @meridiona/meridian@latest…"
89
- info " The npm package is small; the Python venv + Node runtime (~200 MB) download"
90
- info " once during 'meridian setup' below. Budget 2–4 min on a typical connection."
89
+ info " The npm package is small; Python deps + Node runtime download once during"
90
+ info " 'meridian setup' below. Budget 2–4 min on a typical connection."
91
91
  npm install -g @meridiona/meridian@latest
92
92
  ok "meridian installed ($(meridian --version 2>/dev/null || echo 'version unknown'))"
93
93
 
@@ -568,10 +568,42 @@ else
568
568
  info "Installing MLX inference server launchd agent…"
569
569
  bash "${APP_ROOT}/services/scripts/install-mlx-server-daemon.sh" --port "${MLX_PORT}" || warn "MLX agent install failed"
570
570
  info "Waiting for the MLX server to load the model…"
571
+ _MLX_LOG="${HOME}/.meridian/logs/mlx-server.log"
572
+ _MLX_ERR="${HOME}/.meridian/logs/mlx-server-error.log"
571
573
  _w=0
574
+
575
+ # Stream both log files while polling so the user can see which model is
576
+ # loading and whether a download is in progress.
577
+ # mlx-server.log — JSON structured logs: model selection, readiness
578
+ # mlx-server-error.log — raw stderr: huggingface_hub download progress
579
+ # tail -F follows by name and retries if the file doesn't exist yet.
580
+ (tail -F "${_MLX_LOG}" 2>/dev/null | python3 -u -c '
581
+ import sys, json
582
+ for line in sys.stdin:
583
+ line = line.rstrip()
584
+ if not line:
585
+ continue
586
+ try:
587
+ d = json.loads(line)
588
+ lvl = d.get("level", "INFO")
589
+ msg = d.get("message", line)
590
+ prefix = " ⚠ " if lvl in ("WARNING", "ERROR") else " · "
591
+ print(prefix + msg, flush=True)
592
+ except Exception:
593
+ print(" " + line, flush=True)
594
+ ') &
595
+ _log_pid=$!
596
+ (tail -F "${_MLX_ERR}" 2>/dev/null | while IFS= read -r _eline; do
597
+ printf ' %s\n' "${_eline}"
598
+ done) &
599
+ _err_pid=$!
600
+
572
601
  until curl -sf "http://127.0.0.1:${MLX_PORT}/health" >/dev/null 2>&1; do
573
- sleep 3; _w=$((_w+3)); [[ $_w -ge 300 ]] && { warn "MLX not ready after 300s — check: meridian logs mlx-server"; break; }
602
+ sleep 3; _w=$((_w+3))
603
+ [[ $_w -ge 300 ]] && { warn "MLX not ready after 300s — check: meridian logs mlx-server"; break; }
574
604
  done
605
+ { kill "${_log_pid}" "${_err_pid}" 2>/dev/null; wait "${_log_pid}" "${_err_pid}" 2>/dev/null; } || true
606
+
575
607
  # Only stamp after confirmed ready — prevents stale stamp on a failed restart.
576
608
  if curl -sf "http://127.0.0.1:${MLX_PORT}/health" >/dev/null 2>&1; then
577
609
  ok "MLX server ready (${_w}s)"
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meridian-agents"
7
- version = "1.32.1"
8
- description = "Meridian agents — hermes task linking and Jira progress updates for meridian.db"
7
+ version = "1.33.0"
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" }]
11
11
  license = { text = "MIT" }
@@ -53,9 +53,9 @@ meridian-server = "agents.server:main"
53
53
 
54
54
  [tool.uv]
55
55
  # Lock all extras so `uv lock` produces a complete, reproducible uv.lock.
56
- # The shipped venv installs BOTH server-side extras — `uv sync --extra mlx
57
- # --extra pm_worklog_update` — because the one MLX server serves
58
- # /classify_sessions (mlx) AND /synthesise_worklog (agno, pm_worklog_update).
56
+ # At install time both extras are synced — `uv sync --extra mlx --extra
57
+ # pm_worklog_update` — because the one MLX server serves /classify_sessions
58
+ # (mlx) AND /synthesise_worklog (agno, pm_worklog_update).
59
59
  constraint-dependencies = []
60
60
 
61
61
  [tool.setuptools.packages.find]
package/ui.tar.gz CHANGED
Binary file