forgexa-cli 1.9.2__tar.gz → 1.10.2__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forgexa-cli
3
- Version: 1.9.2
3
+ Version: 1.10.2
4
4
  Summary: Forgexa CLI — command-line client and AI agent runtime for the Forgexa platform
5
5
  Author-email: Jason Sun <dev.winds@gmail.com>
6
6
  License: MIT
@@ -1,2 +1,2 @@
1
1
  """forgexa-cli — Forgexa command-line client."""
2
- __version__ = "1.9.2"
2
+ __version__ = "1.10.2"
@@ -396,7 +396,7 @@ except (ImportError, ModuleNotFoundError):
396
396
  # DAEMON_VERSION is the protocol/logic version of the daemon code.
397
397
  # Kept in sync with pyproject.toml version via bump-version.sh.
398
398
  # CLIENT_TYPE identifies which packaging/distribution this daemon runs in.
399
- DAEMON_VERSION = "1.9.2"
399
+ DAEMON_VERSION = "1.10.2"
400
400
 
401
401
 
402
402
  def _detect_client_type() -> str:
@@ -5106,13 +5106,23 @@ class RuntimeDaemon:
5106
5106
 
5107
5107
  # Analysis deliverables live in analysis_output_dir (docs/requirements/...)
5108
5108
  _input = task.input_data or {}
5109
- doc_dir = (
5110
- _input.get("analysis_output_dir")
5111
- or _input.get("context", {}).get("analysis_output_dir")
5112
- or _input.get("output_dir")
5113
- or _input.get("context", {}).get("output_dir")
5114
- or ""
5115
- )
5109
+ _top_dir = (_input.get("analysis_output_dir") or "").replace("\\", "/").rstrip("/")
5110
+ _ctx_dir = ((_input.get("context") or {}).get("analysis_output_dir") or "").replace("\\", "/").rstrip("/")
5111
+ # Prefer the deeper (v2) path — context always has the authoritative
5112
+ # req_analysis_dir() value while the top-level field may contain a
5113
+ # stale v1 path (e.g. "docs/requirements/KEY") from nodes created
5114
+ # before the Phase 2 doc-paths migration (2026-06-10).
5115
+ if _ctx_dir and len(_ctx_dir.split("/")) > len(_top_dir.split("/")):
5116
+ doc_dir = _ctx_dir
5117
+ elif _top_dir:
5118
+ doc_dir = _top_dir
5119
+ else:
5120
+ doc_dir = (
5121
+ _ctx_dir
5122
+ or _input.get("output_dir")
5123
+ or (_input.get("context") or {}).get("output_dir")
5124
+ or ""
5125
+ )
5116
5126
  if doc_dir:
5117
5127
  base = workspace_path / doc_dir
5118
5128
  else:
@@ -5561,11 +5571,22 @@ class RuntimeDaemon:
5561
5571
 
5562
5572
  # Build a targeted fix prompt: original task + validation issues.
5563
5573
  _input = task.input_data or {}
5564
- _fix_doc_dir = (
5565
- _input.get("output_dir")
5566
- or _input.get("context", {}).get("output_dir")
5567
- or ""
5568
- )
5574
+ # For analysis nodes prefer analysis_output_dir (may be v2 while output_dir
5575
+ # is still a stale v1 path in pre-migration nodes).
5576
+ if task.node_type == "analysis":
5577
+ _fix_doc_dir = (
5578
+ _input.get("analysis_output_dir")
5579
+ or (_input.get("context") or {}).get("analysis_output_dir")
5580
+ or _input.get("output_dir")
5581
+ or (_input.get("context") or {}).get("output_dir")
5582
+ or ""
5583
+ )
5584
+ else:
5585
+ _fix_doc_dir = (
5586
+ _input.get("output_dir")
5587
+ or (_input.get("context") or {}).get("output_dir")
5588
+ or ""
5589
+ )
5569
5590
  fix_prompt = (
5570
5591
  f"{original_prompt}\n\n"
5571
5592
  "---\n\n"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forgexa-cli
3
- Version: 1.9.2
3
+ Version: 1.10.2
4
4
  Summary: Forgexa CLI — command-line client and AI agent runtime for the Forgexa platform
5
5
  Author-email: Jason Sun <dev.winds@gmail.com>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "forgexa-cli"
3
- version = "1.9.2"
3
+ version = "1.10.2"
4
4
  description = "Forgexa CLI — command-line client and AI agent runtime for the Forgexa platform"
5
5
  requires-python = ">=3.9"
6
6
  license = { text = "MIT" }
File without changes
File without changes