forgexa-cli 1.69.0__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.
Files changed (31) hide show
  1. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/PKG-INFO +1 -1
  2. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/__init__.py +1 -1
  3. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/daemon.py +19 -3
  4. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/PKG-INFO +1 -1
  5. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/pyproject.toml +1 -1
  6. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/README.md +0 -0
  7. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/_build_config.py +0 -0
  8. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/_local_bind.py +0 -0
  9. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/agent_core.py +0 -0
  10. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/autoupgrade.py +0 -0
  11. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/aws_evidence.py +0 -0
  12. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/aws_logs_evidence.py +0 -0
  13. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/main.py +0 -0
  14. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/py.typed +0 -0
  15. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/runtime_evidence.py +0 -0
  16. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli/zcode_protocol.py +0 -0
  17. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/SOURCES.txt +0 -0
  18. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/dependency_links.txt +0 -0
  19. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/entry_points.txt +0 -0
  20. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/requires.txt +0 -0
  21. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/forgexa_cli.egg-info/top_level.txt +0 -0
  22. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/setup.cfg +0 -0
  23. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/tests/test_auth_and_runtime_commands.py +0 -0
  24. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/tests/test_autoupgrade.py +0 -0
  25. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/tests/test_check_command.py +0 -0
  26. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/tests/test_expiry_warnings_and_revoke.py +0 -0
  27. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/tests/test_local_bind_commands.py +0 -0
  28. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/tests/test_runtime_credentials.py +0 -0
  29. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/tests/test_session_credentials.py +0 -0
  30. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/tests/test_silent_install.py +0 -0
  31. {forgexa_cli-1.69.0 → forgexa_cli-1.70.0}/tests/test_upgrade_observability.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forgexa-cli
3
- Version: 1.69.0
3
+ Version: 1.70.0
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-Expression: MIT
@@ -1,2 +1,2 @@
1
1
  """forgexa-cli — Forgexa command-line client."""
2
- __version__ = "1.69.0"
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.69.0"
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,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forgexa-cli
3
- Version: 1.69.0
3
+ Version: 1.70.0
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-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "forgexa-cli"
3
- version = "1.69.0"
3
+ version = "1.70.0"
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 = "MIT"
File without changes
File without changes