mirror of
https://github.com/hanzoai/python-sdk.git
synced 2026-10-23 20:23:00 +00:00
Nine per-service packages registered a hanzo.tools entry point and sat in hanzo-mcp's default dependencies, so installing it put them in a model's tool list beside the unified tool and without its filter. hanzo-tools-kms offered inject, which lists a path and reads every secret at it. hanzo-tools-iam offered create_user, delete_user and the token and session reads. cloud withholds all of them from an agent; these were a second way to the same API, so the rule held on one path and not the other. The auto-registration is withdrawn, not the packages: they stay importable for a human at a CLI, which is where reading a secret is a legitimate act. An agent reaches all eight through the unified tool, verified against the live document. mpc keeps its registration because the fleet has no equivalent, and auth keeps its because it reads the caller's own claims rather than another identity's.
36 lines
1.2 KiB
TOML
36 lines
1.2 KiB
TOML
[project]
|
|
name = "hanzo-tools-billing"
|
|
version = "0.1.0"
|
|
description = "Hanzo Billing MCP tool — balance, usage, plans, subscriptions, invoices, and payments"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
license = { text = "MIT" }
|
|
authors = [{ name = "Hanzo AI", email = "[email protected]" }]
|
|
keywords = ["hanzo", "mcp", "billing", "subscriptions", "invoices", "tools"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
]
|
|
|
|
dependencies = [
|
|
"hanzo-tools-core>=0.1.0",
|
|
"hanzo-tools-auth>=0.1.0",
|
|
"httpx>=0.27.0",
|
|
]
|
|
|
|
# No `hanzo.tools` entry point: this addresses the fleet by hand, and the fleet
|
|
# is reached by the unified `hanzo` tool, which filters by what cloud offers an
|
|
# agent. Registering here put `billing` in a model's tool list beside it — two ways
|
|
# to one API, and the second one unfiltered. Still importable for a human at a
|
|
# CLI; it is the auto-registration that is withdrawn.
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["hanzo_tools"]
|