get-claudia 1.37.1 → 1.37.2

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.
@@ -62,8 +62,10 @@ Write-Host "${BOLD}Step 1/8: Environment Check${NC}"
62
62
  Write-Host ""
63
63
 
64
64
  $PYTHON = $null
65
+ $PYTHON_FALLBACK = $null
65
66
 
66
67
  # Try common Python locations on Windows
68
+ # Prefer 3.10-3.13 over 3.14+ (spaCy's Pydantic V1 dependency doesn't support 3.14 yet)
67
69
  $pythonCandidates = @(
68
70
  "python",
69
71
  "python3",
@@ -77,9 +79,15 @@ foreach ($candidate in $pythonCandidates) {
77
79
  $major = [int]$Matches[1]
78
80
  $minor = [int]$Matches[2]
79
81
  if ($major -ge 3 -and $minor -ge 10) {
80
- $PYTHON = $candidate
81
- Write-Host " ${GREEN}✓${NC} $version ($candidate)"
82
- break
82
+ if ($minor -lt 14) {
83
+ # Preferred: 3.10-3.13
84
+ $PYTHON = $candidate
85
+ Write-Host " ${GREEN}✓${NC} $version ($candidate)"
86
+ break
87
+ } elseif (-not $PYTHON_FALLBACK) {
88
+ # 3.14+: usable but spaCy won't work
89
+ $PYTHON_FALLBACK = $candidate
90
+ }
83
91
  }
84
92
  }
85
93
  } catch {
@@ -87,6 +95,13 @@ foreach ($candidate in $pythonCandidates) {
87
95
  }
88
96
  }
89
97
 
98
+ # Fall back to 3.14+ if no 3.10-3.13 found
99
+ if (-not $PYTHON -and $PYTHON_FALLBACK) {
100
+ $PYTHON = $PYTHON_FALLBACK
101
+ $version = & $PYTHON --version 2>&1
102
+ Write-Host " ${YELLOW}○${NC} $version ($PYTHON) -- spaCy may not work, entity extraction will use regex"
103
+ }
104
+
90
105
  if (-not $PYTHON) {
91
106
  Write-Host " ${RED}✗${NC} Python 3.10+ not found"
92
107
  Write-Host " Please install Python 3.10 or later from https://www.python.org/downloads/"
@@ -99,16 +99,55 @@ random_message() {
99
99
  }
100
100
 
101
101
  # Check Python - prefer Homebrew Python on macOS (supports SQLite extensions)
102
+ # Avoid Python 3.14+ where spaCy/Pydantic V1 are incompatible
102
103
  echo -e "${BOLD}Step 1/8: Environment Check${NC}"
103
104
  echo
104
105
  PYTHON=""
105
106
  if [[ "$OSTYPE" == "darwin"* ]]; then
106
107
  # Homebrew Python supports SQLite extension loading (needed for vector search)
107
- if [ -x "/opt/homebrew/bin/python3" ]; then
108
- PYTHON="/opt/homebrew/bin/python3"
109
- echo -e " ${GREEN}✓${NC} Using Homebrew Python (vector search supported)"
110
- elif [ -x "/usr/local/bin/python3" ]; then
111
- PYTHON="/usr/local/bin/python3"
108
+ # Prefer 3.13 over 3.14+ (spaCy's Pydantic V1 dependency doesn't support 3.14 yet)
109
+ _pick_homebrew_python() {
110
+ local candidate="$1"
111
+ if [ -x "$candidate" ]; then
112
+ local minor
113
+ minor=$("$candidate" -c "import sys; print(sys.version_info.minor)" 2>/dev/null)
114
+ # Verify SQLite extension support (only Homebrew Python has this on macOS)
115
+ if ! "$candidate" -c "import sqlite3; sqlite3.connect(':memory:').enable_load_extension(True)" 2>/dev/null; then
116
+ return 1
117
+ fi
118
+ if [ -n "$minor" ] && [ "$minor" -lt 14 ]; then
119
+ PYTHON="$candidate"
120
+ return 0
121
+ fi
122
+ fi
123
+ return 1
124
+ }
125
+
126
+ # Try versioned 3.13 first (Homebrew keeps it alongside 3.14)
127
+ # Check both symlinks and Cellar paths (symlinks may not exist for non-default versions)
128
+ _pick_homebrew_python "/opt/homebrew/bin/python3.13" ||
129
+ _pick_homebrew_python "/usr/local/bin/python3.13" ||
130
+ {
131
+ # Search Homebrew Cellar for python@3.13 (ARM and Intel paths)
132
+ for cellar_path in /opt/homebrew/Cellar/python@3.13/*/bin/python3.13 \
133
+ /usr/local/Cellar/python@3.13/*/bin/python3.13; do
134
+ _pick_homebrew_python "$cellar_path" && break
135
+ done
136
+ } ||
137
+ # Fall back to unversioned python3 even if 3.14+
138
+ _pick_homebrew_python "/opt/homebrew/bin/python3" ||
139
+ _pick_homebrew_python "/usr/local/bin/python3" || true
140
+
141
+ # If all Homebrew candidates are 3.14+, still use Homebrew for SQLite support
142
+ if [ -z "$PYTHON" ]; then
143
+ if [ -x "/opt/homebrew/bin/python3" ]; then
144
+ PYTHON="/opt/homebrew/bin/python3"
145
+ elif [ -x "/usr/local/bin/python3" ]; then
146
+ PYTHON="/usr/local/bin/python3"
147
+ fi
148
+ fi
149
+
150
+ if [ -n "$PYTHON" ]; then
112
151
  echo -e " ${GREEN}✓${NC} Using Homebrew Python (vector search supported)"
113
152
  fi
114
153
  fi
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-claudia",
3
- "version": "1.37.1",
3
+ "version": "1.37.2",
4
4
  "description": "An AI assistant who learns how you work.",
5
5
  "keywords": [
6
6
  "claudia",