@quantiya/codevibe 1.0.71 → 2.0.3

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # CodeVibe
2
2
 
3
- **Control Claude Code, Gemini CLI, and OpenAI Codex CLI from your iPhone and Android.**
3
+ **Control Claude Code, OpenAI Codex CLI, and Antigravity CLI from your iPhone and Android.**
4
4
 
5
5
  See your agent's work in real time, approve file edits on the go, dictate prompts by voice, send screenshots — all from your phone, anywhere you are. End-to-end encrypted.
6
6
 
@@ -20,8 +20,8 @@ This installs everything automatically: Node.js, tmux, Claude Code, the CodeVibe
20
20
 
21
21
  ```bash
22
22
  codevibe-claude # for Claude Code
23
- codevibe-gemini # for Gemini CLI
24
23
  codevibe-codex # for OpenAI Codex CLI
24
+ codevibe-agy # for Antigravity CLI
25
25
  ```
26
26
 
27
27
  Your session appears on your phone automatically.
@@ -52,7 +52,7 @@ codevibe --help # Show all commands
52
52
  - **📷 Image attachments** — send screenshots or photos alongside messages
53
53
  - **🔔 Push notifications** — never block on permission dialogs again
54
54
  - **📬 Delivery confirmation** — checkmarks for sent, delivered, and executed
55
- - **🧠 Multi-agent** — Claude Code, Gemini CLI, and Codex CLI sessions in one app, side-by-side
55
+ - **🧠 Multi-agent** — Claude Code, Codex CLI, and Antigravity CLI sessions in one app, side-by-side
56
56
  - **🔒 End-to-end encrypted** — AES-256-GCM; your prompts never pass through a server that can read them
57
57
  - **📡 Offline queue** — messages queue when offline, auto-send on reconnect
58
58
  - **🔓 Locked-screen support** — works even when your computer screen is locked, via tmux
@@ -66,7 +66,7 @@ codevibe --help # Show all commands
66
66
 
67
67
  ## Why CodeVibe
68
68
 
69
- Long-running agents (Claude Code, Gemini CLI, Codex CLI) need human-in-the-loop approvals for file edits, shell commands, and policy-sensitive actions. When you step away from your desk, those approvals block your agent indefinitely. CodeVibe moves the approval to your phone — same options, same semantics, with the bonus of voice prompts and image attachments from anywhere.
69
+ Long-running agents (Claude Code, Codex CLI, Antigravity CLI) need human-in-the-loop approvals for file edits, shell commands, and policy-sensitive actions. When you step away from your desk, those approvals block your agent indefinitely. CodeVibe moves the approval to your phone — same options, same semantics, with the bonus of voice prompts and image attachments from anywhere.
70
70
 
71
71
  It's not a chat app. It's a remote control for the coding agents you already use.
72
72
 
@@ -87,11 +87,11 @@ It's not a chat app. It's a remote control for the coding agents you already use
87
87
  `@quantiya/codevibe` is a meta-package that installs:
88
88
 
89
89
  - The `codevibe` CLI (login, logout, update, status)
90
- - Wrapper binaries: `codevibe-claude`, `codevibe-gemini`, `codevibe-codex`
91
- - All three plugin packages as dependencies:
90
+ - Wrapper binaries: `codevibe-claude`, `codevibe-codex`, `codevibe-agy`
91
+ - The plugin packages as dependencies:
92
92
  - [`@quantiya/codevibe-claude-plugin`](https://www.npmjs.com/package/@quantiya/codevibe-claude-plugin)
93
- - [`@quantiya/codevibe-gemini-plugin`](https://www.npmjs.com/package/@quantiya/codevibe-gemini-plugin)
94
93
  - [`@quantiya/codevibe-codex-plugin`](https://www.npmjs.com/package/@quantiya/codevibe-codex-plugin)
94
+ - [`@quantiya/codevibe-antigravity-plugin`](https://www.npmjs.com/package/@quantiya/codevibe-antigravity-plugin)
95
95
  - The shared [`@quantiya/codevibe-core`](https://www.npmjs.com/package/@quantiya/codevibe-core) library
96
96
 
97
97
  You install this one package; it pulls in everything else.
package/bin/codevibe CHANGED
@@ -3,7 +3,7 @@
3
3
  # codevibe - CodeVibe CLI
4
4
  #
5
5
  # Manages authentication, updates, and plugin lifecycle.
6
- # Authentication is shared across all CodeVibe plugins (Claude, Codex, Gemini, Antigravity).
6
+ # Authentication is shared across all CodeVibe plugins (Claude, Codex, Antigravity).
7
7
  #
8
8
  # Usage:
9
9
  # codevibe login # Sign in via browser
@@ -53,10 +53,14 @@ show_help() {
53
53
  echo " update Update all CodeVibe packages and Claude plugin"
54
54
  echo " version Show installed package versions"
55
55
  echo " reset-device Reset device identity (destructive)"
56
+ echo " orchestration Configure Quorum 2.0 reviewer policy (enable/disable/configure)"
57
+ echo ""
58
+ echo "Run 'codevibe' with no arguments to launch the orchestration shell"
59
+ echo "(Pro/Max only — Free tier hands off to Companion mode)."
60
+ echo "Use --mode {companion|orchestration} to override mode selection."
56
61
  echo ""
57
62
  echo "Agent wrappers:"
58
63
  echo " codevibe-claude Start Claude Code with mobile sync"
59
- echo " codevibe-gemini Start Gemini CLI with mobile sync"
60
64
  echo " codevibe-codex Start Codex CLI with mobile sync"
61
65
  echo " codevibe-agy Start Antigravity CLI with mobile sync"
62
66
  echo ""
@@ -85,7 +89,7 @@ show_version() {
85
89
  fi
86
90
 
87
91
  # Plugin versions
88
- for plugin in claude gemini codex antigravity; do
92
+ for plugin in claude codex antigravity; do
89
93
  PKG="$PACKAGE_DIR/node_modules/@quantiya/codevibe-${plugin}-plugin/package.json"
90
94
  if [ -f "$PKG" ]; then
91
95
  VER=$(node -p "require('$PKG').version" 2>/dev/null || echo "?")
@@ -107,11 +111,6 @@ show_version() {
107
111
  _print_cli_section_header
108
112
  echo -e " Claude Code ${GREEN}$CLAUDE_VER${NC}"
109
113
  fi
110
- if command -v gemini >/dev/null 2>&1; then
111
- GEMINI_VER=$(gemini --version 2>/dev/null | head -1 || echo "?")
112
- _print_cli_section_header
113
- echo -e " Gemini CLI ${GREEN}$GEMINI_VER${NC}"
114
- fi
115
114
  if command -v codex >/dev/null 2>&1; then
116
115
  CODEX_VER=$(codex --version 2>/dev/null | head -1 || echo "?")
117
116
  _print_cli_section_header
@@ -317,8 +316,19 @@ do_update() {
317
316
 
318
317
  # ─── Command routing ─────────────────────────────────────────────────
319
318
 
319
+ # CodeVibe 2.0 CP-1.a: when no recognized subcommand is provided AND
320
+ # argv either contains a mode flag (`--mode|--orchestration|--companion`)
321
+ # OR no args at all, dispatch to the orchestration-shell CLI bundled
322
+ # inside @quantiya/codevibe-core. Existing subcommands keep their Bash
323
+ # routing.
324
+ #
325
+ # The dispatch arm sits BELOW the existing case statement; the case
326
+ # statement falls through to the default `*` arm only when the first
327
+ # token is not recognized AND not "" (handled by --help arm). The
328
+ # 2.0-mode dispatch is checked BEFORE the unknown-command exit.
329
+
320
330
  case "$1" in
321
- --help|-h|help|"")
331
+ --help|-h|help)
322
332
  show_help
323
333
  exit 0
324
334
  ;;
@@ -330,15 +340,58 @@ case "$1" in
330
340
  do_update
331
341
  exit $?
332
342
  ;;
333
- login|logout|status|reset-device)
334
- # Delegate to codevibe-core CLI
343
+ login|logout|status|reset-device|orchestration)
344
+ # Delegate to codevibe-core CLI. `orchestration` is a Quorum 2.0
345
+ # subcommand (2f.0.a.4) with its own sub-dispatch for
346
+ # enable/disable/status/configure — routed through runAuthCli's
347
+ # switch so core's CLI entry point stays the single Node entry.
335
348
  CORE_CLI="$PACKAGE_DIR/node_modules/@quantiya/codevibe-core/bin/codevibe.js"
336
- if [ -f "$CORE_CLI" ]; then
337
- exec node "$CORE_CLI" "$@"
338
- else
339
- echo "Error: @quantiya/codevibe-core not found. Try reinstalling: npm install -g @quantiya/codevibe" >&2
340
- exit 1
349
+ if [ ! -f "$CORE_CLI" ]; then
350
+ # Local-dev fallback: meta + core repos as workspace siblings, so
351
+ # `./bin/codevibe login` works when invoked directly from a checked-out
352
+ # codevibe repo without `npm install`. No effect on global install
353
+ # since the primary path resolves first.
354
+ WORKSPACE_CLI="$(dirname "$PACKAGE_DIR")/codevibe-core/bin/codevibe.js"
355
+ if [ -f "$WORKSPACE_CLI" ]; then
356
+ CORE_CLI="$WORKSPACE_CLI"
357
+ else
358
+ echo "Error: @quantiya/codevibe-core not found. Try reinstalling: npm install -g @quantiya/codevibe" >&2
359
+ exit 1
360
+ fi
341
361
  fi
362
+ exec node "$CORE_CLI" "$@"
363
+ ;;
364
+ model|""|--mode|--orchestration|--companion|--agent|--forget-agent|--)
365
+ # CodeVibe 2.0 CP-1.a: empty args OR any mode/agent/forget flag OR
366
+ # the POSIX `--` argv terminator → orchestration shell. The TS
367
+ # parser handles flag re-ordering + the `--` separator. Per
368
+ # Stage 2 r2 Codex MEDIUM-1.
369
+ #
370
+ # `model` (install/status/remove/health-check) also routes here: the
371
+ # orchestration-shell CLI owns the local Gemma runtime, so it dispatches
372
+ # the `model` subcommand rather than launching the shell. Without this,
373
+ # `codevibe model ...` fell through to the unknown-command arm on a real
374
+ # host install (it only worked in-container where cli.js is invoked
375
+ # directly).
376
+ SHELL_CLI=$(node -e "try { console.log(require.resolve('@quantiya/codevibe-core/dist/orchestration-shell/cli.js')) } catch(e) { process.exit(1) }" 2>/dev/null)
377
+ if [ -n "$SHELL_CLI" ] && [ -f "$SHELL_CLI" ]; then
378
+ exec node "$SHELL_CLI" "$@"
379
+ fi
380
+ # Fallback to a local lookup relative to this script.
381
+ SHELL_CLI_LOCAL="$PACKAGE_DIR/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.js"
382
+ if [ -f "$SHELL_CLI_LOCAL" ]; then
383
+ exec node "$SHELL_CLI_LOCAL" "$@"
384
+ fi
385
+ # Workspace-sibling fallback: meta + core repos as siblings, so
386
+ # `./bin/codevibe --mode orchestration` works directly from a
387
+ # checked-out workspace without `npm install`. No effect on global
388
+ # install (primary path + node_modules fallback resolve first).
389
+ SHELL_CLI_WORKSPACE="$(dirname "$PACKAGE_DIR")/codevibe-core/dist/orchestration-shell/cli.js"
390
+ if [ -f "$SHELL_CLI_WORKSPACE" ]; then
391
+ exec node "$SHELL_CLI_WORKSPACE" "$@"
392
+ fi
393
+ echo "Error: codevibe-core orchestration-shell CLI not found. Try reinstalling: npm install -g @quantiya/codevibe" >&2
394
+ exit 1
342
395
  ;;
343
396
  *)
344
397
  echo "Unknown command: $1" >&2
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe",
3
- "version": "1.0.71",
4
- "description": "CodeVibe — Control Claude Code, Gemini CLI, Codex CLI, and Antigravity CLI from your iPhone and Android. Real-time sync, voice prompts, approve file edits, E2E encrypted.",
3
+ "version": "2.0.3",
4
+ "description": "CodeVibe — Control Claude Code, Codex CLI, and Antigravity CLI from your iPhone and Android. Real-time sync, voice prompts, approve file edits, E2E encrypted.",
5
5
  "bin": {
6
6
  "codevibe": "./bin/codevibe",
7
7
  "codevibe-claude": "./bin/codevibe-claude",
8
- "codevibe-gemini": "./bin/codevibe-gemini",
9
8
  "codevibe-codex": "./bin/codevibe-codex",
10
9
  "codevibe-agy": "./bin/codevibe-agy"
11
10
  },
@@ -15,18 +14,15 @@
15
14
  "LICENSE"
16
15
  ],
17
16
  "dependencies": {
18
- "@quantiya/codevibe-antigravity-plugin": "^1.0.13",
19
- "@quantiya/codevibe-claude-plugin": "^1.0.52",
20
- "@quantiya/codevibe-codex-plugin": "^1.0.49",
21
- "@quantiya/codevibe-core": "^1.0.32",
22
- "@quantiya/codevibe-gemini-plugin": "^1.0.39"
17
+ "@quantiya/codevibe-antigravity-plugin": "2.0.2",
18
+ "@quantiya/codevibe-claude-plugin": "2.0.2",
19
+ "@quantiya/codevibe-codex-plugin": "2.0.2",
20
+ "@quantiya/codevibe-core": "2.0.2"
23
21
  },
24
22
  "keywords": [
25
23
  "codevibe",
26
24
  "claude",
27
25
  "claude-code",
28
- "gemini",
29
- "gemini-cli",
30
26
  "codex",
31
27
  "codex-cli",
32
28
  "antigravity",
@@ -1,70 +0,0 @@
1
- #!/bin/bash
2
- # Thin wrapper that delegates to @quantiya/codevibe-gemini-plugin
3
-
4
- SOURCE="${BASH_SOURCE[0]}"
5
- while [ -L "$SOURCE" ]; do
6
- DIR="$(cd "$(dirname "$SOURCE")" && pwd)"
7
- SOURCE="$(readlink "$SOURCE")"
8
- [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE"
9
- done
10
- SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)"
11
-
12
- DELEGATE="$SCRIPT_DIR/../node_modules/@quantiya/codevibe-gemini-plugin/bin/codevibe-gemini"
13
-
14
- if [ ! -f "$DELEGATE" ]; then
15
- echo "Error: @quantiya/codevibe-gemini-plugin not found. Try reinstalling: npm install -g @quantiya/codevibe" >&2
16
- exit 1
17
- fi
18
-
19
- case "${1:-}" in
20
- login|logout|help|--help|-h|version|--version|-v)
21
- ;;
22
- *)
23
- if ! command -v gemini >/dev/null 2>&1; then
24
- cat >&2 <<'EOF'
25
-
26
- Gemini CLI is not installed on this system.
27
-
28
- CodeVibe attaches to the Gemini CLI — you need it installed first.
29
-
30
- Install Gemini CLI:
31
- npm install -g @google/gemini-cli
32
-
33
- Then run codevibe-gemini again.
34
-
35
- Learn more: https://quantiya.ai/codevibe
36
- EOF
37
- exit 1
38
- fi
39
- ;;
40
- esac
41
-
42
- # Update check — show cached result from previous check, then refresh in background.
43
- _CV_UPDATE_MSG="${TMPDIR:-/tmp}/.codevibe-update-msg"
44
- _CV_UPDATE_CHECK="${TMPDIR:-/tmp}/.codevibe-update-check"
45
- if [ -s "$_CV_UPDATE_MSG" ]; then
46
- cat "$_CV_UPDATE_MSG" >&2
47
- echo "" >&2
48
- fi
49
- if [ ! -f "$_CV_UPDATE_CHECK" ] || [ "$(find "$_CV_UPDATE_CHECK" -mmin +1440 2>/dev/null)" ]; then
50
- (
51
- _CURRENT=$(node -p "require('$SCRIPT_DIR/../package.json').version" 2>/dev/null)
52
- _LATEST=$(npm view @quantiya/codevibe version 2>/dev/null)
53
- if [ -n "$_CURRENT" ] && [ -n "$_LATEST" ] && [ "$_CURRENT" != "$_LATEST" ]; then
54
- echo -e "\033[33m⚠️ CodeVibe update available ($_CURRENT → $_LATEST). Run: codevibe update\033[0m" > "$_CV_UPDATE_MSG" 2>/dev/null
55
- else
56
- rm -f "$_CV_UPDATE_MSG" 2>/dev/null
57
- fi
58
- touch "$_CV_UPDATE_CHECK" 2>/dev/null
59
- ) &
60
- fi
61
-
62
- # Activation telemetry (background, non-blocking, no PII)
63
- _CID="$(echo "$(uname -n)-$(id -u)" | (sha256sum 2>/dev/null || shasum -a 256 2>/dev/null || echo "anonymous-fallback ") | cut -c1-36)"
64
- _SRC="${CODEVIBE_TELEMETRY_SOURCE:-production}"
65
- curl -s -X POST "https://www.google-analytics.com/mp/collect?measurement_id=G-GS74YEQTB8&api_secret=lAfOF6OxRzSQ-NsLBRjhAg" \
66
- -H "Content-Type: application/json" \
67
- -d "{\"client_id\":\"${_CID}\",\"events\":[{\"name\":\"wrapper_launched\",\"params\":{\"agent\":\"gemini\",\"platform\":\"$(uname -s)\",\"source\":\"${_SRC}\"}}]}" \
68
- >/dev/null 2>&1 &
69
-
70
- exec "$DELEGATE" "$@"