forgexa-cli 1.69.1__tar.gz → 1.70.0__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.
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/PKG-INFO +1 -1
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/__init__.py +1 -1
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/daemon.py +19 -3
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/PKG-INFO +1 -1
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/pyproject.toml +1 -1
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/README.md +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/_build_config.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/_local_bind.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/agent_core.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/autoupgrade.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/aws_evidence.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/aws_logs_evidence.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/main.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/py.typed +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/runtime_evidence.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli/zcode_protocol.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/SOURCES.txt +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/dependency_links.txt +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/entry_points.txt +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/requires.txt +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/top_level.txt +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/setup.cfg +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/tests/test_auth_and_runtime_commands.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/tests/test_autoupgrade.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/tests/test_check_command.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/tests/test_expiry_warnings_and_revoke.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/tests/test_local_bind_commands.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/tests/test_runtime_credentials.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/tests/test_session_credentials.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/tests/test_silent_install.py +0 -0
- {forgexa_cli-1.69.1 → forgexa_cli-1.70.0}/tests/test_upgrade_observability.py +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""forgexa-cli — Forgexa command-line client."""
|
|
2
|
-
__version__ = "1.
|
|
2
|
+
__version__ = "1.70.0"
|
|
@@ -1234,7 +1234,7 @@ except (ImportError, ModuleNotFoundError):
|
|
|
1234
1234
|
# DAEMON_VERSION is the protocol/logic version of the daemon code.
|
|
1235
1235
|
# Kept in sync with pyproject.toml version via bump-version.sh.
|
|
1236
1236
|
# CLIENT_TYPE identifies which packaging/distribution this daemon runs in.
|
|
1237
|
-
DAEMON_VERSION = "1.
|
|
1237
|
+
DAEMON_VERSION = "1.70.0"
|
|
1238
1238
|
|
|
1239
1239
|
|
|
1240
1240
|
def _detect_client_type() -> str:
|
|
@@ -6460,6 +6460,13 @@ class ProcessManager:
|
|
|
6460
6460
|
on_chunk: Any = None,
|
|
6461
6461
|
) -> TaskResult:
|
|
6462
6462
|
"""Execute an agent CLI and collect results."""
|
|
6463
|
+
if isinstance(getattr(task, "input_data", None), dict) and task.input_data.get("requires_capture_images") and agent.agent_id != "claude":
|
|
6464
|
+
return TaskResult(
|
|
6465
|
+
status="failed", exit_code=-1, stdout="", stderr="",
|
|
6466
|
+
error="Capture images require the verified Claude image-input contract",
|
|
6467
|
+
failure_code="capture_image_agent_unsupported",
|
|
6468
|
+
execution_attempt_id=task.execution_attempt_id,
|
|
6469
|
+
)
|
|
6463
6470
|
resource_metrics = agent_core.collect_runtime_resource_metrics()
|
|
6464
6471
|
resource_reason = agent_core.runtime_resource_exhaustion_reason(
|
|
6465
6472
|
resource_metrics,
|
|
@@ -9808,7 +9815,7 @@ class ServerConnection:
|
|
|
9808
9815
|
"local_fresh_branch_reset": {
|
|
9809
9816
|
"protocol_version": _LOCAL_FRESH_BRANCH_RESET_PROTOCOL_VERSION,
|
|
9810
9817
|
},
|
|
9811
|
-
"task_attachment_staging": {"protocol_version": 1, "runtime_proxy": True},
|
|
9818
|
+
"task_attachment_staging": {"protocol_version": 1, "runtime_proxy": True, "image_agents": ["claude"]},
|
|
9812
9819
|
},
|
|
9813
9820
|
"server_url": self.server_url,
|
|
9814
9821
|
"expires_in_days": 90,
|
|
@@ -10229,7 +10236,7 @@ class ServerConnection:
|
|
|
10229
10236
|
"protocol_version": _LOCAL_FRESH_BRANCH_RESET_PROTOCOL_VERSION,
|
|
10230
10237
|
},
|
|
10231
10238
|
"local_evidence": {"protocol_version": 1, "structured_summary": True},
|
|
10232
|
-
"task_attachment_staging": {"protocol_version": 1, "runtime_proxy": True},
|
|
10239
|
+
"task_attachment_staging": {"protocol_version": 1, "runtime_proxy": True, "image_agents": ["claude"]},
|
|
10233
10240
|
},
|
|
10234
10241
|
"server_url": self.server_url,
|
|
10235
10242
|
}
|
|
@@ -12574,6 +12581,15 @@ class RuntimeDaemon:
|
|
|
12574
12581
|
))
|
|
12575
12582
|
return
|
|
12576
12583
|
|
|
12584
|
+
if task.input_data.get("requires_capture_images") and agent.agent_id != "claude":
|
|
12585
|
+
await report_task_complete(TaskResult(
|
|
12586
|
+
status="failed", exit_code=-1, stdout="", stderr="",
|
|
12587
|
+
error="Capture images require the verified Claude image-input contract",
|
|
12588
|
+
failure_code="capture_image_agent_unsupported",
|
|
12589
|
+
execution_attempt_id=task.execution_attempt_id,
|
|
12590
|
+
))
|
|
12591
|
+
return
|
|
12592
|
+
|
|
12577
12593
|
await reporter.report_progress(task.task_id, 3, "waiting_for_workspace_lock", execution_attempt_id=task.execution_attempt_id)
|
|
12578
12594
|
workspace_execution_lock = await self.workspace_manager.acquire_workspace_execution_lock(
|
|
12579
12595
|
task.project,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|