hypercli-cli 2026.4.24__tar.gz → 2026.5.5__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.
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/PKG-INFO +5 -4
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/README.md +1 -0
- hypercli_cli-2026.5.5/hypercli_cli/__init__.py +1 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/agent.py +28 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/pyproject.toml +4 -4
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_agent_subscribe_command.py +29 -0
- hypercli_cli-2026.4.24/hypercli_cli/__init__.py +0 -1
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/.gitignore +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/agents.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/billing.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/cli.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/comfyui.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/embed.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/files.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/flow.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/instances.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/jobs.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/keys.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/llm.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/onboard.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/output.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/renders.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/stt.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/tui/__init__.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/tui/job_monitor.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/user.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/voice.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/hypercli_cli/wallet.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_agent_env_resolution.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_config_command.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_exec_shell_dryrun.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_flow_command.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_flow_visibility.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_jobs_list_tags.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_keys_command.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_llm_command.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_me_command.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_openclaw_config.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_voice_command.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_wallet_command.py +0 -0
- {hypercli_cli-2026.4.24 → hypercli_cli-2026.5.5}/tests/test_wallet_migration_integration.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hypercli-cli
|
|
3
|
-
Version: 2026.
|
|
3
|
+
Version: 2026.5.5
|
|
4
4
|
Summary: CLI for HyperCLI - GPU orchestration and LLM API
|
|
5
5
|
Project-URL: Homepage, https://hypercli.com
|
|
6
6
|
Project-URL: Documentation, https://docs.hypercli.com
|
|
@@ -9,7 +9,7 @@ Author-email: HyperCLI <support@hypercli.com>
|
|
|
9
9
|
License: MIT
|
|
10
10
|
Requires-Python: >=3.10
|
|
11
11
|
Requires-Dist: httpx>=0.27.0
|
|
12
|
-
Requires-Dist: hypercli-sdk>=2026.
|
|
12
|
+
Requires-Dist: hypercli-sdk>=2026.5.5
|
|
13
13
|
Requires-Dist: mutagen>=1.47.0
|
|
14
14
|
Requires-Dist: openai>=2.8.1
|
|
15
15
|
Requires-Dist: pyyaml>=6.0
|
|
@@ -20,11 +20,11 @@ Provides-Extra: all
|
|
|
20
20
|
Requires-Dist: argon2-cffi>=25.0.0; extra == 'all'
|
|
21
21
|
Requires-Dist: eth-account>=0.13.0; extra == 'all'
|
|
22
22
|
Requires-Dist: faster-whisper>=1.1.0; extra == 'all'
|
|
23
|
-
Requires-Dist: hypercli-sdk[comfyui]>=2026.
|
|
23
|
+
Requires-Dist: hypercli-sdk[comfyui]>=2026.5.5; extra == 'all'
|
|
24
24
|
Requires-Dist: web3>=7.0.0; extra == 'all'
|
|
25
25
|
Requires-Dist: x402[evm,httpx]>=2.0.0; extra == 'all'
|
|
26
26
|
Provides-Extra: comfyui
|
|
27
|
-
Requires-Dist: hypercli-sdk[comfyui]>=2026.
|
|
27
|
+
Requires-Dist: hypercli-sdk[comfyui]>=2026.5.5; extra == 'comfyui'
|
|
28
28
|
Provides-Extra: dev
|
|
29
29
|
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
30
30
|
Requires-Dist: ruff>=0.3.0; extra == 'dev'
|
|
@@ -81,6 +81,7 @@ hyper flow text-to-image "a cinematic portrait" --x402
|
|
|
81
81
|
# HyperClaw checkout/config
|
|
82
82
|
hyper agent plans
|
|
83
83
|
hyper agent subscribe basic
|
|
84
|
+
hyper agent activate-code PROMO123
|
|
84
85
|
hyper agent config env
|
|
85
86
|
hyper agent exec <agent_id> "ls -la"
|
|
86
87
|
hyper agent shell <agent_id>
|
|
@@ -41,6 +41,7 @@ hyper flow text-to-image "a cinematic portrait" --x402
|
|
|
41
41
|
# HyperClaw checkout/config
|
|
42
42
|
hyper agent plans
|
|
43
43
|
hyper agent subscribe basic
|
|
44
|
+
hyper agent activate-code PROMO123
|
|
44
45
|
hyper agent config env
|
|
45
46
|
hyper agent exec <agent_id> "ls -la"
|
|
46
47
|
hyper agent shell <agent_id>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2026.5.5"
|
|
@@ -498,6 +498,34 @@ def subscription_summary(
|
|
|
498
498
|
)
|
|
499
499
|
|
|
500
500
|
|
|
501
|
+
@app.command("activate-code")
|
|
502
|
+
def activate_code(
|
|
503
|
+
code: str = typer.Argument(..., help="Activation or promo code to redeem"),
|
|
504
|
+
dev: bool = typer.Option(False, "--dev", help="Use dev API"),
|
|
505
|
+
json_output: bool = typer.Option(False, "--json", help="Print raw JSON response"),
|
|
506
|
+
):
|
|
507
|
+
"""Redeem a HyperClaw activation code for the current account."""
|
|
508
|
+
client = _get_agent_query_client(dev)
|
|
509
|
+
result = client.agent.redeem_grant_code(code)
|
|
510
|
+
|
|
511
|
+
if json_output:
|
|
512
|
+
console.print_json(json.dumps(result, indent=2, default=str))
|
|
513
|
+
return
|
|
514
|
+
|
|
515
|
+
grant = result.get("grant") or {}
|
|
516
|
+
entitlement = result.get("entitlement") or {}
|
|
517
|
+
console.print("\n[bold]HyperClaw Code Activated[/bold]\n")
|
|
518
|
+
console.print(f"Code: [bold]{grant.get('code') or code}[/bold]")
|
|
519
|
+
console.print(f"Plan: [bold]{entitlement.get('plan_name') or entitlement.get('plan_id') or grant.get('plan_id') or ''}[/bold]")
|
|
520
|
+
if entitlement.get("starts_at"):
|
|
521
|
+
console.print(f"Starts: {entitlement.get('starts_at')}")
|
|
522
|
+
if entitlement.get("expires_at"):
|
|
523
|
+
console.print(f"Expires: {entitlement.get('expires_at')}")
|
|
524
|
+
tags = entitlement.get("tags") or grant.get("tags") or []
|
|
525
|
+
if tags:
|
|
526
|
+
console.print(f"Tags: {', '.join(str(tag) for tag in tags)}")
|
|
527
|
+
|
|
528
|
+
|
|
501
529
|
@app.command("models")
|
|
502
530
|
def models(
|
|
503
531
|
dev: bool = typer.Option(False, "--dev", help="Use dev API"),
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hypercli-cli"
|
|
7
|
-
version = "2026.
|
|
7
|
+
version = "2026.5.5"
|
|
8
8
|
description = "CLI for HyperCLI - GPU orchestration and LLM API"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -13,7 +13,7 @@ authors = [
|
|
|
13
13
|
{ name = "HyperCLI", email = "support@hypercli.com" }
|
|
14
14
|
]
|
|
15
15
|
dependencies = [
|
|
16
|
-
"hypercli-sdk>=2026.
|
|
16
|
+
"hypercli-sdk>=2026.5.5",
|
|
17
17
|
"openai>=2.8.1",
|
|
18
18
|
"typer>=0.20.0",
|
|
19
19
|
"rich>=14.2.0",
|
|
@@ -25,7 +25,7 @@ dependencies = [
|
|
|
25
25
|
|
|
26
26
|
[project.optional-dependencies]
|
|
27
27
|
comfyui = [
|
|
28
|
-
"hypercli-sdk[comfyui]>=2026.
|
|
28
|
+
"hypercli-sdk[comfyui]>=2026.5.5",
|
|
29
29
|
]
|
|
30
30
|
wallet = [
|
|
31
31
|
"x402[httpx,evm]>=2.0.0",
|
|
@@ -38,7 +38,7 @@ stt = [
|
|
|
38
38
|
"faster-whisper>=1.1.0",
|
|
39
39
|
]
|
|
40
40
|
all = [
|
|
41
|
-
"hypercli-sdk[comfyui]>=2026.
|
|
41
|
+
"hypercli-sdk[comfyui]>=2026.5.5",
|
|
42
42
|
"x402[httpx,evm]>=2.0.0",
|
|
43
43
|
"eth-account>=0.13.0",
|
|
44
44
|
"web3>=7.0.0",
|
|
@@ -108,3 +108,32 @@ def test_extract_plan_purchase_url_from_discovery_ignores_nonmatching_resources(
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
assert agent_mod._extract_plan_purchase_url_from_discovery(discovery, "basic") is None
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def test_agent_activate_code_redeems_via_sdk(monkeypatch):
|
|
114
|
+
class _FakeAgent:
|
|
115
|
+
def redeem_grant_code(self, code: str):
|
|
116
|
+
assert code == "promo-123"
|
|
117
|
+
return {
|
|
118
|
+
"grant": {"id": "grant-1", "type": "ACTIVATION_CODE", "code": "promo-123", "plan_id": "basic"},
|
|
119
|
+
"entitlement": {
|
|
120
|
+
"id": "ent-1",
|
|
121
|
+
"plan_id": "basic",
|
|
122
|
+
"plan_name": "Basic",
|
|
123
|
+
"starts_at": "2026-04-27T00:00:00Z",
|
|
124
|
+
"expires_at": "2026-05-27T00:00:00Z",
|
|
125
|
+
"tags": ["customer=acme"],
|
|
126
|
+
},
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
class _FakeClient:
|
|
130
|
+
agent = _FakeAgent()
|
|
131
|
+
|
|
132
|
+
monkeypatch.setattr(agent_mod, "_get_agent_query_client", lambda dev: _FakeClient())
|
|
133
|
+
|
|
134
|
+
result = runner.invoke(app, ["agent", "activate-code", "promo-123"])
|
|
135
|
+
|
|
136
|
+
assert result.exit_code == 0
|
|
137
|
+
assert "HyperClaw Code Activated" in result.output
|
|
138
|
+
assert "promo-123" in result.output
|
|
139
|
+
assert "Basic" in result.output
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2026.4.24"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|