hypercli-cli 2026.6.16__tar.gz → 2026.6.21__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.6.16 → hypercli_cli-2026.6.21}/PKG-INFO +4 -4
- hypercli_cli-2026.6.21/hypercli_cli/__init__.py +1 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/agent.py +5 -1
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/pyproject.toml +4 -4
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_agent_subscribe_command.py +31 -1
- hypercli_cli-2026.6.16/hypercli_cli/__init__.py +0 -1
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/.gitignore +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/README.md +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/agents.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/billing.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/cli.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/comfyui.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/embed.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/files.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/flow.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/instances.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/jobs.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/keys.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/llm.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/memory.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/memory_captions.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/memory_documents.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/onboard.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/output.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/renders.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/stt.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/tui/__init__.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/tui/job_monitor.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/user.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/voice.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/hypercli_cli/wallet.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_agent_env_resolution.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_agents_budget_command.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_config_command.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_exec_shell_dryrun.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_flow_command.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_flow_visibility.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_jobs_list_tags.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_keys_command.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_llm_command.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_me_command.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_memory_captions.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_memory_command.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_memory_documents.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_openclaw_config.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_status_command.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_voice_command.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_wallet_command.py +0 -0
- {hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/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.6.
|
|
3
|
+
Version: 2026.6.21
|
|
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.6.
|
|
12
|
+
Requires-Dist: hypercli-sdk>=2026.6.21
|
|
13
13
|
Requires-Dist: mutagen>=1.47.0
|
|
14
14
|
Requires-Dist: openai>=2.8.1
|
|
15
15
|
Requires-Dist: pysubs2>=1.8.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.6.
|
|
23
|
+
Requires-Dist: hypercli-sdk[comfyui]>=2026.6.21; 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.6.
|
|
27
|
+
Requires-Dist: hypercli-sdk[comfyui]>=2026.6.21; 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'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2026.6.21"
|
|
@@ -502,11 +502,15 @@ def subscription_summary(
|
|
|
502
502
|
def activate_code(
|
|
503
503
|
code: str = typer.Argument(..., help="Activation or promo code to redeem"),
|
|
504
504
|
dev: bool = typer.Option(False, "--dev", help="Use dev API"),
|
|
505
|
+
extend_existing: bool = typer.Option(False, "--extend-existing", help="Extend the matching entitlement instead of creating a new one"),
|
|
505
506
|
json_output: bool = typer.Option(False, "--json", help="Print raw JSON response"),
|
|
506
507
|
):
|
|
507
508
|
"""Redeem a HyperClaw activation code for the current account."""
|
|
508
509
|
client = _get_agent_query_client(dev)
|
|
509
|
-
result = client.agent.redeem_grant_code(
|
|
510
|
+
result = client.agent.redeem_grant_code(
|
|
511
|
+
code,
|
|
512
|
+
extend_existing=True if extend_existing else None,
|
|
513
|
+
)
|
|
510
514
|
|
|
511
515
|
if json_output:
|
|
512
516
|
console.print_json(json.dumps(result, indent=2, default=str))
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hypercli-cli"
|
|
7
|
-
version = "2026.6.
|
|
7
|
+
version = "2026.6.21"
|
|
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.6.
|
|
16
|
+
"hypercli-sdk>=2026.6.21",
|
|
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.6.
|
|
28
|
+
"hypercli-sdk[comfyui]>=2026.6.21",
|
|
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.6.
|
|
41
|
+
"hypercli-sdk[comfyui]>=2026.6.21",
|
|
42
42
|
"x402[httpx,evm]>=2.0.0",
|
|
43
43
|
"eth-account>=0.13.0",
|
|
44
44
|
"web3>=7.0.0",
|
|
@@ -112,8 +112,9 @@ def test_extract_plan_purchase_url_from_discovery_ignores_nonmatching_resources(
|
|
|
112
112
|
|
|
113
113
|
def test_agent_activate_code_redeems_via_sdk(monkeypatch):
|
|
114
114
|
class _FakeAgent:
|
|
115
|
-
def redeem_grant_code(self, code: str):
|
|
115
|
+
def redeem_grant_code(self, code: str, **kwargs):
|
|
116
116
|
assert code == "promo-123"
|
|
117
|
+
assert kwargs == {"extend_existing": None}
|
|
117
118
|
return {
|
|
118
119
|
"grant": {"id": "grant-1", "type": "ACTIVATION_CODE", "code": "promo-123", "plan_id": "basic"},
|
|
119
120
|
"entitlement": {
|
|
@@ -137,3 +138,32 @@ def test_agent_activate_code_redeems_via_sdk(monkeypatch):
|
|
|
137
138
|
assert "HyperClaw Code Activated" in result.output
|
|
138
139
|
assert "promo-123" in result.output
|
|
139
140
|
assert "Basic" in result.output
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
def test_agent_activate_code_can_request_extension(monkeypatch):
|
|
144
|
+
calls = []
|
|
145
|
+
|
|
146
|
+
class _FakeAgent:
|
|
147
|
+
def redeem_grant_code(self, code: str, **kwargs):
|
|
148
|
+
calls.append((code, kwargs))
|
|
149
|
+
return {
|
|
150
|
+
"grant": {"id": "grant-1", "type": "ACTIVATION_CODE", "code": code, "plan_id": "basic"},
|
|
151
|
+
"entitlement": {
|
|
152
|
+
"id": "ent-1",
|
|
153
|
+
"plan_id": "basic",
|
|
154
|
+
"plan_name": "Basic",
|
|
155
|
+
"starts_at": "2026-04-27T00:00:00Z",
|
|
156
|
+
"expires_at": "2026-05-27T00:00:00Z",
|
|
157
|
+
"tags": [],
|
|
158
|
+
},
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
class _FakeClient:
|
|
162
|
+
agent = _FakeAgent()
|
|
163
|
+
|
|
164
|
+
monkeypatch.setattr(agent_mod, "_get_agent_query_client", lambda dev: _FakeClient())
|
|
165
|
+
|
|
166
|
+
result = runner.invoke(app, ["agent", "activate-code", "promo-123", "--extend-existing"])
|
|
167
|
+
|
|
168
|
+
assert result.exit_code == 0
|
|
169
|
+
assert calls == [("promo-123", {"extend_existing": True})]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2026.6.16"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hypercli_cli-2026.6.16 → hypercli_cli-2026.6.21}/tests/test_wallet_migration_integration.py
RENAMED
|
File without changes
|