- Add packages/smart-ide-upstreams (versioned dist) for resolveUpstream + listUpstreamKeys - Wire smart-ide-global-api and smart-ide-sso-gateway via file: dependency - Add systemd user unit templates and install-smart-ide-gateway-systemd-user.sh (SSO After/Requires global API) - Update docs and VERSION 0.0.3
69 lines
2.9 KiB
JavaScript
69 lines
2.9 KiB
JavaScript
const trimSlash = (s) => s.replace(/\/+$/, "");
|
|
const env = (k, d) => process.env[k]?.trim() ?? d;
|
|
export const resolveUpstream = (key) => {
|
|
switch (key) {
|
|
case "orchestrator":
|
|
return {
|
|
baseUrl: trimSlash(`http://${env("ORCHESTRATOR_HOST", "127.0.0.1")}:${env("ORCHESTRATOR_PORT", "37145")}`),
|
|
auth: { kind: "bearer", token: env("ORCHESTRATOR_TOKEN", "") },
|
|
};
|
|
case "repos_devtools":
|
|
return {
|
|
baseUrl: trimSlash(`http://${env("REPOS_DEVTOOLS_HOST", "127.0.0.1")}:${env("REPOS_DEVTOOLS_PORT", "37140")}`),
|
|
auth: { kind: "bearer", token: env("REPOS_DEVTOOLS_TOKEN", "") },
|
|
};
|
|
case "ia_dev_gateway":
|
|
return {
|
|
baseUrl: trimSlash(`http://${env("IA_DEV_GATEWAY_HOST", "127.0.0.1")}:${env("IA_DEV_GATEWAY_PORT", "37144")}`),
|
|
auth: { kind: "bearer", token: env("IA_DEV_GATEWAY_TOKEN", "") },
|
|
};
|
|
case "anythingllm_devtools":
|
|
return {
|
|
baseUrl: trimSlash(`http://${env("ANYTHINGLLM_DEVTOOLS_HOST", "127.0.0.1")}:${env("ANYTHINGLLM_DEVTOOLS_PORT", "37146")}`),
|
|
auth: { kind: "bearer", token: env("ANYTHINGLLM_DEVTOOLS_TOKEN", "") },
|
|
};
|
|
case "tools_bridge":
|
|
return {
|
|
baseUrl: trimSlash(`http://${env("TOOLS_BRIDGE_HOST", "127.0.0.1")}:${env("TOOLS_BRIDGE_PORT", "37147")}`),
|
|
auth: { kind: "bearer", token: env("TOOLS_BRIDGE_TOKEN", "") },
|
|
};
|
|
case "langextract":
|
|
return {
|
|
baseUrl: trimSlash(`http://${env("LANGEXTRACT_API_HOST", "127.0.0.1")}:${env("LANGEXTRACT_API_PORT", "37141")}`),
|
|
auth: { kind: "bearer", token: env("LANGEXTRACT_SERVICE_TOKEN", "") },
|
|
};
|
|
case "regex_search":
|
|
return {
|
|
baseUrl: trimSlash(`http://${env("REGEX_SEARCH_HOST", "127.0.0.1")}:${env("REGEX_SEARCH_PORT", "37143")}`),
|
|
auth: { kind: "bearer", token: env("REGEX_SEARCH_TOKEN", "") },
|
|
};
|
|
case "claw_proxy":
|
|
return {
|
|
baseUrl: trimSlash(`http://${env("CLAW_PROXY_HOST", "127.0.0.1")}:${env("CLAW_PROXY_PORT", "37142")}`),
|
|
auth: { kind: "bearer", token: env("CLAW_PROXY_TOKEN", "") },
|
|
};
|
|
case "local_office":
|
|
return {
|
|
baseUrl: trimSlash(env("LOCAL_OFFICE_URL", "http://127.0.0.1:8000")),
|
|
auth: {
|
|
kind: "header",
|
|
name: "X-API-Key",
|
|
value: env("LOCAL_OFFICE_API_KEY", ""),
|
|
},
|
|
};
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
export const listUpstreamKeys = () => [
|
|
"orchestrator",
|
|
"repos_devtools",
|
|
"ia_dev_gateway",
|
|
"anythingllm_devtools",
|
|
"tools_bridge",
|
|
"langextract",
|
|
"regex_search",
|
|
"claw_proxy",
|
|
"local_office",
|
|
];
|