@meridiona/meridian-darwin-arm64 1.27.6 → 1.28.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/.env.example +17 -0
- package/VERSION +1 -1
- package/bin/meridian +0 -0
- package/package.json +1 -1
- package/scripts/install-from-bundle.sh +34 -0
- package/services/pyproject.toml +1 -1
- package/services/scripts/install-claude-hook.sh +16 -3
- package/ui.tar.gz +0 -0
package/.env.example
CHANGED
|
@@ -120,6 +120,23 @@
|
|
|
120
120
|
# Confident AI key for the classifier eval harness (services/tests/evals only).
|
|
121
121
|
# CONFIDENT_API_KEY=
|
|
122
122
|
|
|
123
|
+
# ---------------------------------------------------------------------------
|
|
124
|
+
# Coding-agent ingest (optional — all defaults are correct on a stock machine)
|
|
125
|
+
# ---------------------------------------------------------------------------
|
|
126
|
+
|
|
127
|
+
# Let the daemon install the cursor-agent CLI when a Cursor session needs
|
|
128
|
+
# summarising and the CLI is missing. The installer is unpinned remote code
|
|
129
|
+
# (curl https://cursor.com/install | bash), so this is an explicit opt-in;
|
|
130
|
+
# when off, Cursor summaries fall back to the local MLX model.
|
|
131
|
+
# CURSOR_AGENT_AUTO_INSTALL=0
|
|
132
|
+
|
|
133
|
+
# Source-store location overrides (only needed for non-standard installs).
|
|
134
|
+
# COPILOT_SESSION_STATE_DIR=~/.copilot/session-state
|
|
135
|
+
# VSCODE_USER_DIR=~/Library/Application Support/Code/User
|
|
136
|
+
# CURSOR_STATE_VSCDB=~/Library/Application Support/Cursor/User/globalStorage/state.vscdb
|
|
137
|
+
# CURSOR_CLI_CHATS_DIR=~/.cursor/chats
|
|
138
|
+
# ANTIGRAVITY_APP_DIR=~/Library/Application Support/Antigravity
|
|
139
|
+
|
|
123
140
|
# ---------------------------------------------------------------------------
|
|
124
141
|
# OpenObserve / OpenTelemetry (optional — enables distributed tracing and
|
|
125
142
|
# structured log ingestion into a local OpenObserve instance)
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.28.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.28.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": {
|
|
@@ -623,6 +623,40 @@ else
|
|
|
623
623
|
bash "${APP_ROOT}/scripts/install-daemon.sh" || warn "daemon agent install failed"
|
|
624
624
|
fi
|
|
625
625
|
|
|
626
|
+
# Claude Code SessionEnd hook: seals each Claude session into app_sessions the
|
|
627
|
+
# instant it ends (the indexer sweep + 1 h idle seal are only the fallback).
|
|
628
|
+
# Idempotent merge into ~/.claude/settings.json; also purges retired Python
|
|
629
|
+
# hook entries on upgrade. Pin the binary to the installed bundle copy.
|
|
630
|
+
info "Installing Claude Code coding-agent SessionEnd hook…"
|
|
631
|
+
if MERIDIAN_BIN="${APP_ROOT}/bin/meridian" bash "${APP_ROOT}/services/scripts/install-claude-hook.sh" >/dev/null 2>&1; then
|
|
632
|
+
ok "Claude Code SessionEnd hook installed"
|
|
633
|
+
else
|
|
634
|
+
warn "coding-agent hook install skipped (Claude sessions still seal via the idle backstop)"
|
|
635
|
+
fi
|
|
636
|
+
|
|
637
|
+
# Coding-agent summariser engines (informational): each agent's sessions are
|
|
638
|
+
# summarised by its OWN CLI when present; a missing CLI is never fatal — those
|
|
639
|
+
# sessions fall back to the local MLX model. Surface what the daemon will use
|
|
640
|
+
# so users know why a summary came from MLX. `meridian doctor` re-checks all
|
|
641
|
+
# of this any time.
|
|
642
|
+
info "Coding-agent summariser engines:"
|
|
643
|
+
for _eng in claude codex copilot; do
|
|
644
|
+
if command -v "${_eng}" >/dev/null 2>&1; then
|
|
645
|
+
ok "${_eng} CLI found — those sessions summarise natively"
|
|
646
|
+
else
|
|
647
|
+
info " ${_eng} CLI not found — those sessions will use the local model (MLX)"
|
|
648
|
+
fi
|
|
649
|
+
done
|
|
650
|
+
if command -v cursor >/dev/null 2>&1 || [[ -d "${HOME}/Library/Application Support/Cursor" ]]; then
|
|
651
|
+
if command -v cursor-agent >/dev/null 2>&1; then
|
|
652
|
+
ok "cursor-agent CLI found — verify auth with: cursor-agent status"
|
|
653
|
+
else
|
|
654
|
+
info " Cursor detected but the cursor-agent CLI is missing — Cursor summaries will use the local model (MLX)."
|
|
655
|
+
info " To summarise with Cursor's own CLI: curl https://cursor.com/install -fsS | bash then: cursor-agent login"
|
|
656
|
+
info " Or let the daemon install it on demand: add CURSOR_AGENT_AUTO_INSTALL=1 to ${HOME}/.meridian/app/.env"
|
|
657
|
+
fi
|
|
658
|
+
fi
|
|
659
|
+
|
|
626
660
|
# UI: skip daemon restart when the build didn't change (tarball hash matched).
|
|
627
661
|
if [[ "${_ui_changed}" -eq 0 ]]; then
|
|
628
662
|
ok "Dashboard unchanged — skipping restart"
|
package/services/pyproject.toml
CHANGED
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "meridian-agents"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.28.0"
|
|
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" }]
|
|
@@ -22,9 +22,15 @@ SERVICES_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
|
|
22
22
|
REPO_ROOT="$(cd "${SERVICES_DIR}/.." && pwd)"
|
|
23
23
|
|
|
24
24
|
# Locate the meridian binary that owns the `coding-agent-hook` subcommand.
|
|
25
|
-
#
|
|
26
|
-
|
|
25
|
+
# Resolution order: explicit MERIDIAN_BIN override (bundle installer passes
|
|
26
|
+
# the installed binary), the release build in this repo, the bundle install
|
|
27
|
+
# location, then whatever is on PATH.
|
|
28
|
+
if [[ -n "${MERIDIAN_BIN:-}" && -x "${MERIDIAN_BIN}" ]]; then
|
|
29
|
+
: # caller pinned the binary
|
|
30
|
+
elif [[ -x "${REPO_ROOT}/target/release/meridian" ]]; then
|
|
27
31
|
MERIDIAN_BIN="${REPO_ROOT}/target/release/meridian"
|
|
32
|
+
elif [[ -x "${HOME}/.meridian/app/bin/meridian" ]]; then
|
|
33
|
+
MERIDIAN_BIN="${HOME}/.meridian/app/bin/meridian"
|
|
28
34
|
elif command -v meridian >/dev/null 2>&1; then
|
|
29
35
|
MERIDIAN_BIN="$(command -v meridian)"
|
|
30
36
|
elif command -v meridian-daemon >/dev/null 2>&1; then
|
|
@@ -82,12 +88,19 @@ new_entry = {
|
|
|
82
88
|
# "coding-agent-hook". Claude Code strips unknown JSON fields (like the
|
|
83
89
|
# former "_meridian" marker) on every save, so command-string matching
|
|
84
90
|
# is the only reliable idempotency mechanism.
|
|
91
|
+
#
|
|
92
|
+
# "coding_agent_indexer" matches the retired Python hook (`python -m
|
|
93
|
+
# coding_agent_indexer.hook`) — the package was removed when the indexer
|
|
94
|
+
# moved into the Rust daemon, so stale entries just error on every
|
|
95
|
+
# SessionEnd. Purge them on upgrade.
|
|
96
|
+
OUR_MARKERS = ("coding-agent-hook", "coding_agent_indexer")
|
|
85
97
|
filtered = []
|
|
86
98
|
removed = 0
|
|
87
99
|
for group in session_end:
|
|
88
100
|
is_ours = any(
|
|
89
|
-
|
|
101
|
+
marker in h.get("command", "")
|
|
90
102
|
for h in group.get("hooks", [])
|
|
103
|
+
for marker in OUR_MARKERS
|
|
91
104
|
)
|
|
92
105
|
if is_ours:
|
|
93
106
|
removed += 1
|
package/ui.tar.gz
DELETED
|
Binary file
|