omnius 1.0.597 → 1.0.598
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 +387 -5
- package/docs/DISCOVERY.json +64 -0
- package/docs/DISCOVERY.md +2 -0
- package/docs/guides/system-tray.md +11 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -691887,9 +691887,9 @@ function buildCommandDef(name10, signatures) {
|
|
|
691887
691887
|
const argsHint = inferArgsHint(signatures[0]?.signature ?? `/${name10}`);
|
|
691888
691888
|
const surfaces = {
|
|
691889
691889
|
tui: true,
|
|
691890
|
-
rest: status === "implemented" && !["quit", "exit"].includes(name10) && !safety.destructive && !safety.secretBearing && !REST_BLOCKED.has(name10),
|
|
691891
|
-
gateway: status === "implemented" && !safety.destructive && !safety.secretBearing,
|
|
691892
|
-
agentTool: status === "implemented" && !safety.userOnly && !safety.destructive && !safety.secretBearing && !safety.profileGated
|
|
691890
|
+
rest: status === "implemented" && !["quit", "exit"].includes(name10) && !safety.destructive && !safety.secretBearing && !REST_BLOCKED.has(name10) && !LOCAL_TUI_ONLY.has(name10),
|
|
691891
|
+
gateway: status === "implemented" && !safety.destructive && !safety.secretBearing && !LOCAL_TUI_ONLY.has(name10),
|
|
691892
|
+
agentTool: status === "implemented" && !safety.userOnly && !safety.destructive && !safety.secretBearing && !safety.profileGated && !LOCAL_TUI_ONLY.has(name10)
|
|
691893
691893
|
};
|
|
691894
691894
|
return {
|
|
691895
691895
|
name: name10,
|
|
@@ -691924,7 +691924,7 @@ function inferArgsHint(signature) {
|
|
|
691924
691924
|
function normalizeCommandName(name10) {
|
|
691925
691925
|
return name10.replace(/^\//, "").trim().toLowerCase();
|
|
691926
691926
|
}
|
|
691927
|
-
var COMMAND_SIGNATURES, PLANNED_SIGNATURES, CATEGORY_OVERRIDES, ALIASES, USER_ONLY, DESTRUCTIVE, NETWORKED, SECRET_BEARING, PROFILE_GATED, SELF_MODIFY_ALLOWED, REST_BLOCKED, TELEGRAM_PUBLIC_BOT_COMMANDS, CANONICAL_BY_ALIAS, DYNAMIC_COMMANDS, SLASH_COMMANDS;
|
|
691927
|
+
var COMMAND_SIGNATURES, PLANNED_SIGNATURES, CATEGORY_OVERRIDES, ALIASES, USER_ONLY, DESTRUCTIVE, NETWORKED, SECRET_BEARING, PROFILE_GATED, SELF_MODIFY_ALLOWED, REST_BLOCKED, LOCAL_TUI_ONLY, TELEGRAM_PUBLIC_BOT_COMMANDS, CANONICAL_BY_ALIAS, DYNAMIC_COMMANDS, SLASH_COMMANDS;
|
|
691928
691928
|
var init_command_registry = __esm({
|
|
691929
691929
|
"packages/cli/src/tui/command-registry.ts"() {
|
|
691930
691930
|
COMMAND_SIGNATURES = [
|
|
@@ -691957,6 +691957,12 @@ var init_command_registry = __esm({
|
|
|
691957
691957
|
["/ollama cleanup --execute", "Terminate guarded stale Ollama pool runners"],
|
|
691958
691958
|
["/mcp", "Show MCP server/tool status and controls"],
|
|
691959
691959
|
["/mcp reload", "Reload MCP servers and tools"],
|
|
691960
|
+
["/indicator", "Start the native system indicator and report readiness"],
|
|
691961
|
+
["/indicator start", "Start the native system indicator and report readiness"],
|
|
691962
|
+
["/indicator status", "Report native system indicator readiness and daemon health"],
|
|
691963
|
+
["/tray", "Alias for /indicator"],
|
|
691964
|
+
["/tray start", "Alias for /indicator start"],
|
|
691965
|
+
["/tray status", "Alias for /indicator status"],
|
|
691960
691966
|
["/update", "Check for updates and auto-install"],
|
|
691961
691967
|
["/upgrade", "Alias for /update"],
|
|
691962
691968
|
["/update auto", "Enable auto-update after task completion (default)"],
|
|
@@ -692617,6 +692623,7 @@ var init_command_registry = __esm({
|
|
|
692617
692623
|
scheduler: "runtime",
|
|
692618
692624
|
reminder: "runtime",
|
|
692619
692625
|
daemon: "runtime",
|
|
692626
|
+
indicator: "ui",
|
|
692620
692627
|
apikey: "secret",
|
|
692621
692628
|
key: "secret",
|
|
692622
692629
|
secrets: "secret",
|
|
@@ -692667,6 +692674,7 @@ var init_command_registry = __esm({
|
|
|
692667
692674
|
setup: ["wizard"],
|
|
692668
692675
|
mcp: ["mcps"],
|
|
692669
692676
|
update: ["upgrade"],
|
|
692677
|
+
indicator: ["tray"],
|
|
692670
692678
|
listen: ["mic"],
|
|
692671
692679
|
pointcloud: ["points", "pcl", "point"],
|
|
692672
692680
|
neovim: ["nvim", "vim"],
|
|
@@ -692767,6 +692775,7 @@ var init_command_registry = __esm({
|
|
|
692767
692775
|
"scheduler",
|
|
692768
692776
|
"cron",
|
|
692769
692777
|
"daemon",
|
|
692778
|
+
"indicator",
|
|
692770
692779
|
"fortemi",
|
|
692771
692780
|
"mouse",
|
|
692772
692781
|
"approve",
|
|
@@ -692885,8 +692894,10 @@ var init_command_registry = __esm({
|
|
|
692885
692894
|
"rollback",
|
|
692886
692895
|
"background",
|
|
692887
692896
|
"bg",
|
|
692888
|
-
"paste"
|
|
692897
|
+
"paste",
|
|
692898
|
+
"indicator"
|
|
692889
692899
|
]);
|
|
692900
|
+
LOCAL_TUI_ONLY = /* @__PURE__ */ new Set(["indicator"]);
|
|
692890
692901
|
TELEGRAM_PUBLIC_BOT_COMMANDS = [
|
|
692891
692902
|
{
|
|
692892
692903
|
command: "start",
|
|
@@ -724392,6 +724403,55 @@ var init_prune_menu = __esm({
|
|
|
724392
724403
|
}
|
|
724393
724404
|
});
|
|
724394
724405
|
|
|
724406
|
+
// packages/cli/src/tui/indicator-command.ts
|
|
724407
|
+
var indicator_command_exports = {};
|
|
724408
|
+
__export(indicator_command_exports, {
|
|
724409
|
+
runIndicatorCommand: () => runIndicatorCommand
|
|
724410
|
+
});
|
|
724411
|
+
function formatIndicatorStatus(status) {
|
|
724412
|
+
const state = status.running ? status.ready ? "ready" : "starting" : "stopped";
|
|
724413
|
+
const pid = status.pid ? ` (PID ${status.pid})` : "";
|
|
724414
|
+
const health = status.health?.label ?? "not checked";
|
|
724415
|
+
const autostart = status.registered ? "registered" : "not registered";
|
|
724416
|
+
const parts = [
|
|
724417
|
+
`Indicator: ${state}${pid}.`,
|
|
724418
|
+
`Health: ${health}.`,
|
|
724419
|
+
`Endpoint: ${status.endpoint}.`,
|
|
724420
|
+
`Autostart: ${autostart}.`
|
|
724421
|
+
];
|
|
724422
|
+
if (status.error) parts.push(`Error: ${status.error}`);
|
|
724423
|
+
return parts.join(" ");
|
|
724424
|
+
}
|
|
724425
|
+
async function runIndicatorCommand(rawAction, operations = DEFAULT_OPERATIONS) {
|
|
724426
|
+
const action = rawAction.trim().toLowerCase() || "start";
|
|
724427
|
+
if (action !== "start" && action !== "status") {
|
|
724428
|
+
return {
|
|
724429
|
+
level: "warning",
|
|
724430
|
+
message: "Usage: /indicator [start|status] (alias: /tray)"
|
|
724431
|
+
};
|
|
724432
|
+
}
|
|
724433
|
+
try {
|
|
724434
|
+
const status = action === "status" ? await operations.status() : await operations.start();
|
|
724435
|
+
const level = status.error ? "error" : status.running && status.ready ? "info" : status.running ? "warning" : action === "start" ? "error" : "warning";
|
|
724436
|
+
return { level, message: formatIndicatorStatus(status), status };
|
|
724437
|
+
} catch (error) {
|
|
724438
|
+
return {
|
|
724439
|
+
level: "error",
|
|
724440
|
+
message: `Indicator failed: ${error instanceof Error ? error.message : String(error)}`
|
|
724441
|
+
};
|
|
724442
|
+
}
|
|
724443
|
+
}
|
|
724444
|
+
var DEFAULT_OPERATIONS;
|
|
724445
|
+
var init_indicator_command = __esm({
|
|
724446
|
+
"packages/cli/src/tui/indicator-command.ts"() {
|
|
724447
|
+
init_tray();
|
|
724448
|
+
DEFAULT_OPERATIONS = {
|
|
724449
|
+
start: () => startTray(),
|
|
724450
|
+
status: () => getTrayStatus()
|
|
724451
|
+
};
|
|
724452
|
+
}
|
|
724453
|
+
});
|
|
724454
|
+
|
|
724395
724455
|
// packages/cli/src/cron/types.ts
|
|
724396
724456
|
var SILENT_MARKER, ONESHOT_GRACE_SECONDS, TICK_LOCK_FILE, CRON_DIR_NAME, JOBS_FILE_NAME, OUTPUT_DIR_NAME;
|
|
724397
724457
|
var init_types5 = __esm({
|
|
@@ -735832,6 +735892,15 @@ ${result.output}`);
|
|
|
735832
735892
|
await showCohereDashboard(ctx3);
|
|
735833
735893
|
return "handled";
|
|
735834
735894
|
}
|
|
735895
|
+
case "indicator":
|
|
735896
|
+
case "tray": {
|
|
735897
|
+
const { runIndicatorCommand: runIndicatorCommand2 } = await Promise.resolve().then(() => (init_indicator_command(), indicator_command_exports));
|
|
735898
|
+
const result = await runIndicatorCommand2(arg);
|
|
735899
|
+
if (result.level === "error") renderError(result.message);
|
|
735900
|
+
else if (result.level === "warning") renderWarning(result.message);
|
|
735901
|
+
else renderInfo(result.message);
|
|
735902
|
+
return "handled";
|
|
735903
|
+
}
|
|
735835
735904
|
case "daemon": {
|
|
735836
735905
|
const { getDaemonStatus: getDaemonStatus2, stopDaemon: stopDaemon2, ensureDaemon: ensureDaemon2 } = await Promise.resolve().then(() => (init_daemon(), daemon_exports));
|
|
735837
735906
|
if (arg === "status" || !arg) {
|
|
@@ -792429,6 +792498,9 @@ function getWebUI() {
|
|
|
792429
792498
|
<meta charset="UTF-8">
|
|
792430
792499
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
792431
792500
|
<title>Omnius</title>
|
|
792501
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
792502
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
792503
|
+
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
|
792432
792504
|
<style>
|
|
792433
792505
|
/* ─── Cold Tactical HUD design tokens ──────────────────────────────
|
|
792434
792506
|
* Source of truth:
|
|
@@ -794212,6 +794284,316 @@ button {
|
|
|
794212
794284
|
.hud-workbench { grid-template-columns: 1fr; }
|
|
794213
794285
|
.hud-form-grid { grid-template-columns: 1fr; }
|
|
794214
794286
|
}
|
|
794287
|
+
|
|
794288
|
+
/* ─── NOCLIP style kit ─────────────────────────────────────────────
|
|
794289
|
+
* Source: https://noclip.org/assets/ui-panels-CB6m2DCR.css
|
|
794290
|
+
* Keep this final: it intentionally collapses the older tactical HUD and
|
|
794291
|
+
* OpenWebUI experiments into noclip's restrained black/yellow system.
|
|
794292
|
+
*/
|
|
794293
|
+
:root {
|
|
794294
|
+
color-scheme: dark;
|
|
794295
|
+
--nclp-bg-main: #000000;
|
|
794296
|
+
--nclp-bg-secondary: #111111;
|
|
794297
|
+
--nclp-bg-tertiary: #1a1a1a;
|
|
794298
|
+
--nclp-surface: #141414;
|
|
794299
|
+
--nclp-text: #fafafa;
|
|
794300
|
+
--nclp-muted: rgba(250, 250, 250, 0.70);
|
|
794301
|
+
--nclp-quiet: rgba(250, 250, 250, 0.48);
|
|
794302
|
+
--nclp-line: rgba(250, 250, 250, 0.12);
|
|
794303
|
+
--nclp-line-strong: rgba(250, 250, 250, 0.30);
|
|
794304
|
+
--nclp-yellow: #facc15;
|
|
794305
|
+
--nclp-amber: #f59e0b;
|
|
794306
|
+
--nclp-amber-soft: rgba(245, 158, 11, 0.14);
|
|
794307
|
+
--nclp-ok: #8ef6c8;
|
|
794308
|
+
--nclp-bad: #fca5a5;
|
|
794309
|
+
--nclp-font: Inter, 'IBM Plex Mono', 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
|
|
794310
|
+
--nclp-card: linear-gradient(145deg, rgba(20, 20, 20, 0.97), rgba(10, 10, 10, 0.97));
|
|
794311
|
+
--nclp-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
|
|
794312
|
+
|
|
794313
|
+
--hud-void: var(--nclp-bg-main);
|
|
794314
|
+
--hud-black: var(--nclp-bg-main);
|
|
794315
|
+
--hud-panel-solid: var(--nclp-surface);
|
|
794316
|
+
--hud-steel: var(--nclp-line);
|
|
794317
|
+
--hud-steel-2: var(--nclp-line-strong);
|
|
794318
|
+
--hud-dim: var(--nclp-quiet);
|
|
794319
|
+
--hud-muted: var(--nclp-muted);
|
|
794320
|
+
--hud-ink-soft: var(--nclp-muted);
|
|
794321
|
+
--hud-ink: var(--nclp-text);
|
|
794322
|
+
--hud-accent: var(--nclp-yellow);
|
|
794323
|
+
--hud-accent-strong: #fde047;
|
|
794324
|
+
--hud-cyan: var(--nclp-yellow);
|
|
794325
|
+
--hud-danger: var(--nclp-bad);
|
|
794326
|
+
--hud-success: var(--nclp-ok);
|
|
794327
|
+
--hud-panel-clip: none;
|
|
794328
|
+
--hud-button-clip: none;
|
|
794329
|
+
--hud-panel-shadow: var(--nclp-shadow);
|
|
794330
|
+
--hud-cyan-glow: none;
|
|
794331
|
+
--hud-amber-glow: none;
|
|
794332
|
+
|
|
794333
|
+
--color-bg: var(--nclp-bg-main);
|
|
794334
|
+
--color-bg-elevated: var(--nclp-surface);
|
|
794335
|
+
--color-bg-input: var(--nclp-bg-main);
|
|
794336
|
+
--color-bg-hover: var(--nclp-amber-soft);
|
|
794337
|
+
--color-fg: var(--nclp-text);
|
|
794338
|
+
--color-fg-muted: var(--nclp-muted);
|
|
794339
|
+
--color-fg-subtle: var(--nclp-muted);
|
|
794340
|
+
--color-fg-faint: var(--nclp-quiet);
|
|
794341
|
+
--color-border: var(--nclp-line);
|
|
794342
|
+
--color-border-strong: var(--nclp-line-strong);
|
|
794343
|
+
--color-accent: var(--nclp-yellow);
|
|
794344
|
+
--color-accent-hover: #fde047;
|
|
794345
|
+
--color-accent-fg: #111111;
|
|
794346
|
+
--color-success: var(--nclp-ok);
|
|
794347
|
+
--color-warning: var(--nclp-yellow);
|
|
794348
|
+
--color-error: var(--nclp-bad);
|
|
794349
|
+
--color-info: var(--nclp-yellow);
|
|
794350
|
+
--color-brand: var(--nclp-yellow);
|
|
794351
|
+
--color-brand-hover: #fde047;
|
|
794352
|
+
--font-display: var(--nclp-font);
|
|
794353
|
+
--font-ui: var(--nclp-font);
|
|
794354
|
+
--font-mono: var(--nclp-font);
|
|
794355
|
+
--radius-sm: 3px;
|
|
794356
|
+
--radius-md: 3px;
|
|
794357
|
+
--radius-lg: 3px;
|
|
794358
|
+
--radius-pill: 3px;
|
|
794359
|
+
}
|
|
794360
|
+
|
|
794361
|
+
/* NOCLIP is a dark-only style kit; keep the legacy theme toggle from leaking
|
|
794362
|
+
* its pale compatibility palette back into components using --color-* aliases. */
|
|
794363
|
+
html[data-theme="light"] {
|
|
794364
|
+
color-scheme: dark;
|
|
794365
|
+
--color-bg: var(--nclp-bg-main);
|
|
794366
|
+
--color-bg-elevated: var(--nclp-surface);
|
|
794367
|
+
--color-bg-input: var(--nclp-bg-main);
|
|
794368
|
+
--color-bg-hover: var(--nclp-amber-soft);
|
|
794369
|
+
--color-fg: var(--nclp-text);
|
|
794370
|
+
--color-fg-muted: var(--nclp-muted);
|
|
794371
|
+
--color-fg-subtle: var(--nclp-muted);
|
|
794372
|
+
--color-fg-faint: var(--nclp-quiet);
|
|
794373
|
+
--color-border: var(--nclp-line);
|
|
794374
|
+
--color-border-strong: var(--nclp-line-strong);
|
|
794375
|
+
}
|
|
794376
|
+
|
|
794377
|
+
html,
|
|
794378
|
+
body,
|
|
794379
|
+
#omnius-shell,
|
|
794380
|
+
#omnius-main {
|
|
794381
|
+
background: var(--nclp-bg-main) !important;
|
|
794382
|
+
color: var(--nclp-text) !important;
|
|
794383
|
+
font-family: var(--nclp-font) !important;
|
|
794384
|
+
}
|
|
794385
|
+
|
|
794386
|
+
body::before,
|
|
794387
|
+
body::after,
|
|
794388
|
+
#omnius-sidebar::before,
|
|
794389
|
+
.hud-btn__chrome,
|
|
794390
|
+
.hud-tab__chrome {
|
|
794391
|
+
content: none !important;
|
|
794392
|
+
display: none !important;
|
|
794393
|
+
}
|
|
794394
|
+
|
|
794395
|
+
#omnius-sidebar {
|
|
794396
|
+
background: var(--nclp-bg-main) !important;
|
|
794397
|
+
border-right: 1px solid var(--nclp-line) !important;
|
|
794398
|
+
box-shadow: none !important;
|
|
794399
|
+
}
|
|
794400
|
+
|
|
794401
|
+
#header,
|
|
794402
|
+
#sidebar-nav,
|
|
794403
|
+
#sidebar-footer,
|
|
794404
|
+
.session-topbar,
|
|
794405
|
+
#footer,
|
|
794406
|
+
#input-toolbar,
|
|
794407
|
+
#input-row,
|
|
794408
|
+
#processes-row,
|
|
794409
|
+
#tasks-row {
|
|
794410
|
+
background: var(--nclp-bg-secondary) !important;
|
|
794411
|
+
border-color: var(--nclp-line) !important;
|
|
794412
|
+
box-shadow: none !important;
|
|
794413
|
+
}
|
|
794414
|
+
|
|
794415
|
+
#chat-container,
|
|
794416
|
+
#agent-panel,
|
|
794417
|
+
#jobs-panel,
|
|
794418
|
+
#config-panel,
|
|
794419
|
+
#activity-panel,
|
|
794420
|
+
#projects-panel,
|
|
794421
|
+
#voice-panel,
|
|
794422
|
+
#generate-panel {
|
|
794423
|
+
background: var(--nclp-bg-main) !important;
|
|
794424
|
+
background-image: none !important;
|
|
794425
|
+
}
|
|
794426
|
+
|
|
794427
|
+
:is(.hud-panel, .hud-result-card, .tool-card, .omnius-modal-window,
|
|
794428
|
+
.settings-provider-module, .settings-provider-setup, .msg pre,
|
|
794429
|
+
#proc-popover, #slash-palette, #key-modal .modal) {
|
|
794430
|
+
position: relative;
|
|
794431
|
+
border: 1px solid var(--nclp-line) !important;
|
|
794432
|
+
border-radius: 3px !important;
|
|
794433
|
+
background: var(--nclp-card) !important;
|
|
794434
|
+
box-shadow: var(--nclp-shadow) !important;
|
|
794435
|
+
clip-path: none !important;
|
|
794436
|
+
backdrop-filter: none !important;
|
|
794437
|
+
}
|
|
794438
|
+
|
|
794439
|
+
:is(.hud-panel, .hud-result-card, .omnius-modal-window,
|
|
794440
|
+
.settings-provider-module, .settings-provider-setup)::before {
|
|
794441
|
+
content: "" !important;
|
|
794442
|
+
position: absolute !important;
|
|
794443
|
+
z-index: 2 !important;
|
|
794444
|
+
top: 0 !important;
|
|
794445
|
+
left: 0 !important;
|
|
794446
|
+
width: 38px !important;
|
|
794447
|
+
height: 2px !important;
|
|
794448
|
+
background: var(--nclp-yellow) !important;
|
|
794449
|
+
pointer-events: none !important;
|
|
794450
|
+
}
|
|
794451
|
+
|
|
794452
|
+
button,
|
|
794453
|
+
[role="button"],
|
|
794454
|
+
.hud-btn,
|
|
794455
|
+
.hud-tab,
|
|
794456
|
+
.sb-nav,
|
|
794457
|
+
.key-btn,
|
|
794458
|
+
.ibtn {
|
|
794459
|
+
border: 1px solid var(--nclp-line) !important;
|
|
794460
|
+
border-radius: 3px !important;
|
|
794461
|
+
background: var(--nclp-bg-secondary) !important;
|
|
794462
|
+
color: var(--nclp-text) !important;
|
|
794463
|
+
box-shadow: none !important;
|
|
794464
|
+
clip-path: none !important;
|
|
794465
|
+
font-family: var(--nclp-font) !important;
|
|
794466
|
+
font-size: 11px !important;
|
|
794467
|
+
font-weight: 800 !important;
|
|
794468
|
+
letter-spacing: 0.07em !important;
|
|
794469
|
+
text-transform: uppercase !important;
|
|
794470
|
+
}
|
|
794471
|
+
|
|
794472
|
+
:is(button, [role="button"], .hud-btn, .hud-tab, .sb-nav, .key-btn, .ibtn):hover:not(:disabled),
|
|
794473
|
+
:is(button, [role="button"], .hud-btn, .hud-tab, .sb-nav, .key-btn, .ibtn):focus-visible {
|
|
794474
|
+
border-color: var(--nclp-yellow) !important;
|
|
794475
|
+
color: var(--nclp-yellow) !important;
|
|
794476
|
+
background: var(--nclp-bg-secondary) !important;
|
|
794477
|
+
outline: none !important;
|
|
794478
|
+
}
|
|
794479
|
+
|
|
794480
|
+
:is(.hud-btn--primary, button[type="submit"], .is-primary) {
|
|
794481
|
+
border-color: var(--nclp-yellow) !important;
|
|
794482
|
+
background: var(--nclp-yellow) !important;
|
|
794483
|
+
color: #111111 !important;
|
|
794484
|
+
}
|
|
794485
|
+
|
|
794486
|
+
:is(.hud-btn--danger, .danger, .kill) {
|
|
794487
|
+
border-color: rgba(252, 165, 165, 0.52) !important;
|
|
794488
|
+
background: #3a1818 !important;
|
|
794489
|
+
color: #fef2f2 !important;
|
|
794490
|
+
}
|
|
794491
|
+
|
|
794492
|
+
button:disabled,
|
|
794493
|
+
[role="button"][aria-disabled="true"] {
|
|
794494
|
+
opacity: 0.45 !important;
|
|
794495
|
+
cursor: not-allowed !important;
|
|
794496
|
+
}
|
|
794497
|
+
|
|
794498
|
+
input,
|
|
794499
|
+
select,
|
|
794500
|
+
textarea,
|
|
794501
|
+
#input-area,
|
|
794502
|
+
#sidebar-search {
|
|
794503
|
+
border: 1px solid var(--nclp-line) !important;
|
|
794504
|
+
border-radius: 3px !important;
|
|
794505
|
+
background: var(--nclp-bg-main) !important;
|
|
794506
|
+
color: var(--nclp-text) !important;
|
|
794507
|
+
box-shadow: none !important;
|
|
794508
|
+
font-family: var(--nclp-font) !important;
|
|
794509
|
+
}
|
|
794510
|
+
|
|
794511
|
+
:is(input, select, textarea, #input-area, #sidebar-search):focus {
|
|
794512
|
+
border-color: var(--nclp-yellow) !important;
|
|
794513
|
+
box-shadow: 0 0 0 1px var(--nclp-yellow) !important;
|
|
794514
|
+
outline: none !important;
|
|
794515
|
+
}
|
|
794516
|
+
|
|
794517
|
+
.sb-nav.active,
|
|
794518
|
+
.sb-chat.active,
|
|
794519
|
+
.slash-row.selected,
|
|
794520
|
+
.slash-row:hover,
|
|
794521
|
+
.hud-tab.active,
|
|
794522
|
+
.hud-tab[aria-selected="true"] {
|
|
794523
|
+
border-color: var(--nclp-yellow) !important;
|
|
794524
|
+
background: var(--nclp-amber-soft) !important;
|
|
794525
|
+
color: var(--nclp-yellow) !important;
|
|
794526
|
+
box-shadow: none !important;
|
|
794527
|
+
}
|
|
794528
|
+
|
|
794529
|
+
#sidebar-brand,
|
|
794530
|
+
#header .accent,
|
|
794531
|
+
:is(.hud-panel__title, .hud-result-card strong, h1, h2, h3) {
|
|
794532
|
+
color: var(--nclp-text) !important;
|
|
794533
|
+
font-family: var(--nclp-font) !important;
|
|
794534
|
+
font-size: 11px !important;
|
|
794535
|
+
font-weight: 700 !important;
|
|
794536
|
+
letter-spacing: 0.13em !important;
|
|
794537
|
+
text-transform: uppercase !important;
|
|
794538
|
+
}
|
|
794539
|
+
|
|
794540
|
+
:is(label, .hud-rail-label, .topbar-label, .proc-label, .tasks-label,
|
|
794541
|
+
.slash-desc, .hud-field label) {
|
|
794542
|
+
color: var(--nclp-muted) !important;
|
|
794543
|
+
font-size: 10px !important;
|
|
794544
|
+
font-weight: 700 !important;
|
|
794545
|
+
letter-spacing: 0.08em !important;
|
|
794546
|
+
text-transform: uppercase !important;
|
|
794547
|
+
}
|
|
794548
|
+
|
|
794549
|
+
.msg.user > *,
|
|
794550
|
+
.msg.system > *,
|
|
794551
|
+
.msg.assistant::before,
|
|
794552
|
+
.task-item,
|
|
794553
|
+
.chip,
|
|
794554
|
+
.hud-chip {
|
|
794555
|
+
border: 1px solid var(--nclp-line) !important;
|
|
794556
|
+
border-radius: 3px !important;
|
|
794557
|
+
background: var(--nclp-bg-secondary) !important;
|
|
794558
|
+
box-shadow: none !important;
|
|
794559
|
+
clip-path: none !important;
|
|
794560
|
+
}
|
|
794561
|
+
|
|
794562
|
+
.msg.assistant::before {
|
|
794563
|
+
color: var(--nclp-yellow) !important;
|
|
794564
|
+
border-color: var(--nclp-yellow) !important;
|
|
794565
|
+
}
|
|
794566
|
+
|
|
794567
|
+
.hud-result-card strong,
|
|
794568
|
+
.metric,
|
|
794569
|
+
.metric-value,
|
|
794570
|
+
.card-value {
|
|
794571
|
+
color: var(--nclp-yellow) !important;
|
|
794572
|
+
font-variant-numeric: tabular-nums !important;
|
|
794573
|
+
}
|
|
794574
|
+
|
|
794575
|
+
.live,
|
|
794576
|
+
.success,
|
|
794577
|
+
.ok { color: var(--nclp-ok) !important; }
|
|
794578
|
+
.error,
|
|
794579
|
+
.bad { color: var(--nclp-bad) !important; }
|
|
794580
|
+
|
|
794581
|
+
html { scrollbar-color: var(--nclp-line-strong) var(--nclp-bg-main); }
|
|
794582
|
+
*::-webkit-scrollbar { width: 6px; height: 6px; }
|
|
794583
|
+
*::-webkit-scrollbar-track { background: var(--nclp-bg-main); }
|
|
794584
|
+
*::-webkit-scrollbar-thumb {
|
|
794585
|
+
background: var(--nclp-line-strong);
|
|
794586
|
+
border: 0;
|
|
794587
|
+
border-radius: 3px;
|
|
794588
|
+
}
|
|
794589
|
+
*::-webkit-scrollbar-thumb:hover { background: var(--nclp-yellow); }
|
|
794590
|
+
|
|
794591
|
+
@media (prefers-reduced-motion: reduce) {
|
|
794592
|
+
*, *::before, *::after {
|
|
794593
|
+
animation-duration: 0.01ms !important;
|
|
794594
|
+
transition-duration: 0.01ms !important;
|
|
794595
|
+
}
|
|
794596
|
+
}
|
|
794215
794597
|
</style>
|
|
794216
794598
|
</head>
|
|
794217
794599
|
<body>
|
package/docs/DISCOVERY.json
CHANGED
|
@@ -7302,6 +7302,38 @@
|
|
|
7302
7302
|
}
|
|
7303
7303
|
]
|
|
7304
7304
|
},
|
|
7305
|
+
{
|
|
7306
|
+
"id": "command.indicator",
|
|
7307
|
+
"kind": "command",
|
|
7308
|
+
"title": "/indicator",
|
|
7309
|
+
"summary": "Report native system indicator readiness and daemon health",
|
|
7310
|
+
"aliases": [
|
|
7311
|
+
"/indicator",
|
|
7312
|
+
"indicator"
|
|
7313
|
+
],
|
|
7314
|
+
"keywords": [
|
|
7315
|
+
"command",
|
|
7316
|
+
"tui",
|
|
7317
|
+
"indicator"
|
|
7318
|
+
],
|
|
7319
|
+
"interfaces": [
|
|
7320
|
+
{
|
|
7321
|
+
"type": "tui",
|
|
7322
|
+
"target": "/indicator"
|
|
7323
|
+
},
|
|
7324
|
+
{
|
|
7325
|
+
"type": "rest",
|
|
7326
|
+
"target": "/v1/commands/indicator"
|
|
7327
|
+
}
|
|
7328
|
+
],
|
|
7329
|
+
"references": [
|
|
7330
|
+
{
|
|
7331
|
+
"type": "source",
|
|
7332
|
+
"target": "packages/cli/src/tui/command-registry.ts",
|
|
7333
|
+
"relation": "registry"
|
|
7334
|
+
}
|
|
7335
|
+
]
|
|
7336
|
+
},
|
|
7305
7337
|
{
|
|
7306
7338
|
"id": "command.ingest",
|
|
7307
7339
|
"kind": "command",
|
|
@@ -9799,6 +9831,38 @@
|
|
|
9799
9831
|
}
|
|
9800
9832
|
]
|
|
9801
9833
|
},
|
|
9834
|
+
{
|
|
9835
|
+
"id": "command.tray",
|
|
9836
|
+
"kind": "command",
|
|
9837
|
+
"title": "/tray",
|
|
9838
|
+
"summary": "Alias for /indicator status",
|
|
9839
|
+
"aliases": [
|
|
9840
|
+
"/tray",
|
|
9841
|
+
"tray"
|
|
9842
|
+
],
|
|
9843
|
+
"keywords": [
|
|
9844
|
+
"command",
|
|
9845
|
+
"tui",
|
|
9846
|
+
"tray"
|
|
9847
|
+
],
|
|
9848
|
+
"interfaces": [
|
|
9849
|
+
{
|
|
9850
|
+
"type": "tui",
|
|
9851
|
+
"target": "/tray"
|
|
9852
|
+
},
|
|
9853
|
+
{
|
|
9854
|
+
"type": "rest",
|
|
9855
|
+
"target": "/v1/commands/tray"
|
|
9856
|
+
}
|
|
9857
|
+
],
|
|
9858
|
+
"references": [
|
|
9859
|
+
{
|
|
9860
|
+
"type": "source",
|
|
9861
|
+
"target": "packages/cli/src/tui/command-registry.ts",
|
|
9862
|
+
"relation": "registry"
|
|
9863
|
+
}
|
|
9864
|
+
]
|
|
9865
|
+
},
|
|
9802
9866
|
{
|
|
9803
9867
|
"id": "command.tree",
|
|
9804
9868
|
"kind": "command",
|
package/docs/DISCOVERY.md
CHANGED
|
@@ -232,6 +232,7 @@ Daemon equivalents are `GET /v1/discovery?q=<intent>` and `GET /v1/discovery/{id
|
|
|
232
232
|
| `command.hf` | /hf | Cancel any pending HF token prompt and fall back immediately |
|
|
233
233
|
| `command.host` | /host | Set bind host:port (OMNIUS_HOST) and restart daemon |
|
|
234
234
|
| `command.image` | /image | List image models by category, quality, size, and hardware fit |
|
|
235
|
+
| `command.indicator` | /indicator | Report native system indicator readiness and daemon health |
|
|
235
236
|
| `command.ingest` | /ingest | Ingest an audio, PDF, or text file into memory |
|
|
236
237
|
| `command.init` | Initialize agent discovery guidance | Create or update managed Omnius discovery blocks in project guidance while preserving user content. |
|
|
237
238
|
| `command.insights` | /insights | Show historical session insights |
|
|
@@ -310,6 +311,7 @@ Daemon equivalents are `GET /v1/discovery?q=<intent>` and `GET /v1/discovery/{id
|
|
|
310
311
|
| `command.tools` | /tools | List agent-created custom tools |
|
|
311
312
|
| `command.toolsets` | /toolsets | Show or select tool exposure sets |
|
|
312
313
|
| `command.transcribe` | /transcribe | Alias for /ingest <file> |
|
|
314
|
+
| `command.tray` | /tray | Alias for /indicator status |
|
|
313
315
|
| `command.tree` | /tree | Show, hide, or inspect the action-tree presentation |
|
|
314
316
|
| `command.undo` | /undo | Undo the last queued or saved exchange when available |
|
|
315
317
|
| `command.update` | /update | Run full non-interactive update: package, deps, rebuild, Python, cloudflared |
|
|
@@ -14,6 +14,17 @@ omnius tray stop # stop only the indicator
|
|
|
14
14
|
omnius tray uninstall # stop it and remove login startup
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
From an active Omnius TUI, use the local slash command instead:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
/indicator # start and report readiness
|
|
21
|
+
/indicator status # inspect without starting
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
`/tray` is retained as an alias. Login registration and the full
|
|
25
|
+
start/stop/restart lifecycle remain available through the top-level
|
|
26
|
+
`omnius tray` command.
|
|
27
|
+
|
|
17
28
|
The indicator polls the daemon's loopback-only `GET /health` route. It does not
|
|
18
29
|
load a model or contact the configured inference backend. If the daemon uses a
|
|
19
30
|
non-default port, Omnius discovers `OMNIUS_HOST`/`OMNIUS_PORT` from the current
|
|
@@ -82,4 +93,3 @@ tail -f ~/.local/state/omnius/tray.err.log # Linux default
|
|
|
82
93
|
with `--endpoint`; avoid `0.0.0.0` in client URLs.
|
|
83
94
|
- **No graphical session:** run `omnius tray start` from the logged-in desktop
|
|
84
95
|
session so `DISPLAY`/`WAYLAND_DISPLAY` and the session D-Bus address exist.
|
|
85
|
-
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.598",
|
|
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.598",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"image-to-ascii"
|
|
12
12
|
],
|
package/package.json
CHANGED