Files
content-ingestion-agent/app/agent.py

17 lines
893 B
Python

from .card import CARD
from .settings import Settings
from .connectors.github import GitHubConnector
from .connectors.sharepoint import SharePointConnector
from .routes import ingest_route
from .triggers import register_triggers
from .governance import authorize
from .publication import publish_document
from .validation import validate_document
def create_agent_app(settings: Settings | None = None) -> dict:
config = settings or Settings.from_env()
source, publisher = GitHubConnector(config.github_token), SharePointConnector(config.sharepoint_site_url)
app = {"card": CARD, "settings": config, "routes": {"/ingest": lambda payload: ingest_route(payload, source)}, "triggers": {}, "governance": authorize, "publication": lambda doc: publish_document(doc, publisher, config), "validation": validate_document}
register_triggers(app, app["routes"]["/ingest"])
return app