Repository navigation
Releases: weisberg/tooli
Release list
v6.6.0
Critical Bug Fixes
-
#203 -- Fixed CLI crash on all
T | Noneoptional parameters. The native backend was passing raw union types (e.g.str | None) directly to argparse'stype=argument, which requires a callable. Added_unwrap_optional()helper that extractsTfromOptional[T]/T | Noneunions. Applied in_build_parser(2 locations),_coerce_value,_format_help_param_type, and themain()coercion path. -
#202 -- Restored
triggers,anti_triggers, andrulesas explicit constructor parameters on the native backendTooliclass. These agent-native metadata fields are core to the framework's value proposition and are used by doc generators (skill_v4.py,agents_md.py) and manifest generation.
Additional Fixes
- Unknown constructor kwargs (e.g.
env_vars,workflows,security_policy) are now stored as attributes instead of raisingRuntimeError, fixing import-time crashes for apps using these parameters.
v6.5.0
v6.2.1
v6.1.0
Bug Fixes
-
#194 -- Global
--output/-oflag no longer silently conflicts with user-defined--outputcommand parameters. Tooli now detects reserved flag name collisions at command registration time and raises a clear error with a suggested alternative name. The--outputalias ongenerate-skill,generate-agents-md, andgenerate-claude-mdbuiltins has been replaced with--output-path. -
#193 -- Security sanitizer no longer strips backtick-quoted generic type syntax (e.g.
`StdinOr[T]`,`SecretInput[str]`). The backtick sub-pattern inINJECTION_PATTERNwas incorrectly matching markdown inline code as shell command substitution. -
#192 -- Removed all non-ASCII Unicode characters (em-dashes, en-dashes, arrows, bullets) from help text, docstrings, and comments across the package. All output is now pure ASCII.
v6.0.0 — Lean Core
Tooli v6.0 — Lean Core
The "lean core" release. Tooli is a library, not a platform — everything non-core is deprecated for extraction.
Removed
- PipeContract (
tooli/pipes.py) — zero adoption, removed entirely --agent-bootstrapflag — replaced bygenerate-skillcommandtooli initscaffolding — replaced by cookiecutter templatestooli upgradeanalyzer — replaced byeval coveragepipe_input,pipe_output,recovery_playbooksfields fromCommandMeta
Deprecated (will be extracted to separate packages)
generate-skill→ moving totooli-docsgenerate-agents-md→ moving totooli-docsgenerate-claude-md→ moving totooli-docsexport→ moving totooli-exportevalcommands → hidden, moving totooli-eval
Stats
- -730 net lines removed
- 593 tests passing
- 7 files deleted
v5.0.1 — Dependency fix
Fixed
- Add
typer>=0.9to core dependencies (was incorrectly listed as optional, causingModuleNotFoundErroron freshpip install tooli).
pip install tooli==5.0.1v5.0.0 — The Universal Agent Tool Interface
The Universal Agent Tool Interface
Tooli v5.0 adds a Python API for direct in-process invocation, granular capability declarations, multi-agent handoff metadata, framework export code generation, and AGENTS.md documentation generation. All changes are additive — existing v4.x code runs unchanged.
Highlights
- Python API:
app.call(),app.acall(),app.stream(),app.astream()for typed in-process invocation returningTooliResultobjects - Capabilities:
capabilities=[...]for granular permission declarations with STRICT mode enforcement viaTOOLI_ALLOWED_CAPABILITIES - Handoffs:
handoffs=[...]anddelegation_hintfor multi-agent workflow orchestration - Error field mapping: Link errors to specific input parameters with
field="param_name" - Output schema:
output_schemain envelope meta for detailed response format - AGENTS.md: Generator for GitHub Copilot / OpenAI Codex compatibility
- Export command:
mytool export --target openai|langchain|adk|pythongenerates framework-specific integration code - 4 SDK integration examples: Claude, OpenAI, LangChain, Google ADK
- All 18 example apps updated with v5 metadata (capabilities on all 65 commands)
- 627 tests passing across Python 3.10+
Install
pip install tooli==5.0.0Migration
See MIGRATION_GUIDE_v5.md for upgrade steps. No breaking changes.
Full Changelog: https://github.com/weisberg/tooli/blob/main/CHANGELOG.md
v4.1.0 — Caller-Aware Agent Runtime
Tooli v4.1.0 — Caller-Aware Agent Runtime
Highlights
TOOLI_CALLERconvention — Set one environment variable to identify your agent with 100% confidence. 21 well-known agent identifiers pre-registered (Claude Code, Cursor, Aider, Devin, LangChain, CrewAI, etc.).- 5-category heuristic detection — When
TOOLI_CALLERisn't set, tooli inspects environment variables, process trees, TTY status, and container markers to classify callers as human, AI agent, CI/CD, container, or unknown automation. detect-contextbuiltin command — Debug your agent integration:TOOLI_CALLER=my-agent mytool detect-context --json- Caller metadata in envelope —
caller_id,caller_version, andsession_idin every JSON response'smetasection. - Adaptive behavior — Agents with
--yesskip confirmations; convention-identified agents get structured YAML from--help. - Full observability — Caller attributes in OTel spans and invocation recordings (schema v2).
Stats
- 100 new tests (359 total)
- 21 files changed, 2,757 insertions
- Backward compatible — no breaking changes
Install
pip install tooli==4.1.0See CHANGELOG.md for full details and docs/AGENT_INTEGRATION.md for the integration guide.
v4.0.0 — Agent Skill Platform
What's New
Tooli v4.0 evolves from CLI framework to agent skill platform. The north star: mytool --agent-bootstrap produces a deployable SKILL.md that any agent can use perfectly on the first attempt.
Highlights
--agent-bootstrapflag — any command gains a global flag that generates a complete, deployable SKILL.md- Task-oriented SKILL.md — commands grouped by
task_group, with "When to use" and "If Something Goes Wrong" sections PipeContract— declare input/output formats for command composition; auto-inferred composition patternstooli init— project scaffolding with optional--from-typermigrationgenerate-skill --target— target-specific output:generic-skill,claude-skill,claude-code- Enhanced CLAUDE.md — richer project documentation with architecture, build commands, and agent invocation patterns
eval coverage— metadata coverage reporter with token estimates and warningsupgrade-metadata— analyzes apps and suggests metadata improvements- MCP skill resources — auto-registered
skill://manifestandskill://documentation - Source-level agent hints —
# tooli:agentblocks for embedding metadata in source files
No Breaking Changes
All v3 code runs unchanged. See MIGRATION_GUIDE_v4.md for optional upgrade steps.
Stats
- 16 new files, 8 modified
- 73 new tests (259 total)
- 6 example apps updated with v4 metadata
v3.0.0
What's New in v3.0.0
Added
- v3 documentation workflow primitives:
generate-skill --validate,--infer-workflows,--output, manifest/Claude output modes, and SKILL.md token-budget estimation - Native backend (
app_native.py) — full Tooli fallback that works without Typer, supporting all v3 metadata (triggers, workflows, rules, env_vars, auth, etc.) - CLAUDE.md generation and agent manifest support
- Agent test eval harness (
tooli.eval.agent_test) - Command versioning with deprecated aliases
- All 19 v3 features now demonstrated across example apps: SecretInput, auth scopes, rules, env_vars, Suggestion, workflows, error_codes, requires_approval, deprecated/deprecated_message, version, triggers, anti_triggers, timeout, output_example, max_tokens, human_in_the_loop, danger_level, cost_hint, OpenWorld
MIGRATION_GUIDE_v3.mdwith explicit v2→v3 migration steps
See CHANGELOG.md for full details.