@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 +1 -1
- package/bin/meridian +0 -0
- package/package.json +1 -1
- package/scripts/bootstrap.sh +2 -2
- package/scripts/install-from-bundle.sh +33 -1
- package/services/pyproject.toml +5 -5
- package/ui.tar.gz +0 -0
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
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.
|
|
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": {
|
package/scripts/bootstrap.sh
CHANGED
|
@@ -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;
|
|
90
|
-
info "
|
|
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))
|
|
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)"
|
package/services/pyproject.toml
CHANGED
|
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "meridian-agents"
|
|
7
|
-
version = "1.
|
|
8
|
-
description = "Meridian agents —
|
|
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
|
-
#
|
|
57
|
-
#
|
|
58
|
-
#
|
|
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
|