@meridiona/meridian-darwin-arm64 1.34.6 → 1.35.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.34.6
1
+ 1.35.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.34.6",
3
+ "version": "1.35.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": {
@@ -84,16 +84,8 @@ collect_credentials() {
84
84
  echo " (edit later anytime: meridian config edit)" >&2
85
85
  echo >&2
86
86
  if prompt_category "Jira"; then
87
- info "Easiest: skip the token prompts below and, after install, run"
88
- info " meridian oauth-login jira — connect in your browser, no API token."
89
- info "Or fill these in for the legacy API-token path:"
90
- prompt_env_var "JIRA_BASE_URL" "Jira URL (e.g. https://your-org.atlassian.net)" 0 "$env_file"
91
- # The Python side reads JIRA_URL, the Rust side JIRA_BASE_URL — keep both in sync.
92
- local jira_url; jira_url="$(get_env_value JIRA_BASE_URL "$env_file")"
93
- [[ -n "$jira_url" ]] && set_env_value JIRA_URL "$jira_url" "$env_file"
94
- prompt_env_var "JIRA_EMAIL" "Jira email" 0 "$env_file"
95
- prompt_env_var "JIRA_API_TOKEN" "Jira API token" 1 "$env_file"
96
- prompt_env_var "JIRA_PROJECT_KEYS" "Jira project keys (optional, comma-sep, e.g. KAN,ENG)" 0 "$env_file"
87
+ # OAuth-first; the prebuilt bundle binary is available, so log in inline.
88
+ _connect_jira "$env_file" "${APP_ROOT}/bin/meridian"
97
89
  fi
98
90
  echo >&2
99
91
  if prompt_category "GitHub"; then
@@ -116,8 +108,9 @@ collect_credentials() {
116
108
  ok "Credential collection complete"
117
109
  }
118
110
 
119
- # GitHub setup helpers — shared with install.sh.
111
+ # GitHub + Jira setup helpers — shared with install.sh.
120
112
  source "${APP_ROOT}/scripts/lib-github-setup.sh"
113
+ source "${APP_ROOT}/scripts/lib-jira-setup.sh"
121
114
 
122
115
  GUI_TARGET="gui/$(id -u)"
123
116
  LAUNCH_AGENTS="${HOME}/Library/LaunchAgents"
@@ -0,0 +1,80 @@
1
+ # meridian — normalises screenpipe activity into structured app sessions
2
+ #
3
+ # Shared Jira credential-collection helper for install.sh + install-from-bundle.sh.
4
+ # OAuth-first: when a runnable meridian binary is available, connect Jira in the
5
+ # browser now (writes ~/.meridian/oauth/jira.json — no .env creds, auto-refreshed,
6
+ # and the daemon picks it up on its next start/restart with no extra command). The
7
+ # static API token is the FALLBACK for users whose Atlassian org blocks
8
+ # third-party OAuth apps.
9
+ #
10
+ # Depends (late-binding) on info/ok/warn + prompt_env_var/get_env_value/set_env_value
11
+ # from the sourcing installer. When the meridian binary isn't built yet (source
12
+ # install, prompt runs before `cargo build`), this sets the global
13
+ # MERIDIAN_JIRA_OAUTH_PENDING=1 so the caller can run `meridian oauth-login jira`
14
+ # after the build, before the daemon starts.
15
+
16
+ # _jira_token_fallback <env_file> — the legacy basic-auth path (email + API token).
17
+ _jira_token_fallback() {
18
+ local env_file="$1"
19
+ info "API-token path — create one at https://id.atlassian.com/manage-profile/security/api-tokens"
20
+ prompt_env_var "JIRA_BASE_URL" "Jira URL (e.g. https://your-org.atlassian.net)" 0 "$env_file"
21
+ # The Python side reads JIRA_URL, the Rust side JIRA_BASE_URL — keep both in sync.
22
+ local jira_url
23
+ jira_url="$(get_env_value JIRA_BASE_URL "$env_file")"
24
+ [[ -n "$jira_url" ]] && set_env_value JIRA_URL "$jira_url" "$env_file"
25
+ prompt_env_var "JIRA_EMAIL" "Jira email" 0 "$env_file"
26
+ prompt_env_var "JIRA_API_TOKEN" "Jira API token" 1 "$env_file"
27
+ }
28
+
29
+ # _connect_jira <env_file> <meridian_bin> — OAuth-first Jira connection.
30
+ # Offers browser OAuth (recommended); falls back to the API token on decline,
31
+ # failure, or when no binary is available yet (then deferred via the global).
32
+ _connect_jira() {
33
+ local env_file="$1" bin="${2:-}"
34
+ local ans
35
+
36
+ info "Jira sign-in opens your browser — you'll log in to your own Jira site."
37
+ info " (If your org requires admin approval for third-party apps, choose n and use an API token instead.)"
38
+ read -r -p " Connect Jira in your browser? (recommended — no API token) [Y/n] " ans
39
+ if [[ "$ans" =~ ^[Nn] ]]; then
40
+ _jira_token_fallback "$env_file"
41
+ prompt_env_var "JIRA_PROJECT_KEYS" "Jira project keys (optional, comma-sep, e.g. KAN,ENG)" 0 "$env_file"
42
+ return 0
43
+ fi
44
+
45
+ if [[ -n "$bin" && -x "$bin" ]]; then
46
+ # Binary is ready — open the browser now. The token store the login writes
47
+ # is read by the daemon on its next start/restart (which the installer does
48
+ # after this), so there's no separate command to run.
49
+ info "Opening your browser to authorize Jira…"
50
+ if "$bin" oauth-login jira; then
51
+ ok "Jira connected via browser OAuth"
52
+ else
53
+ warn "Browser sign-in didn't complete."
54
+ warn "If your Atlassian org blocks third-party apps, use an API token instead:"
55
+ _jira_token_fallback "$env_file"
56
+ fi
57
+ else
58
+ # Binary not built yet (source install) — defer the login to after the build.
59
+ MERIDIAN_JIRA_OAUTH_PENDING=1
60
+ info "Will open your browser to authorize Jira once the build finishes."
61
+ fi
62
+
63
+ prompt_env_var "JIRA_PROJECT_KEYS" "Jira project keys (optional, comma-sep, e.g. KAN,ENG)" 0 "$env_file"
64
+ }
65
+
66
+ # _run_pending_jira_oauth <meridian_bin> <env_file> — invoked by the source
67
+ # installer after the build (binary now exists) to fulfil a deferred OAuth login.
68
+ # Falls back to an API-token prompt if the browser flow doesn't complete.
69
+ _run_pending_jira_oauth() {
70
+ local bin="$1" env_file="$2"
71
+ [[ "${MERIDIAN_JIRA_OAUTH_PENDING:-0}" == "1" ]] || return 0
72
+ MERIDIAN_JIRA_OAUTH_PENDING=0
73
+ if [[ -x "$bin" ]] && "$bin" oauth-login jira; then
74
+ ok "Jira connected via browser OAuth"
75
+ else
76
+ warn "Jira browser sign-in didn't complete."
77
+ warn "If your org blocks third-party apps, add an API token: meridian config edit"
78
+ _jira_token_fallback "$env_file"
79
+ fi
80
+ }
@@ -49,6 +49,7 @@ Commands:
49
49
  worklog-status Show today's PM worklogs (done/pending/drafted/posted + comments)
50
50
  [--day YYYY-MM-DD]
51
51
  config edit Open the repo-root .env in $EDITOR
52
+ oauth-login jira Connect Jira via your browser (OAuth — no API token)
52
53
  permissions Open macOS permission panes for screenpipe
53
54
  update Pull latest changes, rebuild, and restart (source checkout only)
54
55
  uninstall Stop daemons and remove CLI symlinks
@@ -771,7 +772,7 @@ case "$CMD" in
771
772
  uninstall) cmd_uninstall ;;
772
773
  permissions) cmd_permissions ;;
773
774
  version|--version|-v) cat "${REPO_ROOT}/VERSION" 2>/dev/null || echo "unknown" ;;
774
- worklog-status|pm-worklog|coding-agent-hook|coding-agent-summarise|coding-agent-classify|coding-agent-install-skill) cmd_daemon_passthrough "$CMD" "$@" ;;
775
+ worklog-status|pm-worklog|coding-agent-hook|coding-agent-summarise|coding-agent-classify|coding-agent-install-skill|oauth-login|tasks-sync) cmd_daemon_passthrough "$CMD" "$@" ;;
775
776
  --help|-h|help|"") cmd_help ;;
776
777
  *) err "unknown command: ${CMD}"; echo; cmd_help; exit 1 ;;
777
778
  esac
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meridian-agents"
7
- version = "1.34.6"
7
+ version = "1.35.0"
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