orchid-cli 1.0.2__tar.gz → 1.0.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.
- orchid_cli-1.0.3/CHANGELOG.md +47 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/PKG-INFO +2 -2
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/commands/skill.py +39 -1
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/pyproject.toml +2 -2
- orchid_cli-1.0.2/CHANGELOG.md +0 -27
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/.editorconfig +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/.github/workflows/ci.yml +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/.gitignore +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/.gitlint +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/.pre-commit-config.yaml +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/AGENTS.md +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/CLAUDE.md +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/CONTRIBUTING.md +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/LICENSE +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/README.md +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/icon.svg +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/__init__.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/bootstrap.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/commands/__init__.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/commands/chat.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/commands/config.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/commands/index.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/main.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/conftest.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/fixtures/__init__.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/fixtures/fake_tools_dates.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/fixtures/fake_tools_math.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/test_bootstrap.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/test_commands_chat.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/test_commands_config.py +0 -0
- {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/test_commands_skill.py +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# CHANGELOG
|
|
2
|
+
|
|
3
|
+
<!-- version list -->
|
|
4
|
+
|
|
5
|
+
## v1.0.3 (2026-04-14)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- Built-in tools args propagation fix.
|
|
10
|
+
([`b12dd65`](https://github.com/gadz82/orchid-cli/commit/b12dd652fc61b35d5cc89a1d5df9dcc6fe841533))
|
|
11
|
+
|
|
12
|
+
- Built-in tools parameter declarations in config.
|
|
13
|
+
([`ce62103`](https://github.com/gadz82/orchid-cli/commit/ce621034f4ad307dd8203ab98b4eac4cc604969b))
|
|
14
|
+
|
|
15
|
+
- Fixing ruff errors and updated dependency
|
|
16
|
+
([`30bbf37`](https://github.com/gadz82/orchid-cli/commit/30bbf3701d30aa422d86a2906a8546377b026248))
|
|
17
|
+
|
|
18
|
+
- Implement multi-turn LLM tool loop package version update
|
|
19
|
+
([`97e0a1a`](https://github.com/gadz82/orchid-cli/commit/97e0a1a22d47ce4ad2387a68f9b588b8c81641f9))
|
|
20
|
+
|
|
21
|
+
- Tools result context injection.
|
|
22
|
+
([`fbdfdef`](https://github.com/gadz82/orchid-cli/commit/fbdfdef54da0e8a2df947b12fcfb8220cf488daf))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## v1.0.2 (2026-04-13)
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
- Removing external dependencies and improving error handling and final outcome for the user.
|
|
30
|
+
([`2ebc6ef`](https://github.com/gadz82/orchid-cli/commit/2ebc6efb8f96e047a3dc649710967d4aece64ab4))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## v1.0.1 (2026-04-13)
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
- Orchid-cli package description and readme update.
|
|
38
|
+
([`5055129`](https://github.com/gadz82/orchid-cli/commit/505512906fc9b6d88752940dd1c9b24a2eec8f0d))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## v1.0.0 (2026-04-13)
|
|
42
|
+
|
|
43
|
+
- Initial Release
|
|
44
|
+
|
|
45
|
+
## v1.0.0 (2026-04-10)
|
|
46
|
+
|
|
47
|
+
- Initial Release
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: orchid-cli
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.3
|
|
4
4
|
Summary: Orchid CLI — command-line interface for the Orchid agent framework
|
|
5
5
|
Project-URL: Homepage, https://github.com/gadz82/orchid
|
|
6
6
|
Project-URL: Repository, https://github.com/gadz82/orchid
|
|
@@ -26,7 +26,7 @@ Classifier: Typing :: Typed
|
|
|
26
26
|
Requires-Python: >=3.11
|
|
27
27
|
Requires-Dist: httpx>=0.28.0
|
|
28
28
|
Requires-Dist: langchain-core>=0.3.0
|
|
29
|
-
Requires-Dist: orchid-ai>=1.2.
|
|
29
|
+
Requires-Dist: orchid-ai>=1.2.11
|
|
30
30
|
Requires-Dist: pydantic-settings>=2.7.0
|
|
31
31
|
Requires-Dist: pyyaml>=6.0
|
|
32
32
|
Requires-Dist: rich>=13.0
|
|
@@ -25,6 +25,11 @@ from orchid_ai.config.schema import (
|
|
|
25
25
|
GuardrailsConfig,
|
|
26
26
|
OrchestratorSkillConfig,
|
|
27
27
|
)
|
|
28
|
+
from orchid_ai.config.tool_registry import (
|
|
29
|
+
load_tools_from_config,
|
|
30
|
+
get_tool,
|
|
31
|
+
list_tools,
|
|
32
|
+
)
|
|
28
33
|
|
|
29
34
|
app = typer.Typer(help="Generate Claude Code skills from Orchid config", no_args_is_help=True)
|
|
30
35
|
console = Console()
|
|
@@ -323,6 +328,11 @@ def _generate_tool_scripts(
|
|
|
323
328
|
|
|
324
329
|
Groups tools from the same source module into a single script file.
|
|
325
330
|
Returns a mapping of tool_name -> _ToolScriptInfo.
|
|
331
|
+
|
|
332
|
+
Parameter metadata is sourced from the tool registry (which merges
|
|
333
|
+
YAML-declared parameters with auto-extracted function signatures).
|
|
334
|
+
Falls back to ``inspect``-based extraction when registry data is
|
|
335
|
+
unavailable.
|
|
326
336
|
"""
|
|
327
337
|
tool_names = agent_cfg.tools
|
|
328
338
|
if not tool_names:
|
|
@@ -331,6 +341,9 @@ def _generate_tool_scripts(
|
|
|
331
341
|
scripts_dir = skill_dir / "scripts"
|
|
332
342
|
scripts_dir.mkdir(parents=True, exist_ok=True)
|
|
333
343
|
|
|
344
|
+
# Ensure tools are registered so we can access their parameters
|
|
345
|
+
_ensure_tools_registered(config)
|
|
346
|
+
|
|
334
347
|
# Group tools by source module path
|
|
335
348
|
module_tools: dict[str, list[tuple[str, BuiltinToolConfig]]] = {}
|
|
336
349
|
for tool_name in tool_names:
|
|
@@ -370,7 +383,7 @@ def _generate_tool_scripts(
|
|
|
370
383
|
# Build info for each tool in this module
|
|
371
384
|
for tool_name, tool_cfg in tools_in_module:
|
|
372
385
|
func_name = tool_cfg.handler.rsplit(".", 1)[1]
|
|
373
|
-
params =
|
|
386
|
+
params = _get_tool_parameters(tool_name, module_path, func_name)
|
|
374
387
|
usage_hint = _build_usage_hint(func_name, params)
|
|
375
388
|
result[tool_name] = _ToolScriptInfo(
|
|
376
389
|
script_name=script_name,
|
|
@@ -381,6 +394,31 @@ def _generate_tool_scripts(
|
|
|
381
394
|
return result
|
|
382
395
|
|
|
383
396
|
|
|
397
|
+
def _ensure_tools_registered(config: AgentsConfig) -> None:
|
|
398
|
+
"""Ensure all built-in tools are loaded into the registry."""
|
|
399
|
+
if config.tools and not list_tools():
|
|
400
|
+
try:
|
|
401
|
+
load_tools_from_config(config.tools)
|
|
402
|
+
except Exception:
|
|
403
|
+
pass # fall back to inspect-based extraction
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
def _get_tool_parameters(tool_name: str, module_path: str, func_name: str) -> dict[str, str]:
|
|
407
|
+
"""Get tool parameters from the registry, falling back to inspect.
|
|
408
|
+
|
|
409
|
+
Returns a dict of param_name → description (the format expected by
|
|
410
|
+
``_ToolScriptInfo``).
|
|
411
|
+
"""
|
|
412
|
+
try:
|
|
413
|
+
entry = get_tool(tool_name)
|
|
414
|
+
if entry.parameters:
|
|
415
|
+
return {name: p.description or p.type for name, p in entry.parameters.items()}
|
|
416
|
+
except KeyError:
|
|
417
|
+
pass
|
|
418
|
+
# Fallback to inspect-based extraction
|
|
419
|
+
return _extract_parameters(module_path, func_name)
|
|
420
|
+
|
|
421
|
+
|
|
384
422
|
def _read_module_source(module_path: str) -> str | None:
|
|
385
423
|
"""Read the source code of a Python module by its dotted import path."""
|
|
386
424
|
try:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "orchid-cli"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.3"
|
|
4
4
|
description = "Orchid CLI — command-line interface for the Orchid agent framework"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "MIT"
|
|
@@ -36,7 +36,7 @@ keywords = [
|
|
|
36
36
|
"orchestration",
|
|
37
37
|
]
|
|
38
38
|
dependencies = [
|
|
39
|
-
"orchid-ai>=1.2.
|
|
39
|
+
"orchid-ai>=1.2.11",
|
|
40
40
|
"typer>=0.12.0",
|
|
41
41
|
"rich>=13.0",
|
|
42
42
|
"pyyaml>=6.0",
|
orchid_cli-1.0.2/CHANGELOG.md
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# CHANGELOG
|
|
2
|
-
|
|
3
|
-
<!-- version list -->
|
|
4
|
-
|
|
5
|
-
## v1.0.2 (2026-04-13)
|
|
6
|
-
|
|
7
|
-
### Bug Fixes
|
|
8
|
-
|
|
9
|
-
- Removing external dependencies and improving error handling and final outcome for the user.
|
|
10
|
-
([`2ebc6ef`](https://github.com/gadz82/orchid-cli/commit/2ebc6efb8f96e047a3dc649710967d4aece64ab4))
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## v1.0.1 (2026-04-13)
|
|
14
|
-
|
|
15
|
-
### Bug Fixes
|
|
16
|
-
|
|
17
|
-
- Orchid-cli package description and readme update.
|
|
18
|
-
([`5055129`](https://github.com/gadz82/orchid-cli/commit/505512906fc9b6d88752940dd1c9b24a2eec8f0d))
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
## v1.0.0 (2026-04-13)
|
|
22
|
-
|
|
23
|
-
- Initial Release
|
|
24
|
-
|
|
25
|
-
## v1.0.0 (2026-04-10)
|
|
26
|
-
|
|
27
|
-
- Initial Release
|
|
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
|