@meridiona/meridian-darwin-arm64 1.13.0 → 1.14.1

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.13.0
1
+ 1.14.1
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.13.0",
3
+ "version": "1.14.1",
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": {
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env bash
2
+ # meridian — normalises screenpipe activity into structured app sessions
3
+ #
4
+ # Bootstrap installer. Fixes the npm global prefix when it is root-owned (the
5
+ # most common reason `npm install -g` fails with EACCES on a stock macOS Node
6
+ # install), installs @meridiona/meridian, then hands off to `meridian setup`.
7
+ #
8
+ # One-liner usage (download + inspect first if you prefer):
9
+ # curl -fsSL https://raw.githubusercontent.com/Meridiona/meridian/main/scripts/bootstrap.sh | bash
10
+ #
11
+ # Or run directly from a clone:
12
+ # bash scripts/bootstrap.sh
13
+ #
14
+ # Re-running is safe — all steps are idempotent.
15
+
16
+ set -euo pipefail
17
+
18
+ info() { printf '→ %s\n' "$*"; }
19
+ ok() { printf ' ✓ %s\n' "$*"; }
20
+ warn() { printf ' ⚠ %s\n' "$*" >&2; }
21
+ err() { printf '✗ %s\n' "$*" >&2; exit 1; }
22
+
23
+ # ── 0. Platform + safety guards ──────────────────────────────────────────────
24
+ [[ "$(uname -s)" == "Darwin" ]] || err "Meridian requires macOS."
25
+ [[ "$(uname -m)" == "arm64" ]] || err "Meridian requires Apple Silicon (arm64)."
26
+ [[ "$(id -u)" -ne 0 ]] || err "Do not run as root / with sudo. Re-run as your normal user."
27
+
28
+ # ── 1. Homebrew ───────────────────────────────────────────────────────────────
29
+ command -v brew >/dev/null 2>&1 \
30
+ || err "Homebrew is required. Install it from https://brew.sh then re-run."
31
+ ok "Homebrew"
32
+
33
+ # ── 2. Node.js ────────────────────────────────────────────────────────────────
34
+ if ! command -v node >/dev/null 2>&1; then
35
+ info "Installing Node.js via Homebrew…"
36
+ brew install node
37
+ fi
38
+ ok "Node $(node --version)"
39
+
40
+ # ── 3. npm global prefix — ensure it is user-writable ─────────────────────
41
+ # A system Node install (/usr/local) has a root-owned prefix; npm install -g
42
+ # fails with EACCES. Fix: redirect the prefix to ~/.npm-global (user-owned)
43
+ # and add ~/.npm-global/bin to PATH in the user's shell profile. This is a
44
+ # permanent, one-time change — subsequent `npm install -g` commands (including
45
+ # `meridian update`) just work without sudo.
46
+ npm_global_writable() {
47
+ local prefix; prefix="$(npm config get prefix 2>/dev/null || true)"
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)" ]]
54
+ }
55
+
56
+ NPM_GLOBAL="${HOME}/.npm-global"
57
+
58
+ if npm_global_writable; then
59
+ ok "npm prefix ($(npm config get prefix)) is user-writable — no fix needed"
60
+ else
61
+ _old_prefix="$(npm config get prefix 2>/dev/null || true)"
62
+ info "npm prefix (${_old_prefix}) is root-owned — redirecting to ${NPM_GLOBAL}…"
63
+ mkdir -p "${NPM_GLOBAL}"
64
+ npm config set prefix "${NPM_GLOBAL}"
65
+
66
+ # Patch the user's shell profile so the fix survives new terminals.
67
+ _profile=""
68
+ case "${SHELL:-}" in
69
+ */zsh) _profile="${ZDOTDIR:-${HOME}}/.zshrc" ;;
70
+ */bash) _profile="${HOME}/.bash_profile" ;;
71
+ esac
72
+ _export='export PATH="${HOME}/.npm-global/bin:${PATH}"'
73
+ if [[ -n "${_profile}" ]] && ! grep -qF '.npm-global/bin' "${_profile}" 2>/dev/null; then
74
+ {
75
+ printf '\n# Added by meridian bootstrap — npm global prefix\n'
76
+ printf '%s\n' "${_export}"
77
+ } >> "${_profile}"
78
+ ok "Added ~/.npm-global/bin to PATH in ${_profile}"
79
+ warn "Open a new terminal (or run: source ${_profile}) after setup to pick up PATH."
80
+ fi
81
+
82
+ # Apply for this session so meridian is immediately on PATH after install.
83
+ export PATH="${NPM_GLOBAL}/bin:${PATH}"
84
+ ok "npm prefix → ${NPM_GLOBAL} (user-writable, no sudo needed)"
85
+ fi
86
+
87
+ # ── 4. Install @meridiona/meridian ───────────────────────────────────────────
88
+ info "Installing @meridiona/meridian@latest…"
89
+ npm install -g @meridiona/meridian@latest
90
+ ok "meridian installed ($(meridian --version 2>/dev/null || echo 'version unknown'))"
91
+
92
+ # ── 5. Hand off to meridian setup ────────────────────────────────────────────
93
+ echo ""
94
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
95
+ echo " meridian is installed. Running setup now…"
96
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
97
+ echo ""
98
+
99
+ # When run interactively (direct bash invocation), exec meridian setup so it
100
+ # owns the terminal for the permission walkthrough. When piped (curl | bash)
101
+ # there is no TTY for interactive prompts — skip permissions and print a
102
+ # reminder; the user runs `meridian setup` once they have a full terminal.
103
+ if [[ -t 0 && -t 1 ]]; then
104
+ exec meridian setup
105
+ else
106
+ meridian setup --skip-permissions
107
+ echo ""
108
+ echo " Next step: open a new terminal and run:"
109
+ echo ""
110
+ echo " meridian setup"
111
+ echo ""
112
+ echo " This grants macOS Screen Recording + Accessibility to screenpipe"
113
+ echo " and collects your Jira / GitHub / Linear credentials."
114
+ fi
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meridian-agents"
7
- version = "1.13.0"
7
+ version = "1.14.1"
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" }]
package/ui.tar.gz CHANGED
Binary file