specmem-hardwicksoftware 3.5.22 → 3.5.23

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.

Potentially problematic release.


This version of specmem-hardwicksoftware might be problematic. Click here for more details.

package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specmem-hardwicksoftware",
3
- "version": "3.5.22",
3
+ "version": "3.5.23",
4
4
  "type": "module",
5
5
  "description": "SpecMem - Speculative Memory for Claude Code. Auto-configures hooks, docker, embeddings. https://justcalljon.pro",
6
6
  "main": "dist/index.js",
@@ -120,6 +120,51 @@ function checkPython() {
120
120
  function installPythonDeps() {
121
121
  console.log(`\n${YELLOW}${BOLD}═══ Installing Python Dependencies ═══${RESET}\n`);
122
122
 
123
+ // First, ensure pip is installed
124
+ console.log(`${DIM}Checking for pip...${RESET}`);
125
+ try {
126
+ execSync('pip3 --version', { stdio: 'pipe' });
127
+ console.log(`${GREEN}✓${RESET} pip3 found`);
128
+ } catch (e) {
129
+ console.log(`${YELLOW}pip3 not found - installing...${RESET}`);
130
+ try {
131
+ // Try to install pip based on OS
132
+ if (process.platform === 'linux') {
133
+ try {
134
+ execSync('apt-get update -qq && apt-get install -y python3-pip python3-venv', {
135
+ stdio: ['pipe', 'pipe', 'pipe'],
136
+ timeout: 120000
137
+ });
138
+ console.log(`${GREEN}✓${RESET} pip3 installed via apt`);
139
+ } catch (aptErr) {
140
+ try {
141
+ execSync('dnf install -y python3-pip || yum install -y python3-pip', {
142
+ stdio: ['pipe', 'pipe', 'pipe'],
143
+ timeout: 120000
144
+ });
145
+ console.log(`${GREEN}✓${RESET} pip3 installed via dnf/yum`);
146
+ } catch (dnfErr) {
147
+ console.log(`${RED}✗${RESET} Could not install pip3 - try: sudo apt install python3-pip`);
148
+ console.log(`${YELLOW}Skipping Python deps - SpecMem will use fallback embeddings${RESET}`);
149
+ return;
150
+ }
151
+ }
152
+ } else if (process.platform === 'darwin') {
153
+ try {
154
+ execSync('brew install python3', { stdio: 'pipe', timeout: 120000 });
155
+ console.log(`${GREEN}✓${RESET} Python3 (with pip) installed via brew`);
156
+ } catch (brewErr) {
157
+ console.log(`${RED}✗${RESET} Could not install pip3 - try: brew install python3`);
158
+ return;
159
+ }
160
+ }
161
+ } catch (installErr) {
162
+ console.log(`${RED}✗${RESET} pip3 installation failed`);
163
+ console.log(`${YELLOW}Skipping Python deps - SpecMem will use fallback embeddings${RESET}`);
164
+ return;
165
+ }
166
+ }
167
+
123
168
  const deps = [
124
169
  'torch --index-url https://download.pytorch.org/whl/cpu',
125
170
  'sentence-transformers',
@@ -132,7 +177,8 @@ function installPythonDeps() {
132
177
  try {
133
178
  console.log(`${DIM}Installing ${dep.split(' ')[0]}...${RESET}`);
134
179
  execSync(`pip3 install ${dep} --break-system-packages -q 2>/dev/null || pip install ${dep} --break-system-packages -q 2>/dev/null || pip3 install ${dep} -q 2>/dev/null || pip install ${dep} -q 2>/dev/null`, {
135
- stdio: ['pipe', 'pipe', 'pipe']
180
+ stdio: ['pipe', 'pipe', 'pipe'],
181
+ timeout: 300000 // 5 min timeout for torch
136
182
  });
137
183
  console.log(`${GREEN}✓${RESET} ${dep.split(' ')[0]} installed`);
138
184
  } catch (e) {