omnius 1.0.318 → 1.0.320
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +43 -10
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -687143,23 +687143,23 @@ async function scanProjects() {
|
|
|
687143
687143
|
alert('No Omnius instances found under ' + data.base);
|
|
687144
687144
|
return;
|
|
687145
687145
|
}
|
|
687146
|
-
const unregistered = data.projects.filter((p
|
|
687147
|
-
const registered = data.projects.filter((p
|
|
687146
|
+
const unregistered = data.projects.filter((p) => !p.registered);
|
|
687147
|
+
const registered = data.projects.filter((p) => p.registered);
|
|
687148
687148
|
let html = '<div style="margin-bottom:8px;font-size:0.65rem;color:var(--color-fg-subtle)">Found ' + data.count + ' Omnius instance(s) under <code>' + data.base + '</code></div>';
|
|
687149
687149
|
if (registered.length > 0) {
|
|
687150
687150
|
html += '<div style="font-size:0.65rem;color:var(--color-fg-subtle);margin-bottom:4px">Already registered:</div>';
|
|
687151
|
-
registered.forEach((p
|
|
687151
|
+
registered.forEach((p) => {
|
|
687152
687152
|
html += '<div style="padding:4px 8px;margin:2px 0;font-size:0.65rem;color:var(--color-fg-subtle)">✓ ' + p.name + ' — ' + p.root + '</div>';
|
|
687153
687153
|
});
|
|
687154
687154
|
}
|
|
687155
687155
|
if (unregistered.length > 0) {
|
|
687156
687156
|
html += '<div style="font-size:0.65rem;color:var(--color-fg-subtle);margin:8px 0 4px">Not registered — click to add:</div>';
|
|
687157
|
-
unregistered.forEach((p
|
|
687157
|
+
unregistered.forEach((p) => {
|
|
687158
687158
|
html += '<div class="scan-row" data-root="' + encodeURIComponent(p.root) + '" data-name="' + encodeURIComponent(p.name) + '" style="padding:4px 8px;margin:2px 0;font-size:0.65rem;color:var(--color-brand);cursor:pointer;border:1px dashed var(--color-border);border-radius:3px">' +
|
|
687159
687159
|
p.name + ' <span style="color:var(--color-fg-faint)">(' + p.root + ')</span>' +
|
|
687160
687160
|
' <span style="color:var(--color-success);font-size:0.6rem">[click to register]</span></div>';
|
|
687161
687161
|
});
|
|
687162
|
-
document.querySelectorAll('.scan-row').forEach((el
|
|
687162
|
+
document.querySelectorAll('.scan-row').forEach((el) => {
|
|
687163
687163
|
el.addEventListener('click', async () => {
|
|
687164
687164
|
const root = decodeURIComponent(el.getAttribute('data-root') || '');
|
|
687165
687165
|
const name = decodeURIComponent(el.getAttribute('data-name') || '');
|
|
@@ -687238,8 +687238,9 @@ window.addProject = addProject;
|
|
|
687238
687238
|
|
|
687239
687239
|
// ─── Filter projects by search text ───
|
|
687240
687240
|
function filterProjects() {
|
|
687241
|
-
const
|
|
687242
|
-
|
|
687241
|
+
const search = document.getElementById('project-search');
|
|
687242
|
+
const query = String((search && search.value) || '').toLowerCase();
|
|
687243
|
+
document.querySelectorAll('.proj-row').forEach((el) => {
|
|
687243
687244
|
const root = (el.getAttribute('data-root') || '').toLowerCase();
|
|
687244
687245
|
const name = (el.textContent || '').toLowerCase();
|
|
687245
687246
|
el.style.display = (!query || root.includes(query) || name.includes(query)) ? '' : 'none';
|
|
@@ -694342,6 +694343,29 @@ function tokensMatch(a2, b) {
|
|
|
694342
694343
|
return false;
|
|
694343
694344
|
}
|
|
694344
694345
|
}
|
|
694346
|
+
function cookieValue(req3, name10) {
|
|
694347
|
+
const raw = req3.headers["cookie"];
|
|
694348
|
+
if (typeof raw !== "string" || !raw) return null;
|
|
694349
|
+
for (const part of raw.split(";")) {
|
|
694350
|
+
const idx = part.indexOf("=");
|
|
694351
|
+
if (idx <= 0) continue;
|
|
694352
|
+
const k = part.slice(0, idx).trim();
|
|
694353
|
+
if (k !== name10) continue;
|
|
694354
|
+
try {
|
|
694355
|
+
return decodeURIComponent(part.slice(idx + 1).trim());
|
|
694356
|
+
} catch {
|
|
694357
|
+
return part.slice(idx + 1).trim();
|
|
694358
|
+
}
|
|
694359
|
+
}
|
|
694360
|
+
return null;
|
|
694361
|
+
}
|
|
694362
|
+
function isLoopbackRequest(req3) {
|
|
694363
|
+
const remoteIp = (req3.socket?.remoteAddress || "").replace(/^::ffff:/, "");
|
|
694364
|
+
return isLoopbackIP(remoteIp);
|
|
694365
|
+
}
|
|
694366
|
+
function hasLocalUiSession(req3) {
|
|
694367
|
+
return isLoopbackRequest(req3) && tokensMatch(cookieValue(req3, LOCAL_UI_SESSION_COOKIE), LOCAL_UI_SESSION_TOKEN);
|
|
694368
|
+
}
|
|
694345
694369
|
function scopedEnvKeySources() {
|
|
694346
694370
|
const pick = (...names) => {
|
|
694347
694371
|
for (const n2 of names) {
|
|
@@ -694441,6 +694465,9 @@ function resolveAuth(req3) {
|
|
|
694441
694465
|
} catch {
|
|
694442
694466
|
}
|
|
694443
694467
|
}
|
|
694468
|
+
if (hasLocalUiSession(req3)) {
|
|
694469
|
+
return { authenticated: true, scope: "admin", user: "local-ui" };
|
|
694470
|
+
}
|
|
694444
694471
|
if (!anyEnvAuthKeyConfigured()) {
|
|
694445
694472
|
const insecureLoopbackAdmin = process.env["OMNIUS_INSECURE_LOOPBACK_ADMIN"] === "1";
|
|
694446
694473
|
const remoteIp = (req3.socket?.remoteAddress || "").replace(/^::ffff:/, "");
|
|
@@ -697893,12 +697920,16 @@ async function handleRequest(req3, res, ollamaUrl, verbose, runtimeDefaults = {}
|
|
|
697893
697920
|
"/config"
|
|
697894
697921
|
]);
|
|
697895
697922
|
if (guiRoutes.has(pathname) && method === "GET" && req3.headers.accept?.includes("text/html")) {
|
|
697896
|
-
|
|
697923
|
+
const htmlHeaders = {
|
|
697897
697924
|
"Content-Type": "text/html; charset=utf-8",
|
|
697898
697925
|
"Cache-Control": "no-cache, no-store, must-revalidate, max-age=0",
|
|
697899
697926
|
Pragma: "no-cache",
|
|
697900
697927
|
Expires: "0"
|
|
697901
|
-
}
|
|
697928
|
+
};
|
|
697929
|
+
if (isLoopbackRequest(req3)) {
|
|
697930
|
+
htmlHeaders["Set-Cookie"] = LOCAL_UI_SESSION_COOKIE + "=" + encodeURIComponent(LOCAL_UI_SESSION_TOKEN) + "; Path=/; HttpOnly; SameSite=Strict; Max-Age=86400" + (req3.socket.encrypted ? "; Secure" : "");
|
|
697931
|
+
}
|
|
697932
|
+
res.writeHead(200, htmlHeaders);
|
|
697902
697933
|
res.end(getWebUI());
|
|
697903
697934
|
return;
|
|
697904
697935
|
}
|
|
@@ -702818,7 +702849,7 @@ function setTimerEnabled(name10, enabled2) {
|
|
|
702818
702849
|
return false;
|
|
702819
702850
|
}
|
|
702820
702851
|
}
|
|
702821
|
-
var require4, NEXUS_DIRECTORY_ORIGIN2, NEXUS_SPONSORS_URL2, endpointRegistry, modelRouteMap, endpointUsage, _lastEndpointDiagnostics, BACKEND_TIMEOUT_DEFAULT_MS, BACKEND_TIMEOUT_MAX_MS, MODEL_LIST_TIMEOUT_DEFAULT_MS, metrics, startedAt, realtimeOllamaFallbackCache, runningProcesses, perKeyUsage, CRON_MARKER2;
|
|
702852
|
+
var require4, NEXUS_DIRECTORY_ORIGIN2, NEXUS_SPONSORS_URL2, endpointRegistry, modelRouteMap, endpointUsage, _lastEndpointDiagnostics, BACKEND_TIMEOUT_DEFAULT_MS, BACKEND_TIMEOUT_MAX_MS, MODEL_LIST_TIMEOUT_DEFAULT_MS, metrics, startedAt, realtimeOllamaFallbackCache, runningProcesses, LOCAL_UI_SESSION_COOKIE, LOCAL_UI_SESSION_TOKEN, perKeyUsage, CRON_MARKER2;
|
|
702822
702853
|
var init_serve = __esm({
|
|
702823
702854
|
"packages/cli/src/api/serve.ts"() {
|
|
702824
702855
|
"use strict";
|
|
@@ -702869,6 +702900,8 @@ var init_serve = __esm({
|
|
|
702869
702900
|
startedAt = Date.now();
|
|
702870
702901
|
realtimeOllamaFallbackCache = /* @__PURE__ */ new Map();
|
|
702871
702902
|
runningProcesses = /* @__PURE__ */ new Map();
|
|
702903
|
+
LOCAL_UI_SESSION_COOKIE = "omnius_ui_session";
|
|
702904
|
+
LOCAL_UI_SESSION_TOKEN = randomBytes28(32).toString("base64url");
|
|
702872
702905
|
perKeyUsage = /* @__PURE__ */ new Map();
|
|
702873
702906
|
CRON_MARKER2 = "# OMNIUS-SCHEDULED:";
|
|
702874
702907
|
}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.320",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "omnius",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.320",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"image-to-ascii"
|
|
12
12
|
],
|
package/package.json
CHANGED