60 lines
2.0 KiB
HTML
60 lines
2.0 KiB
HTML
<!doctype html>
|
|
<html lang="en-US" suppressHydrationWarning>
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<script>
|
|
(function () {
|
|
try {
|
|
var t = localStorage.getItem("strategy-theme");
|
|
var root = document.documentElement;
|
|
root.classList.remove("dark", "light");
|
|
if (t === "light") return;
|
|
root.classList.add("dark");
|
|
} catch (e) {}
|
|
})();
|
|
// Chrome 102 has no AbortSignal.timeout (Chrome 103+). Install before
|
|
// any module so LangGraph SDK control requests can set a deadline.
|
|
(function () {
|
|
try {
|
|
if (typeof AbortSignal === "undefined" || typeof AbortSignal.timeout === "function") {
|
|
return;
|
|
}
|
|
AbortSignal.timeout = function (milliseconds) {
|
|
var controller = new AbortController();
|
|
var timer = setTimeout(function () {
|
|
var reason;
|
|
try {
|
|
reason = new DOMException("signal timed out", "TimeoutError");
|
|
} catch (err) {
|
|
reason = new Error("signal timed out");
|
|
reason.name = "TimeoutError";
|
|
}
|
|
try {
|
|
controller.abort(reason);
|
|
} catch (err) {
|
|
controller.abort();
|
|
}
|
|
}, milliseconds);
|
|
controller.signal.addEventListener(
|
|
"abort",
|
|
function () {
|
|
clearTimeout(timer);
|
|
},
|
|
{ once: true },
|
|
);
|
|
return controller.signal;
|
|
};
|
|
} catch (err) {}
|
|
})();
|
|
</script>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
<title>CM 助手</title>
|
|
<script src="/runtime-config.js" data-runtime-config></script>
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|