feat(capabilities): register web.discover verb

This commit is contained in:
CREDO23 2026-07-01 17:08:58 +02:00
parent 329bc63b6c
commit f257e385db
3 changed files with 31 additions and 2 deletions

View file

@ -1,5 +1,6 @@
"""``web.*`` namespace: the generic web scraping verbs."""
"""``web.*`` namespace: the generic web scraping + discovery verbs."""
from __future__ import annotations
from app.capabilities.web.scrape import definition # noqa: F401 — registers web.scrape
from app.capabilities.web.discover import definition as _discover # noqa: F401
from app.capabilities.web.scrape import definition as _scrape # noqa: F401

View file

@ -0,0 +1,18 @@
"""``web.discover`` capability registration (free — see 04-capabilities open item)."""
from __future__ import annotations
from app.capabilities.store import register_capability
from app.capabilities.types import Capability
from app.capabilities.web.discover.executor import build_discover_executor
from app.capabilities.web.discover.schemas import DiscoverInput, DiscoverOutput
WEB_DISCOVER = Capability(
name="web.discover",
input_schema=DiscoverInput,
output_schema=DiscoverOutput,
executor=build_discover_executor(),
billing_unit=None,
)
register_capability(WEB_DISCOVER)

View file

@ -9,6 +9,7 @@ from app.capabilities import (
)
from app.capabilities.store import get_capability
from app.capabilities.types import BillingUnit
from app.capabilities.web.discover.schemas import DiscoverInput, DiscoverOutput
from app.capabilities.web.scrape.schemas import ScrapeInput, ScrapeOutput
pytestmark = pytest.mark.unit
@ -21,3 +22,12 @@ def test_web_scrape_is_registered_with_its_schemas_and_billing_unit():
assert cap.input_schema is ScrapeInput
assert cap.output_schema is ScrapeOutput
assert cap.billing_unit is BillingUnit.WEB_CRAWL
def test_web_discover_is_registered_and_free():
cap = get_capability("web.discover")
assert cap.name == "web.discover"
assert cap.input_schema is DiscoverInput
assert cap.output_schema is DiscoverOutput
assert cap.billing_unit is None