forgexa-cli 1.66.2__tar.gz → 1.66.3__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 (30) hide show
  1. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/PKG-INFO +1 -1
  2. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/__init__.py +1 -1
  3. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/aws_evidence.py +15 -6
  4. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/daemon.py +1 -1
  5. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli.egg-info/PKG-INFO +1 -1
  6. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/pyproject.toml +1 -1
  7. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/README.md +0 -0
  8. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/_build_config.py +0 -0
  9. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/_local_bind.py +0 -0
  10. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/agent_core.py +0 -0
  11. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/autoupgrade.py +0 -0
  12. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/main.py +0 -0
  13. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/py.typed +0 -0
  14. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/runtime_evidence.py +0 -0
  15. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli/zcode_protocol.py +0 -0
  16. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli.egg-info/SOURCES.txt +0 -0
  17. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli.egg-info/dependency_links.txt +0 -0
  18. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli.egg-info/entry_points.txt +0 -0
  19. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli.egg-info/requires.txt +0 -0
  20. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/forgexa_cli.egg-info/top_level.txt +0 -0
  21. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/setup.cfg +0 -0
  22. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/tests/test_auth_and_runtime_commands.py +0 -0
  23. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/tests/test_autoupgrade.py +0 -0
  24. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/tests/test_check_command.py +0 -0
  25. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/tests/test_expiry_warnings_and_revoke.py +0 -0
  26. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/tests/test_local_bind_commands.py +0 -0
  27. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/tests/test_runtime_credentials.py +0 -0
  28. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/tests/test_session_credentials.py +0 -0
  29. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/tests/test_silent_install.py +0 -0
  30. {forgexa_cli-1.66.2 → forgexa_cli-1.66.3}/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.66.2
3
+ Version: 1.66.3
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.66.2"
2
+ __version__ = "1.66.3"
@@ -35,6 +35,8 @@ SECRET_FIELDS = frozenset(
35
35
  }
36
36
  )
37
37
 
38
+ EVIDENCE_PROTOCOL_VERSION = 2
39
+
38
40
  MODEL_ENDPOINT_KEYS = {
39
41
  "claude": ("ANTHROPIC_BASE_URL",),
40
42
  "mimo": ("ANTHROPIC_BASE_URL",),
@@ -192,7 +194,18 @@ def _reject_constant(value: str) -> None:
192
194
  raise EvidenceError("aws_evidence_invalid_payload")
193
195
 
194
196
 
195
- def validate_payload(reference: Any, metadata: Any, payload: Any, model_provider: str) -> dict:
197
+ def agent_transfer_allowed(policy: Any, model_provider: str | None = None) -> bool:
198
+ if not isinstance(policy, dict) or policy.get("allow_agent_transfer") is not True:
199
+ return False
200
+ mode = policy.get("approval_mode", "provider_allowlist")
201
+ if mode == "user_consent":
202
+ return True
203
+ return bool(mode == "provider_allowlist" and model_provider
204
+ and isinstance(policy.get("allowed_model_providers"), list)
205
+ and model_provider in policy["allowed_model_providers"])
206
+
207
+
208
+ def validate_payload(reference: Any, metadata: Any, payload: Any, model_provider: str | None = None) -> dict:
196
209
  reference = validate_reference(reference)
197
210
  if not isinstance(payload, str) or len(payload.encode("utf-8")) > PAYLOAD_MAX_BYTES:
198
211
  raise EvidenceError("aws_evidence_size_limit")
@@ -205,11 +218,7 @@ def validate_payload(reference: Any, metadata: Any, payload: Any, model_provider
205
218
  raise EvidenceError("aws_evidence_identity_mismatch")
206
219
  policy = metadata.get("data_policy")
207
220
  if (
208
- not isinstance(policy, dict)
209
- or policy.get("allow_agent_transfer") is not True
210
- or not isinstance(policy.get("allowed_model_providers"), list)
211
- or not model_provider
212
- or model_provider not in policy.get("allowed_model_providers", [])
221
+ not agent_transfer_allowed(policy, model_provider)
213
222
  or type(policy.get("policy_version")) is not int
214
223
  or policy["policy_version"] < 1
215
224
  ):
@@ -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.66.2"
1237
+ DAEMON_VERSION = "1.66.3"
1238
1238
 
1239
1239
 
1240
1240
  def _detect_client_type() -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forgexa-cli
3
- Version: 1.66.2
3
+ Version: 1.66.3
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.66.2"
3
+ version = "1.66.3"
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