@melaya/runner 1.0.51 → 1.0.53

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.
@@ -484,7 +484,10 @@ async def _ingest_cloud_files(args) -> int:
484
484
  first_emit = False
485
485
  continue
486
486
  vectors_resp = await embedder(text=texts)
487
- vectors = [eb.embedding for eb in vectors_resp.embeddings]
487
+ # agentscope's embedding adapters already unwrap to a flat list
488
+ # of vectors (list[list[float]]) via _openai_embedding.py L104 /
489
+ # _ollama_embedding.py — do NOT re-access `.embedding`.
490
+ vectors = list(vectors_resp.embeddings)
488
491
  if len(vectors) != len(texts):
489
492
  raise RuntimeError(
490
493
  f"embedder returned {len(vectors)} vectors for {len(texts)} chunks"
package/dist/pythonEnv.js CHANGED
@@ -92,6 +92,19 @@ const PIP_DEPS = [
92
92
  // `scrapling install` to download Chromium — best-effort run below
93
93
  // (failure non-fatal: AsyncFetcher fast-path still works without it).
94
94
  "scrapling[fetchers]",
95
+ // beautifulsoup4 + lxml — HTML parser used by _search_ddg_html in
96
+ // shared.tools.core to scrape DDG's HTML search results page (the
97
+ // primary, non-rate-limited path). Without these, every web_search
98
+ // call raises ModuleNotFoundError, falls through to DDGS, and if
99
+ // DDGS is also down or rate-limited, the tool surfaces an error
100
+ // STRING that small local models (qwen3-vl-8b et al) read as
101
+ // data and hallucinate URLs around. Scrapling's [fetchers] extra
102
+ // does NOT pull bs4 (it brings curl_cffi+playwright), so pin
103
+ // explicitly. Tokano's run d38e09f747134084 hit this — Copywriter
104
+ // invented theinformation.com + nature.com URLs because every
105
+ // search returned 'Search error: ModuleNotFoundError bs4'.
106
+ "beautifulsoup4",
107
+ "lxml",
95
108
  // Telethon — Telegram MTProto user-mode client. Used by
96
109
  // shared.tools.telegram_user_tools. The bot-API path in
97
110
  // shared.tools.messaging.py uses plain HTTP and needs no extra dep.
package/localRagIngest.py CHANGED
@@ -484,7 +484,10 @@ async def _ingest_cloud_files(args) -> int:
484
484
  first_emit = False
485
485
  continue
486
486
  vectors_resp = await embedder(text=texts)
487
- vectors = [eb.embedding for eb in vectors_resp.embeddings]
487
+ # agentscope's embedding adapters already unwrap to a flat list
488
+ # of vectors (list[list[float]]) via _openai_embedding.py L104 /
489
+ # _ollama_embedding.py — do NOT re-access `.embedding`.
490
+ vectors = list(vectors_resp.embeddings)
488
491
  if len(vectors) != len(texts):
489
492
  raise RuntimeError(
490
493
  f"embedder returned {len(vectors)} vectors for {len(texts)} chunks"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@melaya/runner",
3
- "version": "1.0.51",
3
+ "version": "1.0.53",
4
4
  "description": "Run Melaya AI pipelines locally with your own LM Studio or Ollama models",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,