toolfuncs 1.2.0__tar.gz → 1.2.1__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 (38) hide show
  1. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/PKG-INFO +3 -1
  2. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/README.md +2 -0
  3. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/pyproject.toml +1 -1
  4. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/agent_hooks.py +1 -1
  5. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/test_agent_hooks.py +3 -0
  6. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/uv.lock +1 -1
  7. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/.github/workflows/release.yml +0 -0
  8. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/.github/workflows/test.yml +0 -0
  9. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/.gitignore +0 -0
  10. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/.python-version +0 -0
  11. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/docs/contract.md +0 -0
  12. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/docs/migrating-to-1.0.md +0 -0
  13. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/__init__.py +0 -0
  14. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/__main__.py +0 -0
  15. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_catalog.py +0 -0
  16. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_contract.py +0 -0
  17. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_descriptions.py +0 -0
  18. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_doctor.py +0 -0
  19. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_errors.py +0 -0
  20. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_import_path.py +0 -0
  21. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_mcp.py +0 -0
  22. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_packages.py +0 -0
  23. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_runtime.py +0 -0
  24. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_setup.py +0 -0
  25. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/_tools.py +0 -0
  26. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/py.typed +0 -0
  27. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/src/toolfuncs/sdk.py +0 -0
  28. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/__init__.py +0 -0
  29. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/conftest.py +0 -0
  30. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/test_contract.py +0 -0
  31. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/test_doctor.py +0 -0
  32. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/test_import_path.py +0 -0
  33. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/test_managed_runtime.py +0 -0
  34. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/test_mcp.py +0 -0
  35. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/test_packages.py +0 -0
  36. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/test_path_mcp.py +0 -0
  37. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/test_sdk_cli.py +0 -0
  38. {toolfuncs-1.2.0 → toolfuncs-1.2.1}/tests/test_tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: toolfuncs
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: Typed Python functions with native Python, CLI, and MCP interfaces
5
5
  Project-URL: Repository, https://github.com/nimashoghi/toolfuncs
6
6
  Project-URL: Issues, https://github.com/nimashoghi/toolfuncs/issues
@@ -385,6 +385,8 @@ toolfuncs setup [--bin-dir DIRECTORY]
385
385
 
386
386
  ## Agent integration
387
387
 
388
+ The discovery hook allows 30 seconds for reading a cold PATH. Large system executable directories can take longer than 10 seconds on first access, even though discovery only reads static metadata. Re-run `toolfuncs setup` after upgrading to refresh an existing hook registration.
389
+
388
390
  The installed hook runs at initial session start and at the session-start event emitted after compaction. It discovers the effective tools directly from that harness process's `PATH`, then adds a compact catalog such as:
389
391
 
390
392
  ```text
@@ -367,6 +367,8 @@ toolfuncs setup [--bin-dir DIRECTORY]
367
367
 
368
368
  ## Agent integration
369
369
 
370
+ The discovery hook allows 30 seconds for reading a cold PATH. Large system executable directories can take longer than 10 seconds on first access, even though discovery only reads static metadata. Re-run `toolfuncs setup` after upgrading to refresh an existing hook registration.
371
+
370
372
  The installed hook runs at initial session start and at the session-start event emitted after compaction. It discovers the effective tools directly from that harness process's `PATH`, then adds a compact catalog such as:
371
373
 
372
374
  ```text
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "toolfuncs"
3
- version = "1.2.0"
3
+ version = "1.2.1"
4
4
  description = "Typed Python functions with native Python, CLI, and MCP interfaces"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -63,7 +63,7 @@ def catalog_context(
63
63
  return "\n".join(lines)
64
64
 
65
65
 
66
- @hooks.on(shared.events.SessionStarted, timeout=10)
66
+ @hooks.on(shared.events.SessionStarted, timeout=30)
67
67
  def advertise_tools(event: shared.events.SessionStarted) -> shared.outputs.Result:
68
68
  """Advertise available toolfuncs at startup and after compaction."""
69
69
 
@@ -197,3 +197,6 @@ def test_hook_registration_uses_session_start_for_startup_and_compact(
197
197
  configured = rendered["hooks"]
198
198
  assert isinstance(configured, dict)
199
199
  assert set(configured) == {"SessionStart"}
200
+ for group in configured["SessionStart"]:
201
+ for hook in group["hooks"]:
202
+ assert hook["timeout"] == 30
@@ -1620,7 +1620,7 @@ wheels = [
1620
1620
 
1621
1621
  [[package]]
1622
1622
  name = "toolfuncs"
1623
- version = "1.2.0"
1623
+ version = "1.2.1"
1624
1624
  source = { editable = "." }
1625
1625
  dependencies = [
1626
1626
  { name = "cyclopts" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes