Initial commit: site monorepo with API, web, and infra.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
влад
2026-07-16 10:11:54 +03:00
co-authored by Cursor
commit 016910ffb7
447 changed files with 73972 additions and 0 deletions
@@ -0,0 +1,85 @@
/**
* Orchestrator login adapter for WESP login.html — persist JWT + enterprise after /api/auth/login.
*/
(function (global) {
const DEBUG_ENDPOINT = "http://127.0.0.1:7898/ingest/d209dffb-c63e-477b-8b08-a57520eaee9b";
const SESSION = "785e22";
function debugLog(hypothesisId, message, data) {
// #region agent log
fetch(DEBUG_ENDPOINT, {
method: "POST",
headers: { "Content-Type": "application/json", "X-Debug-Session-Id": SESSION },
body: JSON.stringify({
sessionId: SESSION,
runId: "login-fix",
hypothesisId,
location: "wesp-orchestrator-login.js",
message,
data,
timestamp: Date.now(),
}),
}).catch(function () {});
// #endregion
}
async function resolveEnterpriseId(accessToken) {
try {
const resp = await fetch("/api/v1/enterprise/enterprises", {
headers: { Authorization: "Bearer " + accessToken },
});
if (!resp.ok) return "";
const rows = await resp.json();
return Array.isArray(rows) && rows[0] && rows[0].id ? String(rows[0].id) : "";
} catch (_err) {
return "";
}
}
async function persistOrchestratorSession(payload) {
const token = payload && payload.access_token ? String(payload.access_token) : "";
const user = payload && payload.user ? payload.user : null;
if (!token || !user) {
debugLog("H2", "login missing token/user", { hasToken: Boolean(token), hasUser: Boolean(user) });
return false;
}
const enterpriseId = await resolveEnterpriseId(token);
if (global.ComptonWespAuth && typeof global.ComptonWespAuth.persistSession === "function") {
global.ComptonWespAuth.persistSession(token, user, enterpriseId);
}
global.__WESP_ORCH__ = Object.assign({}, global.__WESP_ORCH__ || {}, {
accessToken: token,
enterpriseId: enterpriseId,
userEmail: user.email || "",
});
debugLog("H1", "session persisted", { hasEnterprise: Boolean(enterpriseId), email: user.email || "" });
return Boolean(enterpriseId);
}
const nativeFetch = global.fetch.bind(global);
global.fetch = function orchestratorLoginFetch(input, init) {
const url = typeof input === "string" ? input : input && input.url ? input.url : "";
if (url.indexOf("/api/auth/login") === -1) {
return nativeFetch(input, init);
}
debugLog("H3", "wesp login request", { url: url.split("?")[0] });
return nativeFetch(input, init).then(async function (response) {
const cloned = response.clone();
let data = {};
try {
data = await cloned.json();
} catch (_err) {
debugLog("H3", "login response not json", { status: response.status });
return response;
}
if (response.ok && data.status === "success") {
await persistOrchestratorSession(data);
} else {
debugLog("H3", "login failed", { status: response.status, bodyStatus: data.status });
}
return response;
});
};
debugLog("H4", "orchestrator login adapter ready", { path: global.location.pathname });
})(window);