Metadata-Version: 2.4
Name: booking-agent-cli
Version: 0.5.0
Summary: The Booking Agent CLI: a stateful USP booking flow with hard gates, plus its USP protocol library.
Project-URL: Homepage, https://github.com/wix/booking-agent
Project-URL: Documentation, https://github.com/wix/booking-agent/blob/master/booking-agent/README.md
Project-URL: Source, https://github.com/wix/booking-agent/tree/master/booking-agent/packages/cli
Project-URL: Issues, https://github.com/wix/booking-agent/issues
Project-URL: Changelog, https://github.com/wix/booking-agent/releases
Author: Wix.com
License-Expression: Apache-2.0
Keywords: agent,booking,cli,scheduling,ucp,usp
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Office/Business :: Scheduling
Requires-Python: >=3.10
Requires-Dist: click>=8.2
Requires-Dist: cryptography>=42.0
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.6
Requires-Dist: pypi-attestations>=0.0.30
Requires-Dist: python-dotenv>=1.0
Requires-Dist: rich>=13.7
Requires-Dist: starlette>=0.37
Requires-Dist: timezonefinder<7,>=6.5
Requires-Dist: typer>=0.16
Requires-Dist: uvicorn>=0.29
Provides-Extra: dev
Requires-Dist: jsonschema>=4; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.5; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Description-Content-Type: text/markdown

# booking-agent-cli

The `booking-agent` command books time-based services (haircuts, lessons,
repairs, classes, appointments) through the Universal Scheduling Protocol (USP),
paying from a Link wallet. It owns the booking state machine and refuses to
proceed when a human approval gate is skipped, so an AI agent can drive it safely.

The wheel ships two import packages:

- `booking_agent_cli` - the `booking-agent` command
- `booking_agent` - the USP/UCP protocol library (models, discovery, REST client)

## Install

Requires Python 3.10 or newer.

```bash
uv tool install booking-agent-cli
# or
pipx install booking-agent-cli

booking-agent --help
```

Every release carries a PEP 740 attestation from the `wix/booking-agent` release
workflow. Check a downloaded wheel with
`uvx pypi-attestations verify pypi --repository https://github.com/wix/booking-agent <wheel>`.
`booking-agent update` installs only verified wheels, and the CLI checks its own installed
files against the attested release before it books or pays.

Agents use the CLI through the Booking Agent skill, installed with
`npx skills add wix/booking-agent --skill booking-agent`, or taken from the canonical raw URL:
https://raw.githubusercontent.com/wix/booking-agent/master/booking-agent/skills/booking-agent/SKILL.md

Each release also publishes that skill at an immutable `skill-v<version>` tag and signs it with
the release workflow, so a harness can pin and verify the exact text it follows:

```bash
curl -fsSLO https://raw.githubusercontent.com/wix/booking-agent/skill-v0.53.0/booking-agent/skills/booking-agent/SKILL.md
gh attestation verify SKILL.md --repo wix/booking-agent \
  --signer-workflow wix/booking-agent/.github/workflows/release.yml
```

`flow init --skill-path <path>` then checks the file the agent actually loaded against the signed
copy inside the wheel; a modified file claiming the same version fails `skill_unverified` and
blocks booking and payment until `booking-agent skill print --output <path>` restores it. A copy
written to evade the check can omit `--skill-path`, so the first read is what the attestation and
the harness cover.

The skill also needs `link-cli` for buyer identity and payment approval; see the
skill for details.

## Source and license

Source: https://github.com/wix/booking-agent (directory `booking-agent/`).
Licensed under the Apache License 2.0; see
https://github.com/wix/booking-agent/blob/master/LICENSE.
