@meridiona/meridian-darwin-arm64 1.24.5 → 1.24.6
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/VERSION +1 -1
- package/bin/meridian +0 -0
- package/package.json +1 -1
- package/services/agents/run_task_linker_mlx.py +20 -2
- package/services/pyproject.toml +1 -1
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.24.
|
|
1
|
+
1.24.6
|
package/bin/meridian
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meridiona/meridian-darwin-arm64",
|
|
3
|
-
"version": "1.24.
|
|
3
|
+
"version": "1.24.6",
|
|
4
4
|
"description": "Prebuilt Meridian app for macOS arm64 (daemon binary + dashboard + Python services). Installed via @meridiona/meridian.",
|
|
5
5
|
"homepage": "https://github.com/Meridiona/meridian",
|
|
6
6
|
"repository": {
|
|
@@ -415,7 +415,25 @@ def _classify_apple_fm(messages: list[dict[str, str]]) -> "SessionClassification
|
|
|
415
415
|
data = json.loads(text)
|
|
416
416
|
return SessionClassification.model_validate(_coerce_apple_fm_result(data))
|
|
417
417
|
|
|
418
|
-
|
|
418
|
+
def _call_apple_fm(prompt: str) -> str:
|
|
419
|
+
# anyio (used by FastAPI's run_in_threadpool) sets up its own event loop
|
|
420
|
+
# machinery in its worker threads. asyncio.run() raises
|
|
421
|
+
# "cannot be called from a running event loop" even inside a threadpool
|
|
422
|
+
# thread. Spawning a genuinely fresh OS thread with its own event loop
|
|
423
|
+
# avoids anyio's loop entirely.
|
|
424
|
+
import concurrent.futures
|
|
425
|
+
def _in_fresh_thread() -> str:
|
|
426
|
+
loop = asyncio.new_event_loop()
|
|
427
|
+
asyncio.set_event_loop(loop)
|
|
428
|
+
try:
|
|
429
|
+
return loop.run_until_complete(_run(prompt))
|
|
430
|
+
finally:
|
|
431
|
+
loop.close()
|
|
432
|
+
asyncio.set_event_loop(None)
|
|
433
|
+
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as ex:
|
|
434
|
+
return ex.submit(_in_fresh_thread).result(timeout=60)
|
|
435
|
+
|
|
436
|
+
raw = _call_apple_fm(user_with_hint)
|
|
419
437
|
try:
|
|
420
438
|
return _parse(raw)
|
|
421
439
|
except Exception:
|
|
@@ -425,7 +443,7 @@ def _classify_apple_fm(messages: list[dict[str, str]]) -> "SessionClassification
|
|
|
425
443
|
"(category, category_confidence, category_explanation, session_summary). "
|
|
426
444
|
"Return a complete JSON with ALL fields from the schema:\n" + raw
|
|
427
445
|
)
|
|
428
|
-
raw2 =
|
|
446
|
+
raw2 = _call_apple_fm(fix_prompt)
|
|
429
447
|
return _parse(raw2)
|
|
430
448
|
|
|
431
449
|
|
package/services/pyproject.toml
CHANGED
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "meridian-agents"
|
|
7
|
-
version = "1.24.
|
|
7
|
+
version = "1.24.6"
|
|
8
8
|
description = "Meridian agents — hermes task linking and Jira progress updates for meridian.db"
|
|
9
9
|
requires-python = ">=3.11"
|
|
10
10
|
authors = [{ name = "Meridiona" }]
|