claude-self-reflect 6.0.2 → 6.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.
|
@@ -42,9 +42,9 @@ class UpdateManager {
|
|
|
42
42
|
async checkCCStatusline() {
|
|
43
43
|
try {
|
|
44
44
|
execSync('npm list -g cc-statusline', { stdio: 'ignore' });
|
|
45
|
-
return { installed: true, name: 'cc-statusline', critical:
|
|
45
|
+
return { installed: true, name: 'cc-statusline', critical: true };
|
|
46
46
|
} catch {
|
|
47
|
-
return { installed: false, name: 'cc-statusline', critical:
|
|
47
|
+
return { installed: false, name: 'cc-statusline', critical: true, fix: () => this.installCCStatusline() };
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -77,18 +77,18 @@ class UpdateManager {
|
|
|
77
77
|
// Check for both 'ast-grep' (brew) and 'sg' (npm) binaries
|
|
78
78
|
try {
|
|
79
79
|
execSync('ast-grep --version', { stdio: 'ignore' });
|
|
80
|
-
return { installed: true, name: 'AST-Grep', critical:
|
|
80
|
+
return { installed: true, name: 'AST-Grep', critical: true };
|
|
81
81
|
} catch {
|
|
82
82
|
// Try 'sg' binary (npm install -g @ast-grep/cli)
|
|
83
83
|
try {
|
|
84
84
|
execSync('sg --version', { stdio: 'ignore' });
|
|
85
|
-
return { installed: true, name: 'AST-Grep (sg)', critical:
|
|
85
|
+
return { installed: true, name: 'AST-Grep (sg)', critical: true };
|
|
86
86
|
} catch {
|
|
87
87
|
return {
|
|
88
88
|
installed: false,
|
|
89
|
-
name: 'AST-Grep
|
|
90
|
-
critical:
|
|
91
|
-
fix: () => this.
|
|
89
|
+
name: 'AST-Grep',
|
|
90
|
+
critical: true,
|
|
91
|
+
fix: () => this.installASTGrep()
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -193,11 +193,43 @@ class UpdateManager {
|
|
|
193
193
|
return await fallback.run();
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
async
|
|
197
|
-
|
|
198
|
-
this.log('
|
|
199
|
-
|
|
200
|
-
|
|
196
|
+
async installASTGrep() {
|
|
197
|
+
// Try npm installation first (works on all platforms)
|
|
198
|
+
this.log('Installing AST-Grep via npm...', 'info');
|
|
199
|
+
try {
|
|
200
|
+
execSync('npm install -g @ast-grep/cli', { stdio: 'inherit' });
|
|
201
|
+
this.log('AST-Grep installed successfully', 'success');
|
|
202
|
+
return true;
|
|
203
|
+
} catch (npmError) {
|
|
204
|
+
// Check for permission errors
|
|
205
|
+
const isPermissionError = npmError.code === 'EACCES' ||
|
|
206
|
+
npmError.code === 'EPERM' ||
|
|
207
|
+
(npmError.stderr && npmError.stderr.toString().includes('EACCES')) ||
|
|
208
|
+
(npmError.message && npmError.message.includes('permission'));
|
|
209
|
+
|
|
210
|
+
if (isPermissionError) {
|
|
211
|
+
this.log('Failed to install AST-Grep via npm: Permission denied', 'error');
|
|
212
|
+
this.log('Alternative installation methods:', 'info');
|
|
213
|
+
this.log(' 1. With sudo: sudo npm install -g @ast-grep/cli', 'info');
|
|
214
|
+
this.log(' 2. With brew: brew install ast-grep (macOS/Linux)', 'info');
|
|
215
|
+
this.log(' 3. Use nvm for user-local npm installs', 'info');
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
// If npm fails for other reasons, try suggesting brew on macOS
|
|
220
|
+
if (process.platform === 'darwin') {
|
|
221
|
+
this.log('npm installation failed. Checking for Homebrew...', 'warning');
|
|
222
|
+
try {
|
|
223
|
+
execSync('brew --version', { stdio: 'ignore' });
|
|
224
|
+
this.log('Install AST-Grep with: brew install ast-grep', 'info');
|
|
225
|
+
} catch {
|
|
226
|
+
this.log('Homebrew not found. Install from: https://brew.sh', 'info');
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
this.log(`AST-Grep installation failed: ${npmError.message}`, 'error');
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
201
233
|
}
|
|
202
234
|
|
|
203
235
|
async startQdrant() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-self-reflect",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.3",
|
|
4
4
|
"description": "Give Claude perfect memory of all your conversations - Installation wizard for Python MCP server",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|
|
@@ -31,7 +31,8 @@
|
|
|
31
31
|
"author": "Claude-Self-Reflect Contributors",
|
|
32
32
|
"type": "module",
|
|
33
33
|
"bin": {
|
|
34
|
-
"claude-self-reflect": "installer/cli.js"
|
|
34
|
+
"claude-self-reflect": "installer/cli.js",
|
|
35
|
+
"csr-status": "scripts/csr-status"
|
|
35
36
|
},
|
|
36
37
|
"files": [
|
|
37
38
|
"installer/**/*.js",
|
|
@@ -43,8 +43,10 @@ class LocalEmbeddingProvider(EmbeddingProvider):
|
|
|
43
43
|
"""Initialize the FastEmbed model."""
|
|
44
44
|
try:
|
|
45
45
|
from fastembed import TextEmbedding
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
# CRITICAL: Use the correct model that matches the rest of the system
|
|
47
|
+
# This must be sentence-transformers/all-MiniLM-L6-v2 (384 dimensions)
|
|
48
|
+
self.model = TextEmbedding(model_name="sentence-transformers/all-MiniLM-L6-v2")
|
|
49
|
+
logger.info("Initialized local FastEmbed model: sentence-transformers/all-MiniLM-L6-v2 (384 dimensions)")
|
|
48
50
|
except ImportError as e:
|
|
49
51
|
logger.error("FastEmbed not installed. Install with: pip install fastembed")
|
|
50
52
|
raise
|