import sys if "/app/langflow" not in sys.path: sys.path.insert(0, "/app/langflow") from langflow.custom import Component from langflow.io import DataInput, MessageTextInput, Output, SecretStrInput from langflow.schema import Data from projektmatch import stages from projektmatch.config import Cfg class PMCrm(Component): display_name = "PM 5 CRM" description = "EspoCRM: Team, Firma, Kontakt, Verkaufschance + Verify" inputs = [ DataInput(name="ctx", display_name="Context"), MessageTextInput(name="espo_base", display_name="Espo Base", value="PM_ESPO_BASE", load_from_db=True, advanced=True), SecretStrInput(name="espo_api_key", display_name="Espo API Key", value="PM_ESPO_API_KEY", load_from_db=True, advanced=True), ] outputs = [Output(name="out", display_name="Context", method="build_out")] def build_out(self) -> Data: cfg = Cfg(espo_base=self.espo_base, espo_api_key=self.espo_api_key) ctx = stages.run_stage("crm", stages.stage_crm, dict(self.ctx.data), cfg) self.status = ctx.get("status", "") return Data(data=ctx)