code-graph-context 2.12.2 → 2.12.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/dist/cli/cli.js CHANGED
@@ -174,7 +174,7 @@ const installSidecarDeps = (sidecarDir) => {
174
174
  const verifySidecar = (sidecarDir) => {
175
175
  return new Promise((resolve) => {
176
176
  const python = getSidecarPython(sidecarDir);
177
- const test = spawnProcess(python, ['-c', 'from sentence_transformers import SentenceTransformer; print("ok")'], {
177
+ const test = spawnProcess(python, ['-c', `import transformers.modeling_utils as _mu; hasattr(_mu,"Conv1D") or setattr(_mu,"Conv1D",__import__("transformers.pytorch_utils",fromlist=["Conv1D"]).Conv1D); from sentence_transformers import SentenceTransformer; print("ok")`], {
178
178
  cwd: sidecarDir,
179
179
  stdio: ['pipe', 'pipe', 'pipe'],
180
180
  });
@@ -264,7 +264,7 @@ const preDownloadModel = async (sidecarDir, python, modelName) => {
264
264
  return new Promise((resolve) => {
265
265
  const proc = spawnProcess(python, [
266
266
  '-c',
267
- `from sentence_transformers import SentenceTransformer; m = SentenceTransformer("${modelName}", trust_remote_code=True); print(f"dims:{len(m.encode(['test'])[0])}")`,
267
+ `import transformers.modeling_utils as _mu; hasattr(_mu,'Conv1D') or setattr(_mu,'Conv1D',__import__('transformers.pytorch_utils',fromlist=['Conv1D']).Conv1D); from sentence_transformers import SentenceTransformer; m = SentenceTransformer("${modelName}", trust_remote_code=True); print(f"dims:{len(m.encode(['test'])[0])}")`,
268
268
  ], { cwd: sidecarDir, stdio: ['pipe', 'pipe', 'pipe'], timeout: 30_000 });
269
269
  let stdout = '';
270
270
  proc.stdout?.on('data', (d) => (stdout += d.toString()));
@@ -286,7 +286,7 @@ const preDownloadModel = async (sidecarDir, python, modelName) => {
286
286
  const downloaded = await new Promise((resolve) => {
287
287
  const proc = spawnProcess(python, [
288
288
  '-c',
289
- `from sentence_transformers import SentenceTransformer; print("downloading..."); m = SentenceTransformer("${modelName}", trust_remote_code=True); print(f"done dims:{len(m.encode(['test'])[0])}")`,
289
+ `import transformers.modeling_utils as _mu; hasattr(_mu,'Conv1D') or setattr(_mu,'Conv1D',__import__('transformers.pytorch_utils',fromlist=['Conv1D']).Conv1D); from sentence_transformers import SentenceTransformer; print("downloading..."); m = SentenceTransformer("${modelName}", trust_remote_code=True); print(f"done dims:{len(m.encode(['test'])[0])}")`,
290
290
  ], { cwd: sidecarDir, stdio: ['pipe', 'pipe', 'inherit'] });
291
291
  let stdout = '';
292
292
  proc.stdout?.on('data', (d) => {
@@ -302,7 +302,7 @@ const preDownloadModel = async (sidecarDir, python, modelName) => {
302
302
  }
303
303
  else {
304
304
  log(sym.warn, 'Model download failed — it will retry on first use');
305
- console.log(` ${c.dim}You can download manually: ${python} -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('${modelName}', trust_remote_code=True)"${c.reset}`);
305
+ console.log(` ${c.dim}You can download manually: ${python} -c "import transformers.modeling_utils as _mu; hasattr(_mu,'Conv1D') or setattr(_mu,'Conv1D',__import__('transformers.pytorch_utils',fromlist=['Conv1D']).Conv1D); from sentence_transformers import SentenceTransformer; SentenceTransformer('${modelName}', trust_remote_code=True)"${c.reset}`);
306
306
  }
307
307
  };
308
308
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "code-graph-context",
3
- "version": "2.12.2",
3
+ "version": "2.12.3",
4
4
  "description": "MCP server that builds code graphs to provide rich context to LLMs",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/drewdrewH/code-graph-context#readme",
@@ -48,6 +48,13 @@ def load_model():
48
48
  import torch
49
49
  from sentence_transformers import SentenceTransformer
50
50
 
51
+ # Patch: CodeSage imports Conv1D from transformers.modeling_utils but it
52
+ # was moved to transformers.pytorch_utils. Re-export it if missing.
53
+ import transformers.modeling_utils
54
+ if not hasattr(transformers.modeling_utils, 'Conv1D'):
55
+ from transformers.pytorch_utils import Conv1D
56
+ transformers.modeling_utils.Conv1D = Conv1D
57
+
51
58
  device_override = os.environ.get("EMBEDDING_DEVICE", "").lower()
52
59
  if device_override:
53
60
  device = device_override
@@ -3,4 +3,4 @@ uvicorn>=0.24.0
3
3
  sentence-transformers>=3.0.0
4
4
  torch>=2.0.0
5
5
  pydantic>=2.0.0
6
- transformers>=4.51.0
6
+ transformers>=4.44.0