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.
Files changed (31) hide show
  1. orchid_cli-1.0.3/CHANGELOG.md +47 -0
  2. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/PKG-INFO +2 -2
  3. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/commands/skill.py +39 -1
  4. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/pyproject.toml +2 -2
  5. orchid_cli-1.0.2/CHANGELOG.md +0 -27
  6. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/.editorconfig +0 -0
  7. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/.github/workflows/ci.yml +0 -0
  8. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/.gitignore +0 -0
  9. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/.gitlint +0 -0
  10. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/.pre-commit-config.yaml +0 -0
  11. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/AGENTS.md +0 -0
  12. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/CLAUDE.md +0 -0
  13. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/CONTRIBUTING.md +0 -0
  14. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/LICENSE +0 -0
  15. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/README.md +0 -0
  16. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/icon.svg +0 -0
  17. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/__init__.py +0 -0
  18. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/bootstrap.py +0 -0
  19. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/commands/__init__.py +0 -0
  20. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/commands/chat.py +0 -0
  21. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/commands/config.py +0 -0
  22. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/commands/index.py +0 -0
  23. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/orchid_cli/main.py +0 -0
  24. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/conftest.py +0 -0
  25. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/fixtures/__init__.py +0 -0
  26. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/fixtures/fake_tools_dates.py +0 -0
  27. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/fixtures/fake_tools_math.py +0 -0
  28. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/test_bootstrap.py +0 -0
  29. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/test_commands_chat.py +0 -0
  30. {orchid_cli-1.0.2 → orchid_cli-1.0.3}/tests/test_commands_config.py +0 -0
  31. {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.2
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.0
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 = _extract_parameters(module_path, func_name)
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.2"
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.0",
39
+ "orchid-ai>=1.2.11",
40
40
  "typer>=0.12.0",
41
41
  "rich>=13.0",
42
42
  "pyyaml>=6.0",
@@ -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