lockthard-cli 0.2.4__tar.gz → 0.2.6__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.
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/PKG-INFO +6 -6
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/README.md +3 -3
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli/SKILL.md +2 -2
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli/__init__.py +1 -1
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli/auth.py +1 -1
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli/cli.py +1 -1
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli/client.py +18 -2
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli/config.py +2 -2
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli.egg-info/PKG-INFO +6 -6
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/pyproject.toml +3 -3
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli/formatters.py +0 -0
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli.egg-info/SOURCES.txt +0 -0
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli.egg-info/dependency_links.txt +0 -0
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli.egg-info/entry_points.txt +0 -0
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli.egg-info/requires.txt +0 -0
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/lockthard_cli.egg-info/top_level.txt +0 -0
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/setup.cfg +0 -0
- {lockthard_cli-0.2.4 → lockthard_cli-0.2.6}/tests/test_cli.py +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lockthard-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.6
|
|
4
4
|
Summary: CLI and AI agent client for LOCKTHARD — query 2100+ curated AI tools across 86+ tablets
|
|
5
|
-
Author-email: Lockthard Team <info@
|
|
5
|
+
Author-email: Lockthard Team <info@loktar.cc>
|
|
6
6
|
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://
|
|
7
|
+
Project-URL: Homepage, https://loktar.cc
|
|
8
8
|
Keywords: cli,ai-tools,agents,mcp,lockthard
|
|
9
9
|
Classifier: Development Status :: 4 - Beta
|
|
10
10
|
Classifier: Environment :: Console
|
|
@@ -22,7 +22,7 @@ Requires-Dist: rich>=13.0.0
|
|
|
22
22
|
|
|
23
23
|
# LOCKTHARD CLI (`lockthard`)
|
|
24
24
|
|
|
25
|
-
A super efficient, scriptable command-line interface and AI agent client for **LOCKTHARD** (https://
|
|
25
|
+
A super efficient, scriptable command-line interface and AI agent client for **LOCKTHARD** (https://loktar.cc).
|
|
26
26
|
|
|
27
27
|
Allows both human developers and autonomous AI agents (Claude Code, Antigravity, Aider, Cursor, etc.) to query, search, and inspect 61+ tablets and 1200+ AI tools with minimum token usage and zero prompt overhead.
|
|
28
28
|
|
|
@@ -41,7 +41,7 @@ pipx run lockthard-cli --help
|
|
|
41
41
|
## Quick Start
|
|
42
42
|
|
|
43
43
|
### 1. Authentication
|
|
44
|
-
Get your API key from [
|
|
44
|
+
Get your API key from [loktar.cc](https://loktar.cc).
|
|
45
45
|
|
|
46
46
|
- **For AI Agents & CI/CD:**
|
|
47
47
|
```bash
|
|
@@ -84,7 +84,7 @@ lockthard guide
|
|
|
84
84
|
## Options
|
|
85
85
|
|
|
86
86
|
- `--json` / `-j`: Output raw JSON without Rich styling.
|
|
87
|
-
- `--url` / `-u`: Override base server URL (default: `https://
|
|
87
|
+
- `--url` / `-u`: Override base server URL (default: `https://loktar.cc`).
|
|
88
88
|
- `--token` / `-t`: Override API token.
|
|
89
89
|
|
|
90
90
|
## License
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# LOCKTHARD CLI (`lockthard`)
|
|
2
2
|
|
|
3
|
-
A super efficient, scriptable command-line interface and AI agent client for **LOCKTHARD** (https://
|
|
3
|
+
A super efficient, scriptable command-line interface and AI agent client for **LOCKTHARD** (https://loktar.cc).
|
|
4
4
|
|
|
5
5
|
Allows both human developers and autonomous AI agents (Claude Code, Antigravity, Aider, Cursor, etc.) to query, search, and inspect 61+ tablets and 1200+ AI tools with minimum token usage and zero prompt overhead.
|
|
6
6
|
|
|
@@ -19,7 +19,7 @@ pipx run lockthard-cli --help
|
|
|
19
19
|
## Quick Start
|
|
20
20
|
|
|
21
21
|
### 1. Authentication
|
|
22
|
-
Get your API key from [
|
|
22
|
+
Get your API key from [loktar.cc](https://loktar.cc).
|
|
23
23
|
|
|
24
24
|
- **For AI Agents & CI/CD:**
|
|
25
25
|
```bash
|
|
@@ -62,7 +62,7 @@ lockthard guide
|
|
|
62
62
|
## Options
|
|
63
63
|
|
|
64
64
|
- `--json` / `-j`: Output raw JSON without Rich styling.
|
|
65
|
-
- `--url` / `-u`: Override base server URL (default: `https://
|
|
65
|
+
- `--url` / `-u`: Override base server URL (default: `https://loktar.cc`).
|
|
66
66
|
- `--token` / `-t`: Override API token.
|
|
67
67
|
|
|
68
68
|
## License
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lockthard
|
|
3
3
|
description: "LOCKTHARD CLI — query 2100+ curated AI tools across 86+ tablets. Search, browse tablets, get tool details, and investigate repos. Designed for both humans and AI agents."
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.6
|
|
5
5
|
metadata:
|
|
6
6
|
hermes:
|
|
7
7
|
tags: [lockthard, tools, ai, search, tablets, mcp]
|
|
8
|
-
homepage: https://
|
|
8
|
+
homepage: https://loktar.cc
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# LOCKTHARD CLI
|
|
@@ -110,7 +110,7 @@ def find_free_port(start_port: int = 8989) -> int:
|
|
|
110
110
|
|
|
111
111
|
def perform_browser_login(api_url: str, timeout_seconds: int = 120) -> Tuple[bool, str]:
|
|
112
112
|
"""
|
|
113
|
-
Launch local server, open browser to
|
|
113
|
+
Launch local server, open browser to loktar.cc/cli-auth, and capture token.
|
|
114
114
|
"""
|
|
115
115
|
port = find_free_port(8989)
|
|
116
116
|
callback_url = f"http://127.0.0.1:{port}/callback"
|
|
@@ -36,7 +36,7 @@ def _get_as_json(ctx: click.Context, local_flag: bool) -> bool:
|
|
|
36
36
|
|
|
37
37
|
@click.group(invoke_without_command=False,
|
|
38
38
|
epilog="Primer uso: lockthard skill | Para agentes: lockthard -j skill")
|
|
39
|
-
@click.option("--url", "-u", default=None, help="Base URL del servidor LOCKTHARD (default: https://
|
|
39
|
+
@click.option("--url", "-u", default=None, help="Base URL del servidor LOCKTHARD (default: https://loktar.cc).")
|
|
40
40
|
@click.option("--token", "-t", default=None, help="API Key / Token de autenticación (lk_...).")
|
|
41
41
|
@click.option("--json", "-j", "as_json", is_flag=True, help="Salida en JSON bruto (ideal para scripts y agentes).")
|
|
42
42
|
@click.version_option(version=__version__, prog_name="lockthard")
|
|
@@ -11,7 +11,7 @@ class LockthardError(Exception):
|
|
|
11
11
|
class LockthardClient:
|
|
12
12
|
"""Pure data layer for communicating with the LOCKTHARD API backend."""
|
|
13
13
|
|
|
14
|
-
def __init__(self, base_url: str = "https://
|
|
14
|
+
def __init__(self, base_url: str = "https://loktar.cc", token: Optional[str] = None, timeout: int = 15):
|
|
15
15
|
self.base_url = base_url.rstrip("/")
|
|
16
16
|
self.token = token.strip() if token else None
|
|
17
17
|
self.timeout = timeout
|
|
@@ -132,7 +132,23 @@ class LockthardClient:
|
|
|
132
132
|
return res if isinstance(res, list) else []
|
|
133
133
|
|
|
134
134
|
def get_tool_details(self, tool_id: str) -> Dict[str, Any]:
|
|
135
|
-
"""Get full details of a specific tool by ID or name.
|
|
135
|
+
"""Get full details of a specific tool by ID or name.
|
|
136
|
+
|
|
137
|
+
If tool_id doesn't look like a full ID (tablet:slug:index),
|
|
138
|
+
first search by name to resolve the ID.
|
|
139
|
+
"""
|
|
140
|
+
# If it's not a full ID, search first to resolve it
|
|
141
|
+
if ":" not in tool_id:
|
|
142
|
+
results = self.search_tools(query=tool_id, limit=5)
|
|
143
|
+
# Try exact name match first, then partial
|
|
144
|
+
for r in results:
|
|
145
|
+
if r.get("name", "").lower() == tool_id.lower():
|
|
146
|
+
tool_id = r["id"]
|
|
147
|
+
break
|
|
148
|
+
else:
|
|
149
|
+
if results:
|
|
150
|
+
tool_id = results[0]["id"]
|
|
151
|
+
|
|
136
152
|
res = self._mcp_call("tools/call", {
|
|
137
153
|
"name": "get_tool_details",
|
|
138
154
|
"arguments": {"tool_id": tool_id}
|
|
@@ -4,7 +4,7 @@ import sys
|
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
from typing import Dict, Any, Optional
|
|
6
6
|
|
|
7
|
-
DEFAULT_API_URL = "https://
|
|
7
|
+
DEFAULT_API_URL = "https://loktar.cc"
|
|
8
8
|
CONFIG_DIR_NAME = ".lockthard"
|
|
9
9
|
CREDENTIALS_FILE_NAME = "credentials.json"
|
|
10
10
|
|
|
@@ -97,7 +97,7 @@ def resolve_api_url(url_flag: Optional[str] = None) -> str:
|
|
|
97
97
|
1. Direct CLI argument / flag (--url)
|
|
98
98
|
2. Environment variable LOCKTHARD_API_URL
|
|
99
99
|
3. Saved credentials api_url
|
|
100
|
-
4. Default (https://
|
|
100
|
+
4. Default (https://loktar.cc)
|
|
101
101
|
"""
|
|
102
102
|
if url_flag and url_flag.strip():
|
|
103
103
|
return url_flag.strip().rstrip("/")
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lockthard-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.6
|
|
4
4
|
Summary: CLI and AI agent client for LOCKTHARD — query 2100+ curated AI tools across 86+ tablets
|
|
5
|
-
Author-email: Lockthard Team <info@
|
|
5
|
+
Author-email: Lockthard Team <info@loktar.cc>
|
|
6
6
|
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://
|
|
7
|
+
Project-URL: Homepage, https://loktar.cc
|
|
8
8
|
Keywords: cli,ai-tools,agents,mcp,lockthard
|
|
9
9
|
Classifier: Development Status :: 4 - Beta
|
|
10
10
|
Classifier: Environment :: Console
|
|
@@ -22,7 +22,7 @@ Requires-Dist: rich>=13.0.0
|
|
|
22
22
|
|
|
23
23
|
# LOCKTHARD CLI (`lockthard`)
|
|
24
24
|
|
|
25
|
-
A super efficient, scriptable command-line interface and AI agent client for **LOCKTHARD** (https://
|
|
25
|
+
A super efficient, scriptable command-line interface and AI agent client for **LOCKTHARD** (https://loktar.cc).
|
|
26
26
|
|
|
27
27
|
Allows both human developers and autonomous AI agents (Claude Code, Antigravity, Aider, Cursor, etc.) to query, search, and inspect 61+ tablets and 1200+ AI tools with minimum token usage and zero prompt overhead.
|
|
28
28
|
|
|
@@ -41,7 +41,7 @@ pipx run lockthard-cli --help
|
|
|
41
41
|
## Quick Start
|
|
42
42
|
|
|
43
43
|
### 1. Authentication
|
|
44
|
-
Get your API key from [
|
|
44
|
+
Get your API key from [loktar.cc](https://loktar.cc).
|
|
45
45
|
|
|
46
46
|
- **For AI Agents & CI/CD:**
|
|
47
47
|
```bash
|
|
@@ -84,7 +84,7 @@ lockthard guide
|
|
|
84
84
|
## Options
|
|
85
85
|
|
|
86
86
|
- `--json` / `-j`: Output raw JSON without Rich styling.
|
|
87
|
-
- `--url` / `-u`: Override base server URL (default: `https://
|
|
87
|
+
- `--url` / `-u`: Override base server URL (default: `https://loktar.cc`).
|
|
88
88
|
- `--token` / `-t`: Override API token.
|
|
89
89
|
|
|
90
90
|
## License
|
|
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "lockthard-cli"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.6"
|
|
8
8
|
description = "CLI and AI agent client for LOCKTHARD — query 2100+ curated AI tools across 86+ tablets"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
11
11
|
requires-python = ">=3.10"
|
|
12
12
|
authors = [
|
|
13
|
-
{ name = "Lockthard Team", email = "info@
|
|
13
|
+
{ name = "Lockthard Team", email = "info@loktar.cc" }
|
|
14
14
|
]
|
|
15
15
|
keywords = ["cli", "ai-tools", "agents", "mcp", "lockthard"]
|
|
16
16
|
classifiers = [
|
|
@@ -30,7 +30,7 @@ dependencies = [
|
|
|
30
30
|
]
|
|
31
31
|
|
|
32
32
|
[project.urls]
|
|
33
|
-
Homepage = "https://
|
|
33
|
+
Homepage = "https://loktar.cc"
|
|
34
34
|
|
|
35
35
|
[project.scripts]
|
|
36
36
|
lockthard = "lockthard_cli.cli:main"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|