lockthard-cli 0.2.3__tar.gz → 0.2.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lockthard-cli
3
- Version: 0.2.3
3
+ Version: 0.2.5
4
4
  Summary: CLI and AI agent client for LOCKTHARD — query 2100+ curated AI tools across 86+ tablets
5
5
  Author-email: Lockthard Team <info@lockthard.es>
6
6
  License: MIT
@@ -2,4 +2,4 @@
2
2
  LOCKTHARD CLI - Command Line Interface and Agent Client for LOCKTHARD.
3
3
  """
4
4
 
5
- __version__ = "0.2.3"
5
+ __version__ = "0.2.5"
@@ -42,7 +42,10 @@ def _get_as_json(ctx: click.Context, local_flag: bool) -> bool:
42
42
  @click.version_option(version=__version__, prog_name="lockthard")
43
43
  @click.pass_context
44
44
  def cli(ctx: click.Context, url: Optional[str], token: Optional[str], as_json: bool):
45
- """LOCKTHARD CLI - Cliente super eficiente de herramientas IA para humanos y agentes."""
45
+ """LOCKTHARD CLI - Cliente super eficiente de herramientas IA para humanos y agentes.
46
+
47
+ Primer uso: lockthard skill | Para agentes: lockthard -j skill
48
+ """
46
49
  resolved_url = resolve_api_url(url)
47
50
  resolved_token = resolve_token(token)
48
51
 
@@ -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}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lockthard-cli
3
- Version: 0.2.3
3
+ Version: 0.2.5
4
4
  Summary: CLI and AI agent client for LOCKTHARD — query 2100+ curated AI tools across 86+ tablets
5
5
  Author-email: Lockthard Team <info@lockthard.es>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "lockthard-cli"
7
- version = "0.2.3"
7
+ version = "0.2.5"
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" }
File without changes
File without changes