Spaces:
Running
Running
File size: 1,928 Bytes
c308a36 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # SPDX-License-Identifier: Apache-2.0
# © 2026 Lutar, Stephen P. — SZL Holdings · ORCID 0009-0001-0110-4173 · Doctrine v11
# Authored by SZL Enterprise-Integration Team. Co-Authored-By: Perplexity Computer Agent.
"""szl_connectors.bindings — which tab/vertical binds to which connector(s).
A tab declares its connector binding here; the tab renders from each connector's
`Records` and its honest `state`. A tab bound to a keyless data source is LIVE on
first paint; a tab bound to a CRM/ERP shows the READY "connect to enable" state
with the real schema preview until the customer meshes in.
"""
from __future__ import annotations
TAB_BINDINGS: dict[str, list[str]] = {
# a11oy governed-AI / security verticals (keyless → CONNECTED now)
"vuln": ["nvd_cve", "cisa_kev", "epss"],
"attack": ["mitre_attack"],
"macro": ["fred", "sec_edgar"],
"research": ["arxiv", "hf_hub", "github"],
"ontology": ["wikidata"],
# enterprise CRM / ERP / platform verticals (READY until customer creds)
"crm": ["salesforce", "hubspot", "dynamics_crm", "zoho_crm", "pipedrive",
"close", "freshsales", "sugarcrm"],
"erp": ["odoo", "erpnext", "sap_s4", "netsuite", "dynamics_erp",
"sage", "acumatica", "infor"],
"identity": ["okta", "entra", "auth0"],
"comms": ["slack", "teams", "email"],
"tickets": ["jira", "servicenow", "zendesk", "linear"],
"warehouse": ["snowflake", "databricks", "bigquery", "postgres"],
"storage": ["s3", "gcs", "azure_blob"],
"observ": ["datadog", "splunk", "grafana"],
# killinchu maritime / air / geo verticals
"maritime": ["opensky", "aisstream", "noaa"],
"geo": ["overpass", "usgs", "wikidata"],
}
def tabs_for(connector_id: str) -> list[str]:
return [t for t, ids in TAB_BINDINGS.items() if connector_id in ids]
__all__ = ["TAB_BINDINGS", "tabs_for"]
|