17 lines
893 B
Python
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
|