chore: update external connector deployment flow
This commit is contained in:
@ -83,6 +83,7 @@ class FeishuBotProvider:
|
||||
metadata = {
|
||||
"eventCallbackPath": "/feishu/events",
|
||||
"eventCallbackUrl": f"{self.public_base_url}/feishu/events",
|
||||
"bridgeBaseUrl": str(payload.get("callbackBaseUrl") or self.bridge_base_url),
|
||||
}
|
||||
app_id = str(options.get("appId") or options.get("app_id") or "").strip()
|
||||
app_secret = str(options.get("appSecret") or options.get("app_secret") or "").strip()
|
||||
@ -212,7 +213,7 @@ class FeishuBotProvider:
|
||||
if bridge_event is None:
|
||||
return {"ok": True, "ignored": "empty_or_oversized"}
|
||||
self.bridge_post(
|
||||
f"{self.bridge_base_url}/api/channel-connector-bridge/events",
|
||||
f"{_bridge_base_url(session, self.bridge_base_url)}/api/channel-connector-bridge/events",
|
||||
bridge_event,
|
||||
{"Authorization": f"Bearer {self.bridge_token}"},
|
||||
)
|
||||
@ -452,13 +453,17 @@ class FeishuBotProvider:
|
||||
"FEISHU_TEXT_BATCH_DELAY_MS": str(_positive_int(metadata.get("textBatchDelayMs"), default=0)),
|
||||
"FEISHU_TEXT_BATCH_MAX_MESSAGES": str(_positive_int(metadata.get("textBatchMaxMessages"), default=10)),
|
||||
"FEISHU_TEXT_BATCH_MAX_CHARS": str(_positive_int(metadata.get("textBatchMaxChars"), default=20000)),
|
||||
"BEAVER_BRIDGE_BASE_URL": self.bridge_base_url,
|
||||
"BEAVER_BRIDGE_BASE_URL": _bridge_base_url(session, self.bridge_base_url),
|
||||
"BEAVER_BRIDGE_TOKEN": self.bridge_token,
|
||||
}
|
||||
)
|
||||
return subprocess.Popen(["node", str(script)], env=env, cwd=str(script.parent))
|
||||
|
||||
|
||||
def _bridge_base_url(session: ConnectorSessionState, fallback: str) -> str:
|
||||
return str(session.metadata.get("bridgeBaseUrl") or fallback).rstrip("/")
|
||||
|
||||
|
||||
def _bridge_event_from_feishu(session: ConnectorSessionState, header: dict[str, Any], event: dict[str, Any]) -> dict[str, Any] | None:
|
||||
message = dict(event.get("message") or {})
|
||||
sender = dict(event.get("sender") or {})
|
||||
|
||||
@ -246,7 +246,7 @@ class WeixinIlinkProvider:
|
||||
flush=True,
|
||||
)
|
||||
self.bridge_post(
|
||||
f"{self.bridge_base_url}/api/channel-connector-bridge/events",
|
||||
f"{_bridge_base_url(session, self.bridge_base_url)}/api/channel-connector-bridge/events",
|
||||
event,
|
||||
{"Authorization": f"Bearer {self.bridge_token}"},
|
||||
)
|
||||
@ -384,6 +384,10 @@ def _url(base_url: str, endpoint: str) -> str:
|
||||
return f"{base_url.rstrip('/')}/{endpoint.lstrip('/')}"
|
||||
|
||||
|
||||
def _bridge_base_url(session: ConnectorSessionState, fallback: str) -> str:
|
||||
return str(session.metadata.get("bridgeBaseUrl") or fallback).rstrip("/")
|
||||
|
||||
|
||||
def _base_info() -> dict[str, str]:
|
||||
return {"channel_version": "2.4.3", "bot_agent": "Beaver/1.0"}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user