From 3b584adc65b5b6fb9d348a3d87149e3e84102e7b Mon Sep 17 00:00:00 2001 From: Anurag Bhatt <52283078+ianuragbhatt@users.noreply.github.com> Date: Sun, 15 Feb 2026 00:09:56 +0530 Subject: [PATCH 1/8] docs: add authoritative badges and fix package version --- README.md | 8 ++++---- src/protocolbox/__init__.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 036a83c..05ca7e2 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # ProtocolBox ๐Ÿ“ฆ -[![License: MIT](https://img.shields.io/badge/License-MIT-white.svg)](LICENSE) -[![Python 3.11+](https://img.shields.io/badge/python-3.11+-white.svg)](https://python.org) -[![Ruff](https://img.shields.io/badge/linting-ruff-white.svg)](https://docs.astral.sh/ruff/) -[![MCP](https://img.shields.io/badge/protocol-MCP-white.svg)](https://modelcontextprotocol.io/) +[![PyPI Version](https://img.shields.io/pypi/v/protocolbox?style=for-the-badge&color=blue)](https://pypi.org/project/protocolbox/) +[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE) +[![MCP Compliant](https://img.shields.io/badge/MCP-Compliant-orange?style=for-the-badge)](https://modelcontextprotocol.io/) +[![Built for Antigravity](https://img.shields.io/badge/Built%20for-Antigravity-purple?style=for-the-badge)](https://protocolbox.in) > **The Standard Library for the Agentic Web.** > https://protocolbox.in diff --git a/src/protocolbox/__init__.py b/src/protocolbox/__init__.py index 47372e5..511bbbe 100644 --- a/src/protocolbox/__init__.py +++ b/src/protocolbox/__init__.py @@ -1,3 +1,3 @@ """ProtocolBox โ€” The Standard Library for the Agentic Web.""" -__version__ = "0.1.0" +__version__ = "0.1.2" From e0657508756577409e1793088d6bd0cd3dabef18 Mon Sep 17 00:00:00 2001 From: Anurag Bhatt <52283078+ianuragbhatt@users.noreply.github.com> Date: Sun, 15 Feb 2026 00:14:08 +0530 Subject: [PATCH 2/8] docs: add full suite of authoritative badges --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 05ca7e2..b7e3637 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,12 @@ # ProtocolBox ๐Ÿ“ฆ [![PyPI Version](https://img.shields.io/pypi/v/protocolbox?style=for-the-badge&color=blue)](https://pypi.org/project/protocolbox/) +[![Python Version](https://img.shields.io/pypi/pyversions/protocolbox?style=for-the-badge&color=blue)](https://pypi.org/project/protocolbox/) +[![Downloads](https://img.shields.io/pypi/dm/protocolbox?style=for-the-badge&color=blue)](https://pypi.org/project/protocolbox/) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE) + +[![Build Status](https://img.shields.io/github/actions/workflow/status/ianuragbhatt/protocolbox/ci.yml?branch=master&style=for-the-badge)](https://github.com/ianuragbhatt/protocolbox/actions) +[![Code Style: Ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg?style=for-the-badge)](https://github.com/astral-sh/ruff) [![MCP Compliant](https://img.shields.io/badge/MCP-Compliant-orange?style=for-the-badge)](https://modelcontextprotocol.io/) [![Built for Antigravity](https://img.shields.io/badge/Built%20for-Antigravity-purple?style=for-the-badge)](https://protocolbox.in) From be4b31f8409926b670a9bf6c9225c146352ec196 Mon Sep 17 00:00:00 2001 From: Anurag Bhatt <52283078+ianuragbhatt@users.noreply.github.com> Date: Sun, 15 Feb 2026 00:17:28 +0530 Subject: [PATCH 3/8] docs: remove PyPI version, Python version, and downloads badges from README --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index b7e3637..643fe2d 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,6 @@ # ProtocolBox ๐Ÿ“ฆ -[![PyPI Version](https://img.shields.io/pypi/v/protocolbox?style=for-the-badge&color=blue)](https://pypi.org/project/protocolbox/) -[![Python Version](https://img.shields.io/pypi/pyversions/protocolbox?style=for-the-badge&color=blue)](https://pypi.org/project/protocolbox/) -[![Downloads](https://img.shields.io/pypi/dm/protocolbox?style=for-the-badge&color=blue)](https://pypi.org/project/protocolbox/) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE) - [![Build Status](https://img.shields.io/github/actions/workflow/status/ianuragbhatt/protocolbox/ci.yml?branch=master&style=for-the-badge)](https://github.com/ianuragbhatt/protocolbox/actions) [![Code Style: Ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg?style=for-the-badge)](https://github.com/astral-sh/ruff) [![MCP Compliant](https://img.shields.io/badge/MCP-Compliant-orange?style=for-the-badge)](https://modelcontextprotocol.io/) From 53a6e625fb59e59abeeac100deb49bcd8a11fc2a Mon Sep 17 00:00:00 2001 From: Anurag Bhatt <52283078+ianuragbhatt@users.noreply.github.com> Date: Sun, 15 Feb 2026 00:42:00 +0530 Subject: [PATCH 4/8] feat: Remove invoice generation tool and its tests, update documentation, and add roadmap and test configuration files. --- .protocolbox/SKILL.md | 4 +- CHANGELOG.md | 10 +- CONTRIBUTING.md | 3 +- README.md | 3 +- ROADMAP.md | 27 +++ docs/index.html | 6 +- docs/llms.txt | 33 +--- pyproject.toml | 4 +- src/protocolbox/__init__.py | 2 +- src/protocolbox/cli.py | 4 +- src/protocolbox/server.py | 1 - src/protocolbox/tools/__init__.py | 3 +- src/protocolbox/tools/invoice.py | 129 ------------- tests/conftest.py | 96 ++++++++++ tests/test_cli.py | 1 - tests/test_invoice.py | 306 ------------------------------ tests/test_server.py | 18 +- uv.lock | 177 +---------------- 18 files changed, 144 insertions(+), 683 deletions(-) create mode 100644 ROADMAP.md delete mode 100644 src/protocolbox/tools/invoice.py create mode 100644 tests/conftest.py delete mode 100644 tests/test_invoice.py diff --git a/.protocolbox/SKILL.md b/.protocolbox/SKILL.md index 595573a..f62cfb0 100644 --- a/.protocolbox/SKILL.md +++ b/.protocolbox/SKILL.md @@ -2,7 +2,7 @@ name: protocolbox description: > Standard Library of verified tools for AI Agents. - Tools: scrape(url), heal_json(str), generate_invoice(dict). + Tools: scrape(url), heal_json(str). --- # ProtocolBox @@ -31,5 +31,3 @@ uv run protocolbox start - **scrape(url: str) -> str** โ€” Fetch a web page and return clean Markdown. - **heal_json(broken_json: str) -> dict** โ€” Fix malformed JSON from LLM output. -- **generate_invoice(data: dict) -> str** โ€” Generate a PDF invoice. - Requires `client_name` and `total` in data. diff --git a/CHANGELOG.md b/CHANGELOG.md index 30b4a28..b2641ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.1.3] - 2026-02-15 + +### Removed +- **Invoice Tool**: Removed `generate_invoice()` tool and all related code, tests, and documentation. +- **Dependency**: Removed `reportlab` from project dependencies (was only used by the invoice tool). + ## [0.1.2] - 2026-02-14 ### Fixed @@ -34,9 +40,6 @@ ProtocolBox v0.1.0 establishes the "Standard Library for the Agentic Web," provi - `heal_json(broken_json)`: - deterministic recovery of malformed JSON from LLM outputs. - Fixes trailing commas, missing quotes, unclosed brackets, and truncated strings. - - `generate_invoice(data)`: - - Generates professional PDF invoices from structured Python dictionaries. - - Supports line items, tax calculations, and custom notes. - **Developer Experience** - **CLI**: `protocolbox init` for environment setup and `protocolbox start` for running the server. @@ -61,4 +64,3 @@ ProtocolBox v0.1.0 establishes the "Standard Library for the Agentic Web," provi - All dependencies pinned via `uv.lock`. - No external API key requirements for core tools. -- Sandboxed PDF generation. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b09052a..9e722f8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -57,8 +57,7 @@ protocolbox/ โ”‚ โ”œโ”€โ”€ __init__.py # Tool exports โ”‚ โ”œโ”€โ”€ utils.py # Shared utilities (HTTP client) โ”‚ โ”œโ”€โ”€ scraper.py # scrape() tool -โ”‚ โ”œโ”€โ”€ json_healer.py # heal_json() tool -โ”‚ โ””โ”€โ”€ invoice.py # generate_invoice() tool +โ”‚ โ””โ”€โ”€ json_healer.py # heal_json() tool โ”œโ”€โ”€ tests/ # Test suite (mirrors tool structure) โ”œโ”€โ”€ docs/ # Documentation & landing page โ”œโ”€โ”€ pyproject.toml # Project config diff --git a/README.md b/README.md index 643fe2d..c870465 100644 --- a/README.md +++ b/README.md @@ -25,13 +25,12 @@ protocolbox init ## ๐Ÿ› ๏ธ Tools -ProtocolBox currently exports 3 core tools optimized for agent workflows: +ProtocolBox currently exports 2 core tools optimized for agent workflows: | Tool | Signature | Description | | :--- | :--- | :--- | | **Scrape** | `scrape(url: str) -> str` | Fetches a webpage and converts it to clean, token-saving Markdown. Removes ads, scripts, and clutter automatically. | | **Heal JSON** | `heal_json(json_str: str) -> dict` | repairs malformed JSON strings often produced by LLMs (trailing commas, missing quotes, etc.) into valid Python dictionaries. | -| **Invoice** | `generate_invoice(data: dict) -> str` | Generates a professional PDF invoice from structured data in milliseconds. | ## โšก Usage diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..dbe97e5 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,27 @@ +# ProtocolBox Roadmap ๐Ÿ—บ๏ธ + +This document outlines the development trajectory for ProtocolBox. We prioritize tools that provide high-leverage capabilities to AI Agents (scrapers, browsers, sandbox execution). + +## ๐Ÿš€ Q1 2026 Objectives (v0.2.0) + +### New Tools +- [ ] **`search(query)`**: High-performance SERP API wrapper (Google/Bing) for real-time grounding. +- [ ] **`browser`**: Headless browser control for interacting with dynamic JS-heavy sites (beyond simple scraping). +- [ ] **`filesystem`**: Safe, sandboxed file I/O permissions for agents to read/write their own workspace. + +### Infrastructure +- [ ] **Docker Image**: Official `protocolbox/server` image for easy deployment in containerized agent swarms. +- [ ] **Auth**: Simple Bearer token authentication for the MCP server. + +## ๐Ÿ”ฎ Future Concepts (v0.3.0+) + +- **Agent Sandbox**: A secure Python execution environment (REPL) for agents to run generated code safely. +- **Vector Memory**: Built-in simple RAG interface for agents to store/retrieve context across sessions. +- **Multi-Modal**: Tools for resizing/converting images and processing audio. + +## ๐Ÿค How to contribute + +See a feature here you want? +1. Check [Issues](https://github.com/ianuragbhatt/protocolbox/issues) to see if it's already in progress. +2. Comment on the issue or open a new one expressing interest. +3. Submit a PR! diff --git a/docs/index.html b/docs/index.html index 8338b3b..3c373bd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -232,7 +232,7 @@

The Standard Library
for the Agentic Web.

- Verified MCP tools for AI Agents. Scrape clean markdown, fix broken JSON, and generate PDFs. One + Verified MCP tools for AI Agents. Scrape clean markdown and fix broken JSON. One command.

@@ -263,10 +263,6 @@

The Standard Library
for the Agentic Web.

Repair malformed LLM outputs. Fixes trailing commas, missing quotes, and truncated JSON.
-
-
generate_invoice(dict)
-
Create professional PDF invoices instantly from structured data.
-